Published on Oct. 19, 2020, 5:58 p.m. - Sports: Horse Racing
How profitable is it to bet against favourites in horse races? This strategy is about laying favourites in horse racing markets on a betting exchange.
You might already have seen our strategy where we analysed how profitable it is to back the favourite in horse racing. Since the backtest was not very successful, we will now investigate the exact opposite approach which is betting against (laying) the favourite in horse races.
With favourite I refer to the horse with the highest probability of winning according to the starting price odds. This means that the favourite is the runner with the lowest odds. In the backtest it is rather simple to select the favourite in a horse race: A subquery is used to select the runner with the lowest starting price. However in reality it is way more complex: You do not know the favourite before the starting price is calculated but then it is too late to place a starting price bet. For a first analysis this look-ahead bias is neglected.
The strategy of laying favourites is tested against Betfair Starting Price (BSP). Data is taken from promo.betfair.com and imported into a SQL database. I will start with a similar SQL query as in the Back the Favourite strategy: A subquery is used to select the horse with lowest BSP in a horse racing market. Instead of backing the favourite, a lay bet is placed on the favourite.
SELECT *, CASE WHEN win_lose THEN -1 ELSE 1/(round(bsp, 2) - 1.0) END as profit FROM data WHERE bsp = (SELECT min(bsp) FROM data as d WHERE d.event_id=data.event_id)
Please note that the result here is not exactly the opposite of the "Back the Favourite Strategy" as different staking is used: If the favourite wins, the laying approach would lose one unit whilst the backing approach would have a profit of starting price minus one times the stake.
To obtain a more realistic backtest result the SQL query is adjusted for an exchange commission of 2%:
SELECT *, CASE WHEN win_lose THEN -1 ELSE 1/(round(bsp, 2) - 1.0)*(1-0.02) END as profit FROM data WHERE bsp = (SELECT min(bsp) FROM data as d WHERE d.event_id=data.event_id)
As expected the backtest results get worse and it does not seem to be profitable to blindly lay favourites.
The starting price data that Betfair publishes contain a field called "event_name" which has information about the type of the race and the distance which I simply separate once the data is loaded into a Pandas dataframe:
df["distance"] = df.apply(lambda x: x["event_name"].split(" "), axis=1) df["type"] = df.apply(lambda x: " ".join(x["event_name"].split(" ")[1:]), axis=1)
I can then group the selections by type of race and calculate statistics on the profit figures. A simple table with some selected racing types shows some results:
|Nov Hcap Chs||0.921085||0.000550||1675|
It is also possible to plot the statistics but it doesn't seem that there is a significant variation with racing type.
Next, let's have a look at the racing distance. Again I group the profit by distance and calculate simple statistics such as mean value and total profit (sum):
Again, not much variation in profitability of laying favourites for different racing distances.
Obviously there are plenty of possibilities to analyse when you intend to lay the favourite in horse racing. One option would be to look at the starting price. It might well be that there are odds levels which are significant more profitable than others. You could also check previous results of the favourite, time without racing or odds differences between selections.
Are you following a lay the favourite strategy in horse racing? Please let us know about filters or analysis ideas in the comments.
No comments published yet.
Please log in to leave a comment.
If you would like to learn more about this strategy, please do not hesitate to contact us.Contact Us!