PDA

View Full Version : I’m Taking the Plunge


jhilden
01-23-2009, 09:08 AM
I read my share of books on handicapping horse races.

I used my share of handicapping software.

I took my share of computer programming classes in college.

I am bored with playing the horses and in a rut.

What to do? Write my own handicapping software.

Through the years I developed my own style when handicapping with paper and pencil. For the past few years, I have been dependant on other party’s software. Now I think I am ready to implement my own style and figures into a program.

I am looking into using visual basic as the platform for programming; I plan to use it for easy integration with ms office. I am familiar with the program it is also easy to set up the user interface.

I am currently mapping out the program. I know what output I want and how to do the calculations. The next step is to lay it all down on paper to establish a good flow diagram and exception handling to make programming easier.

Since I am starting out, I will depend on manual input for data with the goal being that I will be able to use DRF (Or other alts) for automatic input. Next step will be database creation and management.

I expect the whole project to take at least a year and hope to have a working model by 2010 with the auto and database feature to come later. My questions are, there seems to be a good number of PA members that created their own programs; what was the biggest challenge faced? How long did it take you to get a running program from scratch? What platform did you use to program?

jhilden
01-27-2009, 11:21 AM
Just an update since I began this project. I am halfway through a 1000+ page book on Visual Basic 2008. I was lucky in that I took a graduate course last spring and still have access to the universities software library; so I was able to get Visual Studio 2008 Professional for free. This will be the platform I will use. The next step in programming will be to work through another 1000+ page book to learn more about database programming.

Even though I have a long journey in just programming logic, on the side, I am still developing basic algorithms for what I want. I decided to start simple and make a MPH program, plain and simple. Then I was thinking of incorporating Scott’s “How will Your Horse run Today?” If accomplished, then I will add in my engineering knowledge and new principles.


-

Dave Schwartz
01-27-2009, 11:44 AM
Joe,

If you need some help with design, just give a call.

Dave

bobbyb
01-27-2009, 12:11 PM
Good Luck JH

Just wanted to add how much I enjoyed reading your handicapping style/research.

Very nice offer Dave,

bobby

Boats
01-27-2009, 05:44 PM
Good choice of development software. A couple of things. I don't think the program will ever be finished. You keep getting new ideas that you can incorporate in the software. I started my program in 1979 on the Commador 64 and have been adding (and subtracting) to it ever since. Another thing, forget the manual input. A couple of commands will enable you to read the Bris single file drf which gives you around 1400 fields to play with.
Good luck.

Greyfox
01-27-2009, 07:16 PM
What to do? Write my own handicapping software.



:ThmbUp: :ThmbUp: A very smart move. Rome wasn't built in a day, but once built it stands the test of time with only minor modifications. I strongly encourage you to follow the path you're on.

DanG
01-27-2009, 07:34 PM
Best of luck Joe;

You have the perfect background, intellect, experience and temperament to make this work. :ThmbUp: :ThmbUp:

jhilden
01-27-2009, 09:12 PM
Thanks for the positve comments gents,

Boat, you are right, too much up front will make a program into vapor ware.

But, isn't a program that works ever finished?:)

Trust me, the ideas that I want do in the program have to pass the paper stage first. In my experience, this is the hardest part. Coding although, can get complex, but I find developing the story boards and flow charts to the biggest challenge.

Once I learn something new in the compiler tutorials, I get handicapping brainstorms - and they are flowing.

As of tonight I changed the order of projects - which I'm sure will change a million times.

My convergence will be in Form and meathods.

2low
01-28-2009, 02:05 PM
Good luck, jhilden. I'm following a similar path myself, so I am very interested in following your progress.

I'm still in spreadsheets as I learn other ways of handling the formulas and expanding volumes of data. I think my computer may explode if I don't figure this out quick:D

BillW
01-28-2009, 02:11 PM
Trust me, the ideas that I want do in the program have to pass the paper stage first. In my experience, this is the hardest part. Coding although, can get complex, but I find developing the story boards and flow charts to the biggest challenge.



Don't be afraid to use prototyping to refine your design. Getting too anal about getting a complete design down on paper first can lead to brain lock :)

Red Knave
01-28-2009, 02:40 PM
Don't be afraid to use prototyping to refine your design. Getting too anal about getting a complete design down on paper first can lead to brain lock :)
You speak as if you might know something about this. :)



(P.S. Joe, he does)

