Saturday, June 28, 2025

Launching Selection Service

 I have "gone live" picking a few tracks a day for a small fee.

$6 gets you 3 tracks of top selections

Some days there are free picks. Sometimes I'll post my ideas there, as this venue seems to be dying.

Try patreon/olrailbird


Thursday, May 15, 2025

Preakness this Saturday

I neglected to post my pick for the Derby here, but Journalism ran 2nd. He's my pick for the Preakness as well. Pretty standard pick, I know. The horse just figures but you'll be lucky for 3/5 odds.

I like American Promise at 15-1 as well. High odds are intoxicating but they are high for a reason.

The tradeoff between odds and payoff is where you make your money in this game. You need to consistently bet horses with a better chance to win than their odds indicate. It's hard. Real hard.

The average takeout is about 20% on straight bets (win, place and show.) Figure people lose on average at least 20% over time, probably more if they play exotics. It's a tough game but it's beautiful.

If you use Twinspires.com you may be familiar with the Profit Line where you can sort by their idea of fair odds. The profit line will turn green when the actual odds are higher than the profit line fair odds.

That really has to be useful.

Caveats may be avoiding maiden races and races with foreign entrants.

Anyway. I am still here. Still thinking.

Box Journalism with American Promise then toss a few underneath for fun.

See you later.



Saturday, April 19, 2025

Olrailbird Update

The algorithm seems to have stabilized. I have only occasionally fixed (and introduced) bugs.

I don't think my opinion of various tracks is 100% correct, but most of the ones I use frequently are pretty close. I wonder a bit if OP is too high and CNL a bit too low. American Promise?

Oaklawn Park is my home track. I live about a mile away. You would think that would make it easy to tell its class and speed, but really none of this handicapping stuff is easy.

Whatever my opinion of any track, if all the horses in a race ran at that track, then only their times and track conditions can tell them apart. Speed ratings vary by track the way I do them. Different tracks have different adjustments based on my opinion. Horses who run at Tampa Bay Downs are not generally of the same class as here at Oaklawn. Some tracks are just faster than others. I have a general variant for each track in turf and dirt.

I mean, I don't think you'd expect a Derby winner to come out of Tampa Bay, but an extraordinary horse might score a high enough speed rating there to appear competitive. And yet, it's Tampa Bay, right?

So, my track variants are mostly adjusted from default by watching race outcomes and changing variants to try to match outcomes. Of course, I look at Beyer and BRIS ratings as well as any other information I can find. However, mostly it's me trying to match ratings to performance. It's a slow process.

On Friday the 18th of April 2025, I felt pretty confident in the software but suffered 10 straight losers. Absolutely shut out of winners. In fact, few of the races resembled anything like my predictions.

As bad as Friday was, Saturday was great. Had six of twelve winners. As usual, hitting exotics proved difficult. Oaklawn seems to always put some strange horse between my first and second choices, taking my exotic money.

Cold and hot. Hot and cold. The idea is to be HOT all the time, eh? I'm working on it.

Wednesday, March 19, 2025

Keeping Track

You really need to start keeping track of your bets. At least some of your bets. Maybe.

Honestly, if you just knew who took your loosh, you'd be better off.

Let's say you've been losing. It happens.

When it starts to feel like everything is going around and around and around until you just can't quite remember why those fellas are calling every day.

Actually, everything is just fine.

It's marvelous.

Remember to vote Purple.

Wednesday, February 26, 2025

Faster and Better!

The algorithm has evolved significantly over the last month. There were many bugfixes and a significant amount of balancing the mixture of data that leads to the selections.

In just the last day or so, I found a python library that allows one program to speak to another using TCP ports. After invoking the base functionality, the algorithm now figures a race card in about 2 seconds versus about 3 minutes prior to this change.

Basically, my algorithm must call my speed rating program four times for each horse. Each call takes about half a second as there is a lot of overhead for one process to call another process. I thought I would have to merge the two programs for this kind of speed, but it turns out I just needed a library called zmq.

