Obviously these two rules are very strongly correlated, because the course characteristics are static, e.g. Bangor is always a left-handed, sharp, flat course with a long run-in. So already it feels a bit suspicious that both rules have been included here.
Also, there’s some conflict between the selected options. “Galloping” courses have been excluded from the course characteristics, but courses known to have a galloping kind of profile have then been included in the course list, so this is now looking fishier than a dolphin’s dump (sorry 😂)! | | Deciding which of these to focus on, if any, is a good example of why I start as “zoomed-out” as possible and then get more granular. It’s quite common to see different strategies performing differently at different courses, and there certainly are “course specialist” strategies, but often the “true” factor will actually be some shared attribute that we don't know about yet.
There are 88 courses in our database, but only 9 categories of course characteristics. It’s a lot easier to spot patterns with fewer categories (and a bigger sample size in each category), so we got rid of the course filter and broke the results down by course characteristics. | | There’s some evidence of a pattern here, although seemingly not the pattern the original author of this strategy saw (they filtered out “galloping” and “galloping/undulating” courses)!
It would be nice to have a more even distribution of trades in each category, but beggars can’t be choosers.
One thing that stands out is that there are a couple of categories that seem more statistically significant (based on the Archie score), but the category with the biggest sample size (”galloping”) seems to be the least significant.
Back To The Drawing Board
By this point, we had managed to cast doubt over pretty much every single one of the original rules in the strategy, which made it easier in a way, as we decided to now focus more on creating a new version almost from scratch, but drawing on what we’d learned so far.
We took as wide a view as we could and gradually drilled down, repeating the process of trying to isolate different rules, check the group breakdowns and find meaningful correlations. Again, describing all of this in full would take forever, but what follows are the highlights.
Handicaps
There was a decisive split between handicaps and non-handicaps, in favour of handicaps: | | Location, Location, Location
I took a look at the split of GB vs Irish races too. I think the reason I did this was because all of my trading has been suffering recently on Irish races!
I put a post on our forum to ask if anyone else was seeing the same thing. John, one of our super users, said his DOB and TROB strategies had been doing pretty well in Ireland, so evidently the country thing is just me. Sadly, I had to suspend his membership until he repaid the funds he has evidently won from me in recent months.
Just kidding, don’t get too excited, trolls 😘
Anyway, although there’s clearly more profit on the GB races, there’s also a much bigger sample size. If anything, the strike rate in Ireland is actually slightly higher, so they’re staying in! | | Race Type
One of the interesting things to test was race type. The original strategy excluded the all-weather and hurdles.
Excluding hurdles looked like a good shout, as it was the only race type that showed a heavy loss. Although the low Archie score suggests there might be something else going on there: | | Eliminating A/W seemed questionable as well. Despite what’s shown in the screenshot above, I think when I first started looking at it, it did actually also show a loss, but the Archie score was very low.
This meant some A/W races were profitable and some weren’t, and there was no statistical significance to excluding A/W, so back in it went.
Blown Off CourseWe were getting a bit more fine-grained now, so we added the course filter back in to see if we could spot any trends. Here’s the breakdown, sorted in order of worst loss first: | | Imagine the temptation to just filter all the “losing” courses out and instantly improve the overall profit by about 500 points!
But why? What’s the connection? I haven’t found it yet. I will probably do some analysis of just those worst-performing courses at some point to see if there really are any patterns, but for now they stay in. It looks like a couple of them are verging on being statistically significant, but if we restrict the results to this year only, we get a completely different set of “worst” courses, so this just feels random. Other AdditionsWe added distance, jockey allowance and classifications filters (excluding graded races) based on a bit more research of the same kind that I’ve already gone into extensively here. We also widened the entry price criteria a little.
The Bottom Line | | We’ve managed to significantly improve the headline profit through all this work. Note also the significant increase in the Archie score, suggesting we’re using far more statistically relevant rules now.
We’ve also increased the number of trades significantly, which won’t be for everyone, but we’ve achieved a 7.12 ratio of new profit to old profit, off the back of a 2.68 ratio of new bets to old bets, which we're happy with. The margin is still very tight though with a low ROI and we're actually averaging higher odds, leading to a higher breakeven strike rate.
The month-on-month is looking more stable now though, with the exception of last September, which I also plan on isolating to see if we can see what happened there at some point: | | Conclusions
As you can see, automated trading isn’t as simple as “plug it in and profit”. You still need to know what you want your bot to do. And you need to be able to look at things from different angles and question your decisions and beliefs.
The downside of all this tweaking is that we now need to chill a bit, take a step back and observe it again before scaling it up.
But the great thing is, now we’ve done the upfront work, the qualifiers will be automatically generated every day and fed into our bot software for it to do its thing without us having to sit here placing the bets. So we can start looking for the next opportunity!
With automated trading, the emphasis shifts from execution of the bets to upfront programming and then reviewing it regularly. I check weekly to make sure the strategy still looks sound and that what we’re seeing in the backtest still matches reality.
To be honest, I’m still a bit lukewarm to this strategy. The ROI is pretty low due to the number of bets placed, but it’s been a good exercise and it's currently performing well so let’s see what happens!
FAQsGive us the strategy! Firstly, I don’t think we’ve held much back 😂 You could probably re-read our posts and piece it together pretty well, but as far as sending it out as a pre-packaged betting strategy, we’re not going to do that. We get endless stick from tro "concerned parties" who like to strawman us as tipsters, which we’re not. Secondly, the point of this project was to go through the entire process of building a trading bot, warts and all. If you’ve taken in the information presented, you should be well on your way to knowing how to come up with your own trading strategies and dealing with the ups and downs that come up along the way. That’s going to be way more valuable than being spoon-fed.
Hope you enjoyed reading this. Until next time!
Adam | |
|
|