jhilden
01-28-2009, 09:35 PM
Point taken and processed Thank you for the tip

jhilden
02-03-2009, 01:37 PM
I took BillW’s advice and decided to do some prototyping for the MPH program. Since data input and output will strictly adhere to the book, setting up the algorithms were a snap and prototyping helped in supplementing the program’s logic. In fact, I need to dust of my copy of MPH to confirm the exact numbers to use; especially for the different distance numerators – the algorithms are there.

The program, as expected, is simple and relies on manual input but I’m trying to set up the user interface to make this painless as possible. Also, the program only evaluates one horse, so it is only efficient for comparing other horses by writing down the velocity numbers on a sheet of paper! :bang: I’m currently learning how to set up an object that can perform multiple calculations throughout a project and/or multiple forms. This is the next step.

When I can easily set the program up to record and display data for multiple horses, I will venture into displaying this in a nice clean easy to read PP format on a separate form with the intent to print out a hard copy or a PDF file (I do have acrobat pro 9). Once this is accomplished, I may add a few of my own homegrown figure calculations. If I can get this to work as wanted, then auto gen should be next with some database capabilities. This is my current dream scheme, but a simple MPH program should be completed (The manual input) in a few months.

gm10
02-03-2009, 04:41 PM
I took BillW’s advice and decided to do some prototyping for the MPH program. Since data input and output will strictly adhere to the book, setting up the algorithms were a snap and prototyping helped in supplementing the program’s logic. In fact, I need to dust of my copy of MPH to confirm the exact numbers to use; especially for the different distance numerators – the algorithms are there.

The program, as expected, is simple and relies on manual input but I’m trying to set up the user interface to make this painless as possible. Also, the program only evaluates one horse, so it is only efficient for comparing other horses by writing down the velocity numbers on a sheet of paper! :bang: I’m currently learning how to set up an object that can perform multiple calculations throughout a project and/or multiple forms. This is the next step.

When I can easily set the program up to record and display data for multiple horses, I will venture into displaying this in a nice clean easy to read PP format on a separate form with the intent to print out a hard copy or a PDF file (I do have acrobat pro 9). Once this is accomplished, I may add a few of my own homegrown figure calculations. If I can get this to work as wanted, then auto gen should be next with some database capabilities. This is my current dream scheme, but a simple MPH program should be completed (The manual input) in a few months.

Hello. I've embarked on a similar journey about 5 years ago. By now, I know that it is as much about the journey as it is about the destination. It has taken over my life, I think about little else (except family and friends). My job is done on auto-pilot. On Fridays I write a detailed schedule of what I'll be working on in the weekend. Once you've created yourself some tools, you will think of more and more things you can use them for. It is heaven.

Now, more technically.
The object you are looking for ... it already exists, it's called the database. It can do pretty much everything you want it to do, including some fairly complex calculations. I used to write many complicated objects to handle the calculations but this is just not efficient. There is no point in bringing over tons of records from the db and return them with some calculated updated values, when the database has the functionality to do the same quickly and reliably already built in.

For displaying data, I would recommend the datagridview class. It's powerful and will handle most operations that aren't too specific.

Enjoy.

jhilden
02-03-2009, 09:40 PM
Well, since one of my main goals is to make a computer program, I'll stick to the direction I am heading. I am no stranger to databases, I have every race for evey NA track going back 7.5 years. The end goal will be to implement this data into my program for the engineering analysis I would like to attempt. I agree with you that a good database and user can accomplish some amazing tasks minus an interface program. I think I could do 90% of what I need to do using databases exclusively. But as I said, this is a hobby in programming. I got burned out playing the horses but still love doing the research.

In one of the elective classes that I took in college was on artificial intellegence. The text book for the class was amazing and really hit on neural networks. I've read here on PA from a few members that this really does not work for horseracing. I think using an opponent meathod might bring in some insight -not a black box.

Like many handicappers, I am concerned with how will the horse run today. The game will not be fun if the best horse on paper won every race. This is a very tricky approach to the game and may include paddock visits for some. But I would like to take that past performance and see how it will affect the horse in todays race matchup. Form, Class, speed and pace figures, pedigree, jockey, and trainer (To name a few), need to be evaluated in an abstract approach.

Do you converge this data with a liitle chaos on the side? Do you evaluate each factor and base your decision on what might pop out? A new sophisticated approach to predicitng how a horse will run is the next million dollar idea.