zmq enables simple communication across python scripts through various methods. I chose to use the TPC port connection method. Adding a small function to the speed rating program for a server and a similar function to the algorithm has enabled very fast handicapping speed.

Honestly, I'm just getting used to having new output faster than I can ask for it. This will change everything as far as tuning up the track variants and testing different alchemic combinations of handicapping factors.

zmq is changing my way of thinking about programming. It opens up a world of possibilities. You can use zmq to implement communication between different servers running at the same time.

zmq is free, fast, small, stable and cross-platform. https://zeromq.org/

Friday, January 31, 2025

Algorithm update

 As I may have mentioned, I am presently using a computer algorithm of my own design to handicap horses. I am using data from Bloodstock Research and writing the software in Python using the Pandas data library.

This started out as a test but has taken on a life of its own as the program has evolved. I have spent a lot of time debugging it because I never really took the time to design it. I just kept chiseling away until now I think it is very close to being what I never envisioned.

It seems like I'm having a bad year, but it must all be in the exotics as flat bets to win are breaking even.

The truth is there were a lot of bugs in the code when Oaklawn started up back in December. I've been trouble-shooting more than adding things. There are so many different things that have to be accounted for just to keep the program from crashing due to unforeseen circumstances. Jockeys fall off. Horses ran at a foreign track. And so many tracks and distances to attempt to account for. It's really pretty wild.

I think it's working per design, as far as doing what it was written to do. It uses another program that needs a little tweaking, but that is another story.

It's a pretty solid automatic handicapper right now, but I am bothered by workouts. The algorithm looks at each horse's last two workouts and uses the higher one as it's workout score. If they are both slow workouts, that fairly dooms a horse's chance of topping the list.

Not every workout is meant to be speedy. Some are just routine maintenance. The algorithm doesn't know that. It just takes the faster one. I'm starting to think just having a workout is worth more than a very low speed rating score.

I think I'll have to establish a higher minimum rating for workouts, just to boost horses like this. BRIS provides the average race speed rating, and it may be useful to generate a replacement value. Workouts are usually slower than a horse runs, so perhaps two-thirds of the race rating?

Also, I'm getting tired of calling it "The Algorithm."


Friday, January 17, 2025

Programming the Ponies

I have been using computers to handicap horses for many years. My first computer was an Atari 400. It had 16K of RAM, a crude BASIC language and cassette tape storage.

Hey, that was a big step up from calculators. I had borrowed a friend's HP41C to write some reverse Polish handicappers.

What I'm saying is, I've been around a while - maybe too long.

Nowadays the hype is all about artificial intelligence (AI,) but I would rather stick to human intelligence as there's little enough of that to go around, anyway.

Although I am no programmer, I am pretty good at hacking small ideas into snippets of code.

The trouble I'm lazy. I don't want to learn the proper way to code or how to test or document. I like learning the hard way. I just want the program to do what I need done right now.

Such little snippets tend to grow over time. My latest "program" is a Python algorithm written to learn the pandas library by combining various data about horses into a selection method that sorts the race by most likely to win. It ranks the horses and outputs a semi-pretty text table from top to bottom.

That code started with, "Hey, I wonder how to use the pandas library?"

It's a weird library. I've been trying to wrap my head around it for two years. It is slowly sinking in how to use it and abuse it. You could say I monkey around with it until it works.

I have found that if you just keep trying, you'll eventually either figure it out or not. Persistence.

Anyway, I am kind of in-between writing programs and just cleaning up code, debugging a little and updating some offsets for different racetracks.

The Algorithm is now being used to make selections at Oaklawn Park in beautiful Hot Springs Arkansas. You can follow my picks on Patreon and on my website. I may even start adding some video to YouTube.

patreon.com/olrailbird

olrailbird.com 

youtube.com/olrailbird