Every wager tells a story.
Even more than that, every gambling line, every probability of an outcome, tells a story. The story of that event, that game, those teams and players, on that day, under those conditions.
The moneyline alone tells a simple story, the relative strength of each team combined with home field advantage. The total alone tells another simple story, the relative strength of the offenses and defenses, including the context of the umpires and the park and the weather.
Combine the moneyline and the total, and you have the story of how likely each team is to score.
Combine the moneylines and totals of many different games, and you get the story of how good each team’s offense is, and how good each team’s defense is conditional on the starting pitcher. Pay even closer attention, and you can learn the story of each park and its effects, or the umpires and which ones are more likely to have dinner reservations, or anything else impactful enough to matter that inquiring minds want to know.
That’s the story the gamblers and bookmakers are telling you. That doesn’t mean the story is true, of course. But it’s the best public source I know about. It’s far more true than the story of the talking heads on ESPN or the perspective of your local paper, or the projections of PECOTA or an ELO rating. There may be a tout or analyst out there shouting a more true story into the wind to no avail, but I haven’t found one yet, and any given candidate deserves extreme skepticism. So does this blog.
Interpreting the story of the odds is a project I’ve worked on over the years. At times, it’s been quite useful and profitable. When today’s story, especially an early version of today’s story, disagrees with the older stories, the truth is likely to lie somewhere in the middle. The more you are aware of the details and changes taking place, and have context, the better you can take advantage. At a minimum, this gives one perspective - you now understand the new story and how it values any changing elements.
Thus, I’ve built up a model that takes in the stories told by the games of the past, and translates it into a story of the games of the future. Thus, the name Aikido - I use the strength of my enemy against him.
The system is far from perfect, it is far from complete, and I am in no position in 2021 to give it the full attention it deserves. But to the extent that I can give it attention, that I find it invigorating and interesting to give it attention, I will do so here, ideally building up a track record, and giving all of you the opportunity to teach the system how to improve. If things go well enough that opportunity knocks, priorities and attention can shift.
On top of all that, I’m a long time New York Mets fan that’s super excited by our new ownership and this year’s prospects, and I hope to watch as many games as possible, including in person. I expect to be able to keep up with my team in detail, and perhaps the NL East, but giving the rest of the league its proper due will be difficult. So much time and so little to do, and all that.
How the System and Picks Work
The program determines the relative values of every offense in baseball, and the defensive value for every starting pitcher including the value of the defense and bullpen. It then uses those values, together with park factors, to predict odds for future games.
On days I have time to run the system, which I hope to be most days, this then creates a spreadsheet that shows all the values of the teams and pitchers, and the implied gambling odds for each game’s moneyline and total (which in turn imply a runline if you care about that, along with other similar derivatives like team totals and alternate lines, which I use simple formulas to approximate when I need them, or if desired I could have the program generate them via simulation the same way I get the moneyline and total).
Often the most annoying part is waiting for everyone involved to get their act together and decide who the starters will be.
The procedure is to then post the odds the program generates, and then use those odds together with our knowledge of baseball to decide what bets look promising, and make picks.
I will be betting against the odds at the time. By default, my target will be Pinnacle Sports, but if their line is unusually stingy and better odds are available for size, I will do a bit of quick virtual line shopping. I can take the runline if my math likes it substantially better than the moneyline, but I have to actually like the moneyline as well. Once I make a pick, I’m locked in and I can’t make another pick on the same line later, as we don’t know what impact I’ve had on the odds.
The goal will be to get the early line the day before the game, when one is available, and generally to lock things in as soon as possible. If you are a big enough player that you need higher limits than that, you might be better off waiting, but I’d highly encourage anyone betting small to bet early whenever possible. More on that later.
I ask for a small amount of trust, in that I’ll be locking in my odds when I put the game into my post draft as a pick and won’t recheck the current line if it moves in the next few minutes. If I haven’t gotten to a game yet and it moves, that’s my loss, but if I pick and it hasn’t posted yet cause I’m still writing up my choices or fixing formatting or what not, I’m not going to go back, it’s too annoying. You can verify that the odds I take were there at the time and that I’m playing fair by looking at the line histories (e.g. you could compare to what happens if I take the line purely at time of post, and verify that it’s a minimal average difference).
How do I choose what becomes a pick and what doesn’t?
My first rule is that I need to see an edge that looks bigger than the cost of betting, and I usually want double that. Thus, if the line was -105/-105, if I didn’t think I was at least -110 (yes, technically that’s slightly too small, we know this) then I wouldn’t even consider betting, and I’ll probably pass unless it’s -115.
My second rule is that I need increasing amounts of edge to bet repeatedly on the same thesis. I want to be ‘balanced’ in the sense of overs vs. unders, and betting for and against each team and the over versus under on each team’s games. Last season, at several points, I was worried that the system was betting too many games over or under and not enough the other way, so I biased my choices. Same thing with teams. If the system likes the Royals four days in a row, it’s likely there was an injury or trade or something I don’t know about, and that needs investigation. If you bet on the same team all the way through a series, that’s extra suspicious.
My third rule is that missing a bet is only a small mistake, so never place a bet opposite something you wouldn’t want to be caught underestimating. If there’s a pitcher you suspect is hurt, don’t bet against them at any price. If there’s some other big change or player availability issue or what not, and you know about it and aren’t comfortable putting a maximum value on it, stay away. If the program is trying to bet on the Royals for the sixth straight day and the edge it sees keeps getting bigger, maybe the fault lies in one’s own code, or the team gave up entirely. And so on. Use negative selection.
My fourth rule is to bet on the thing you believe in. If you like both a side and a total in the same game, ask why. If both are essentially the same opinion, e.g. ‘DeGrom is not being given enough credit,’ and one line has more edge than the other, there’s no need to bet on both unless you’re maximizing size. Choose the bigger edge.
My fifth rule is to hedge exposures you don’t want. Similarly, if you can hedge out something you’re worried about, that’s good too. Say the math says you like the over a lot in the Mets game, but it’s DeGrom at home in a day game, so that seems like a really bad thing to be betting against. If you can bet on the Mets at fair odds or better, you can do that too, and hedge your position on DeGrom, allowing you to safely correct the mispricing.
My sixth rule is implied by the other rules but worth stating explicitly. If there’s something I think is important that’s outside the model, and that the model doesn’t know about, I can use that to justify a wager, but that wager has to look good to the model anyway. In the above example, if I wanted to straight up bet on DeGrom, I could do that, but I’d need a slightly better than fair price.
My seventh rule is, life beckons. I’m not going to be obsessed with getting to the lines as soon as possible, or the risk of missing a bet or even a full day. If that happens, it happens. I am allowed to say ‘bet the opening Pinnacle line at some odds or better’ if the line isn’t up yet, and that counts as a pick if and only if the opener qualifies. If in the future things go well enough that I’m charging real money, that would be different.
My eighth rule is no bullshit. No taking advantage of errors and bad lines, or any loopholes or bonuses or anything like that. Play hard, but play fair.
You are encouraged to evaluate the results however you think is most appropriate. The best way to know if I’m doing something useful, if you have this kind of time and expertise, is to evaluate each line and each pick holistically, and then combine those decisions. Or to come up with your own metrics to judge me, which I then would be unable to game since I wouldn’t even know they existed.
All wagers are one unit, measured the way Pinnacle sets limits - if you’re a favorite you bet to win one unit, if you’re an underdog you risk one unit. No exceptions, either I will wager or I won’t. I will note when I have higher than normal confidence in something, but that’s not a primary thing to be tracking, especially short term.
The way I intend to judge myself is to use the holistic method when possible, but in terms of preregistering the experiment and what metrics I will be looking at, there will be two metrics: Line Movement and Units Won.
Line Movement means comparing the odds at which I wagered to the fair odds as measured by the closing Pinnacle Sports line. I’ll measure that by the American odds middle - e.g. if it’s +145/-155, I’ll use -150 even though that’s technically slightly wrong in order to save time. I’ll compare that to the price I got, and note the net profit or loss in cents, which I’ll then have the spreadsheet convert into a probability in order to avoid overemphasizing games with large favorites. I didn’t do that adjustment last year, but it seems worth doing and one only needs to set up the calculation once, so I’m committing to doing that.
If one is virtually betting at random, one should expect to lose exactly the vigorish, so a result of about -5 cents per game. I’ll consider anything above 0 a good result, anything substantially above 0 a very good result. Anything between about -3 and 0 means you’re doing something right, but you should be worried it isn’t enough, and anything less than that should have you very worried. If you’re at or below -5, at least halt and catch fire, and probably quit.
The biggest problem with this metric is that it is heavily influenced by timing (and by how much you wager, if you bet big enough and/or are respected enough to move the market). If you bet at the closing price without betting enough to change it, you always score negative. Whereas the earlier you bet, the better your line movement expectations. I do think it’s still important to note that you’re paying that price when you bet late, so the main tracker will count all bets, but it’s also worth tracking day-before line movement distinct from day-of movement results.
The second metric is cold hard cash. Money talks, bullshit walks. The longer term you track and the more picks you accumulate, the more you can look at results. Line movement is the primary metric for the first 300 or so picks. Between 300 and about 1000, both are important, and if either looks bad, that looks pretty bad. Above 1000 or so, I’d be willing to start trusting positive +/- results even if the line movement isn’t good. Still, it’s worth noting that last year’s results were highly suspiciously great on money won, which is an example of how easy it is for random chance to stay random for long periods of time. I overperformed by several percent at least via random chance, so it’s important not to then lose heart if the opposite happens, or get overexcited if the same thing happens again. Wait for it.
A third way to evaluate would be a briar score, log likelihood or similar for the odds given. This could be compared to the opening and closing lines. That’s definitely an interesting thing to track, and it’s a good sanity check on whether one is doing a thing that gives realistic odds versus something one might use to pick sides but which would never survive a Green Knight test where it had to offer its odds to others. The problem is that it is annoying to track, and it doesn’t tell us much about whether we have a profitable program. It’s suggestive, but it’s only suggestive.
A fourth way, of course, would be to ask if those who read this make money and are eager to pay for it. That is not currently the plan, but indeed do many things come to pass.
When Does It Work?
Aikido requires a baseline of odds before it can work. Thus, it takes between two and three weeks before the system can generate predictions at all, so it likely won’t start running until about April 21. Once it runs at all, it tends to work very well right off the bat, and keeps working well until the point where various teams start giving up on the season. Thus, the period of May, June and July is when Aikido is at its best. It mostly works in August, but you do need to watch out for teams that truly give up. You also have to be careful around the trade deadline, and do manual adjustments for key injuries and trades in general. In September, the system stops working without a lot of manual fixes, and you’d likely be better off freezing the odds at September 1 levels and then doing manual adjustments based on the changes since then.
Thus, expect the first ‘normal daily’ post some time in late April, and if I sustain enthusiasm, the final one to be in late August or early September.
My experience with the playoffs last year was sufficiently frustrating that I plan to skip them unless I’m actively wagering on baseball at that point, or others are actively wagering based on the information. System should work fine in the playoffs with adjustments, but caution would be advised.
I’m a Believer
What about you? What are you going to do with all this information?
The first thing you can do is enjoy it, and the second is provide feedback on my odds and my reasoning. If you think the odds are missing something, and/or I’m missing something, or I’m making a mistake, please do speak up. I’d love to see intelligent discussions in the comments. What is this change worth? How would you quantify that? How might the program learn about this type of thing, if we wanted to do that?
Also feel free to discuss pretty much anything baseball, or anything probability or modeling, any time.
Fantasy baseball is something people enjoy, and I’ve experimented with it in the past. I believe strongly that daily fantasy sports players know things that sports gamblers don’t know, and that if one could capture that information one could use it to be much better at gambling, but I haven’t had a chance to try seriously to capture that.
The obvious big thing you might do, of course, is bet real money.
I’m most definitely not telling you to do that. This is not investment advice! This is not gambling advice! I am definitely not a tout. Satisfaction is never guaranteed (although I do of course promise eternal salvation or triple your money back). This is me sharing the outputs of a model and how I react to them and think about baseball. If you choose to bet real money, please do so legally and responsibly, with money you can afford to lose, and please do shop around and get good lines.
If you do play the picks, I’d love to hear about it and what you learned along the way, but you don’t owe me anything regardless of results. If you’re feeling generous, I wouldn’t say no or anything, but that’s totally not what this is about.
If you want to help improve the program or its predictions, the first thing you can do is point out its mistakes and things it is missing, and suggest elements it could isolate and incorporate into the system. That’s great feedback, as would be suggestions on how to improve how I’m presenting things, or an analysis of the picks so far, including the ones from 2020.
The step beyond that would in theory be coding help. While I’m happy to be relatively open about what I’m doing in many ways, sharing the code base and the details of how the system works are still something I’m loathe to share, so I’d need to establish a level of trust, but I am open to proposals. It would be great to have this all be taken seriously the way it deserves.
If you’re excited enough about what Aikido is doing that you would like to make a deal to take it private, and benefit from its odds exclusively, I’m open to those discussions as well.
Indeed do many things come to pass. Many things in life are very different now than they were when I started this blog mid-2020, and doubtless they will change again. Let the adventure continue, and we’ll see what happens.