What about a program that excludes wieghting in factors for evaluation but converge this data into an artificial better, one with no feelings and a cold heart? Then apply some chaos theroy to mix things up and see how the results come out.

If you all do not know by now, I have a full time job, wife, three kids, and a dog. Luckily I suffer from insomnia and sleep on average 3 hours a night and one hour at work. So programming time happens when I am in that trance like being. :sleeping:

garyscpa
02-03-2009, 10:03 PM
If you all do not know by now, I have a full time job, wife, three kids, and a dog. Luckily I suffer from insomnia and sleep on average 3 hours a night and one hour at work. So programming time happens when I am in that trance like being. :sleeping:

Tylenol PM works wonders.

raybo
02-04-2009, 06:35 AM
Hello. I've embarked on a similar journey about 5 years ago. By now, I know that it is as much about the journey as it is about the destination. It has taken over my life, I think about little else (except family and friends). My job is done on auto-pilot. On Fridays I write a detailed schedule of what I'll be working on in the weekend. Once you've created yourself some tools, you will think of more and more things you can use them for. It is heaven.

Now, more technically.
The object you are looking for ... it already exists, it's called the database. It can do pretty much everything you want it to do, including some fairly complex calculations. I used to write many complicated objects to handle the calculations but this is just not efficient. There is no point in bringing over tons of records from the db and return them with some calculated updated values, when the database has the functionality to do the same quickly and reliably already built in.

For displaying data, I would recommend the datagridview class. It's powerful and will handle most operations that aren't too specific.

Enjoy.

I was going to say, almost everything that has been said by jhilden can be automated in Excel, which is what I do. The only thing I'm missing, regarding having a full blown handicapping/research program, is a database. Even this can be done and automated in Excel but on a limited amount of data through the use of VBA macros and advanced filtering, available in Excel. If I coupled all this and used Visual Basic as the user interface, everything could be done in the background and the user could select what reports he wants to see/print.

In summary, the database, is the sticking point.

gm10
02-04-2009, 06:38 AM
Well, since one of my main goals is to make a computer program, I'll stick to the direction I am heading. I am no stranger to databases, I have every race for evey NA track going back 7.5 years. The end goal will be to implement this data into my program for the engineering analysis I would like to attempt. I agree with you that a good database and user can accomplish some amazing tasks minus an interface program. I think I could do 90% of what I need to do using databases exclusively. But as I said, this is a hobby in programming. I got burned out playing the horses but still love doing the research.

Databases are of course good at storing at data, but most of them also have their own programming model. PL/SQL (Oracle) for example is very powerful. Anyway, I don't want to convince you of my beliefs, just wanted to share my experience with you.


In one of the elective classes that I took in college was on artificial intellegence. The text book for the class was amazing and really hit on neural networks. I've read here on PA from a few members that this really does not work for horseracing. I think using an opponent meathod might bring in some insight -not a black box.


I only looked into neural networks very briefly, and I'm sure they could work for horse racing, but I didn't go down that path. There is one author who wrote a chapter on neural networks for horse racing (Peter May) which was quite interesting.


Like many handicappers, I am concerned with how will the horse run today. The game will not be fun if the best horse on paper won every race. This is a very tricky approach to the game and may include paddock visits for some. But I would like to take that past performance and see how it will affect the horse in todays race matchup. Form, Class, speed and pace figures, pedigree, jockey, and trainer (To name a few), need to be evaluated in an abstract approach.

Do you converge this data with a liitle chaos on the side? Do you evaluate each factor and base your decision on what might pop out? A new sophisticated approach to predicitng how a horse will run is the next million dollar idea.

Not sure if I understand your question, but I use the multinomial logit model which has an error term built into it. There are about 100 factors going into the final probability of winning, but there are so many angles that I want to investigate.


What about a program that excludes wieghting in factors for evaluation but converge this data into an artificial better, one with no feelings and a cold heart? Then apply some chaos theroy to mix things up and see how the results come out.


The AI approach is definitely interesting, but it comes with its own problems. You will almost certainly run into the problem where your first models work brilliantly for the data they are based on, but not for the out-so-sample data. This is always an issue with non-parametrical methods, the resulting model may fit the sample data very well, but not necessarily the full population that the data was sampled from.



If you all do not know by now, I have a full time job, wife, three kids, and a dog. Luckily I suffer from insomnia and sleep on average 3 hours a night and one hour at work. So programming time happens when I am in that trance like being. :sleeping:

I think you will have four kids once you get this up and running :)

jhilden
02-04-2009, 07:41 AM
Thank you for the insight gm10, you’re right about the similar paths :) . Raybo, I agree with you 100%, Excel can do what I’m currently doing and proposed. If I was still playing right now, I would be putting my effort into Excel and Access and learn VBA for some of the work.

Time for another story. I was interested in computers and to an extent, programming since I had a Commodore Vic 20. Later in life, I really enjoyed the programming courses in college and was told I have a knack for it. The one reason why I never persued programming as a hobby was that I did not have an idea for a program. Now that I have an idea of what I want, I chose to pursue the programming road as my pastime instead of playing the horses.

I will go back to the horses at some time, just got burned out. I love the studying and handicapping, just got in a rut while actually playing. Who knows, maybe I can sell the program later in life. It will cost $100.00 with a $99.99 discount for PA members :D

jhilden
02-04-2009, 08:19 AM
Tylenol PM works wonders.

I only wish. The stuff will put me right to sleep but then, I will be up ready to go in three hours. Same thing with ambien, except I will sleepwalk for an hour:lol:

raybo
02-04-2009, 08:35 AM
Thank you for the insight gm10, you’re right about the similar paths :) . Raybo, I agree with you 100%, Excel can do what I’m currently doing and proposed. If I was still playing right now, I would be putting my effort into Excel and Access and learn VBA for some of the work.

Time for another story. I was interested in computers and to an extent, programming since I had a Commodore Vic 20. Later in life, I really enjoyed the programming courses in college and was told I have a knack for it. The one reason why I never persued programming as a hobby was that I did not have an idea for a program. Now that I have an idea of what I want, I chose to pursue the programming road as my pastime instead of playing the horses.

I will go back to the horses at some time, just got burned out. I love the studying and handicapping, just got in a rut while actually playing. Who knows, maybe I can sell the program later in life. It will cost $100.00 with a $99.99 discount for PA members :D

I have a similar story. I was in the Air Force in the early to late '80s and worked on airborne navigational/weapons control computers. Went through many computer classes over that 8 year period: computer logic, flow control, punched tape programming, etc.. Bought a TI99-4A computer in the early '80s and did a little "Basic" programming. My handicapping partner bought a Tandy "ColorTrack2"(?) computer shortly after that, which used audio casettes for recording the "Basic" code. He also bought someone's handicapping program, on cassette. It wasn't what we wanted but we printed out the code and I wrote my own program based on the code we'd gotten from the cassette. My Brother-in-law was supposed to put it in "machine language" for me but never got around to it. Shortly after that I started using Excel and downloading .csv files from ITS.

I read a huge book on "Visual Basic 6" and thought I understood it well enough to write my own program. Man, was I wrong! VBA inside Excel is not too tough to write so that's what I have done for the past 15 or so years.

Tried creating a database, absolutely mind boggling. Never got it off the ground.

I'm toying around, and have been for quite sometime, with creating a Visual Basic "front end" for my Excel program, which is fully automated except for the .csv to .txt portion, still using Infotran for that. But, after the DOS portion, everything else is just clicks. Trying to write a windows based program that does what Infotran does which will automate that portion, too.

gm10
02-04-2009, 11:34 AM
I have a similar story. I was in the Air Force in the early to late '80s and worked on airborne navigational/weapons control computers. Went through many computer classes over that 8 year period: computer logic, flow control, punched tape programming, etc.. Bought a TI99-4A computer in the early '80s and did a little "Basic" programming. My handicapping partner bought a Tandy "ColorTrack2"(?) computer shortly after that, which used audio casettes for recording the "Basic" code. He also bought someone's handicapping program, on cassette. It wasn't what we wanted but we printed out the code and I wrote my own program based on the code we'd gotten from the cassette. My Brother-in-law was supposed to put it in "machine language" for me but never got around to it. Shortly after that I started using Excel and downloading .csv files from ITS.

I read a huge book on "Visual Basic 6" and thought I understood it well enough to write my own program. Man, was I wrong! VBA inside Excel is not too tough to write so that's what I have done for the past 15 or so years.

Tried creating a database, absolutely mind boggling. Never got it off the ground.

I'm toying around, and have been for quite sometime, with creating a Visual Basic "front end" for my Excel program, which is fully automated except for the .csv to .txt portion, still using Infotran for that. But, after the DOS portion, everything else is just clicks. Trying to write a windows based program that does what Infotran does which will automate that portion, too.

Can I ask what ITS stands for?

plainolebill
02-04-2009, 02:45 PM
ITS was a data provider, more or less the predecessor to Post Time Solutions.

raybo
02-04-2009, 03:42 PM
Can I ask what ITS stands for?

International Thoroughbred Superhighway, I think. Might have been "Internet" instead of "International".

gm10
02-05-2009, 09:54 AM
thx

keith70
02-09-2009, 05:39 PM
jhilden, I have been thinking about doing the same thing as you are. If your interested, we can share ideas, concepts, programming, etc. Let me know.

headhawg
02-10-2009, 04:52 PM
Count me in as one who is also trying to develop 'capping software, an on-again/off-again project. I could never get a handle on OOP so I struggled with Visual Basic myself. I think the trick is to find a programming language that suits one's coding style (I am more of an old school procedural guy), is powerful enough to include the commands needed without too many separate Windows API calls (or makes it easy to do so), compiles into efficient code for speed, and has built-in database capabilities.

Oh yes, and needs to work with Windows Vista/Win7 (if that's your OS or if you are planning to sell it). :)

I currently am using Liberty Basic. I like it, and there's a reasonable amount of support, but I fear that the complete 'capping program that I would like to develop will be stymied down-the-road due to its limitations. So I did some more investigating and found a nice language called Emergence Basic. Very powerful, very efficient, and currently very cheap. There's a recession sale by the developer and it's only $23.99.

The downside is that there's not a ton of support, and the syntax is BASIC-like, but definitely not BASIC. A way bigger learning curve for me not really being a coder.

Anyway, good luck to all with your projects.

keith70
02-10-2009, 05:10 PM
Some more thoughts, I am more interested in working as a team. Usually two heads are better than one. I want to do this project as a challenge more than anything. I have used a lot of software out there and all of them have advantages and disadvantages. Again if your interested, let me know as I am looking for someone to team up with. The development platform that I use is VB .net 2008 Pro, and prefer to use mysql for the database.

Force of One
02-20-2009, 12:46 AM
Jhilden,

Just wanted to wish you luck on your project. I, too, am looking to do something similar, although I have to say I am jealous of your background...it sounds like you are well equipped and on the right path. Best of luck!

As for my question, does anybody have any advice/guidance on working with comma delimited files? At the risk of seeming computer ignorant, my understanding is that these types of files (in this case pp's or results charts, like Formulater for ex.) can be imported into Excel spreadsheets. My thinking is that this would be an immense time saver compared to the manual entry of this info into my spreadsheet which calculate my ratings (pace, power figures, etc.)

So my questions:
1) am i on the right path here?
2) where do I learn more about doing this? (I have an excel how to book which only glosses over it and I have found Excel help to be of no benefit)

Thanks for any advice!

raybo
02-20-2009, 06:39 AM
Jhilden,

Just wanted to wish you luck on your project. I, too, am looking to do something similar, although I have to say I am jealous of your background...it sounds like you are well equipped and on the right path. Best of luck!

As for my question, does anybody have any advice/guidance on working with comma delimited files? At the risk of seeming computer ignorant, my understanding is that these types of files (in this case pp's or results charts, like Formulater for ex.) can be imported into Excel spreadsheets. My thinking is that this would be an immense time saver compared to the manual entry of this info into my spreadsheet which calculate my ratings (pace, power figures, etc.)

So my questions:
1) am i on the right path here?
2) where do I learn more about doing this? (I have an excel how to book which only glosses over it and I have found Excel help to be of no benefit)

Thanks for any advice!

If you have Excel 2007 you can import .csv files directly. If not, you'll have to use a program like Infotran to do the conversion from comma-delimited to text, then import the text file into Excel. Infotran is available free on the Brisnet.com website.

PM me for more info.

keith70
02-20-2009, 12:48 PM
Force of One, yes your on the right path. Your source of information and learning is right under the magic button... www.google.com (http://www.google.com)

Raybo is a REALLY good source for importing data into Excel.

My personal preference is using mysql database for all my data. That way I can develop use at home and even if I ever wanted to access the database online, I easily can.

Be sure to spend a lot of up front time on developing your data structures/tables. I think I have re-written my about 5 times now, but I am finally happy with what I got. Now onto developing the GUI for looking at the data.