Thursday, January 04, 2018

A novel capital booster: Sports Arbitrage


By Stephen Hope

As traders, we of course need money to make money, but not everyone has 10-50k of capital lying around to start one's trading journey. Perhaps the starting capital is only 1k or less. This article describes how one can take a small amount of capital and multiply it as much as 10 fold in one year by taking advantage of large market inefficiencies (leading to arbitrage opportunities) in the sports asset class. However, impressive returns such as this are difficult to achieve with significantly larger seed capital, as discussed later.

Arbitrage is the perfect trade if you can get your hands on one, but clearly this is exceptionally difficult in the financial markets. In contrast, the sports markets are very inefficient due to the general lack of trading APIs and patchy liquidity etc. Arbitrages can persist for minutes (or even hours at a time).

Consider a very simple example of sports arbitrage; Team A vs Team B and three bookmakers quoting the odds shown in the table below. When the odds are expressed in decimal form we can calculate the implied probability of the event  e occurring as quoted by bookmaker i as  P(i,e) = 1/Odds(i,e)  (shown in brackets in the table).

Three Way Market
Bookmaker B1
Bookmaker B2
Bookmaker B3
Team A win
1.4 (71.4%)
1.2 (83.3%)
1.2 (83.3%)
Team A lose
8.8 (11.4%)
9.5 (10.5%)
9.1 (11.0%)
Draw
5.8 (17.2%)
6.0 (16.7%)
6.8 (14.7%)

In the Three Way Market, there are only 3 possible outcomes; Team A wins, Team A loses or it's a draw. Therefore the sum of the probabilities of these 3 events should equal 100% (in a fair market). However, we can see that the market is not efficient and the combination of odds shown in red give; 




This is an arbitrage opportunity in the Three Way market with 3 legs;

1_2_X and Odds = (1.4, 9.5, 6.8)

where

1 = Three Way Market (home team to win)
2 = Three Way Market (away team to win)
X = Three Way Market (a draw)

The size of the arbitrage is given by 





and in order to realise this arbitrage we need to bet the following percentage stakes against our notional








The above example is a 'simple' arbitrage. However, the majority of football arbitrage opportunities are 'complex' arbitrages. Complex in the sense that the bet legs are not mutually exclusive and more than one leg can pay out over some overlapping subset of possible outcomes. The calculation then becomes more complex. 

For example, consider the following 3 leg complex arbitrage;

AH2(-0.25)_X1_1 and Odds = (1.69, 2.1, 5.25);

where

AH2(-0.25) = Asian Handicap Market (away team to win, handicap -0.25) 
X1 = Double Chance Market (home team to win or draw)
1 = Three Way Market (home team to win)

We can construct a payoff matrix to more easily visualise the outcome dependent payoffs of the 3 bet legs.

Payoff Matrix
Away Team Wins
Draw
Home Team Wins
AH2(-0.25)
0.69
-0.5
-1
X1
-1
1.1
1.1
1
-1
-1
4.25


Matrix Element Meanings
0.69 –> win 0.69 * stake 1 (+ stake 1 returned)
1.1 –> win 1.1 * stake 2 (+ stake 2 returned)
4.25 –> win 4.25 * stake 3 (+ stake 3 returned)
-0.5 –> lose -0.5 * stake 1 (get half of stake 1 back)
-1 –> lose -1 * stake i (lose your full stake)

The structure of the Payoff Matrix reveals a 'potential' arbitrage because there exists no column (event outcome) that contains only negative cash flows. It is a potential 'complex arbitrage' because in the event of a draw or home team win, there exists two bet legs that can give rise to a positive cash flow for the same outcome (remember, -0.5 means half of the stake is returned so is still positive). However, whether or not the arbitrage can be 'realised' depends on whether or not we can find a solution for the stake percentages for each leg that gives a positive net profit for every outcome. So how do we do this ?

Constructed as a dynamic programming optimisation we have;

















where

x = ( x1 , x2 , x3 ... ) are the bet leg stakes
C is a payoff matrix column chosen to maximise
A is the constraints matrix (e.g sum of stakes = 1, stake (i) >= 0 etc)

Solving the optimisation for the AH2(-0.25)_X1_1 example above gives;

Payoff Matrix
Away Team Wins
Draw
Home Team Wins
Stake %
AH2(-0.25)
101.70%
30.10%
0
60.20%
X1
0
71.60%
71.60%
34.10%
1
0
0
30.10%
5.70%
Net Profit
1.70%
1.70%
1.70%
100.00%

We can see that the arbitrage does indeed have a solution with the stake percentages (60.2%, 34.1%, 5.7%) giving an arbitrage of 1.7% for every possible outcome. There are many thousands of these arbitrage opportunities appearing each day in the sports markets ranging in size from 0.1% - 7%+.

What returns are possible? Consider, starting with a seed capital of £1k and a trading frequency of 3 times per week with an average arbitrage size of 1.6%. Initially we compound our winnings but there are limits to how much you can stake with a given bookmaker. Assume that we cannot increase our notional beyond £5000 across any multi-leg arbitrage trade. In that case, the initial £1k can grow to approximately £9,500 in one year. Not bad for a few minutes of effort per trade. 

So what's the catch? 

There are really only two pitfalls. 
1)  Scaling: You cannot easily compound your returns as with the financial markets.
2) Limit Risk: Bookmakers don't want you to win and can be inclined to significantly reduce your allowed stake notional if you win too much. Avoiding this requires careful management.

Although sports arbitrage does not easily scale, it is a great way of boosting trading capital by a few thousand pounds per year with very small time effort; capital which could be put to use in the financial or crypto markets.

===
About the author: Stephen Hope is Co-Founder of Machina Trading, a proprietary crypto & sports trading firm that provides an arbitrage tool called rational bet. He is former Head of Quantitative Trading Strategies at BNP Paribas and received his PhD in Physics from the University of Cambridge.

===
Upcoming Workshops by Dr. Ernie Chan

February 24 and March 3: Algorithmic Options Strategies

This online course focuses on backtesting intraday and portfolio option strategies. No pesky options pricing theories will be discussed, as the emphasis is on arbitrage trading.

June 4-8London workshops

These intense 8-16 hours workshops cover Algorithmic Options Strategies, Quantitative Momentum Strategies, and Intraday Trading and Market Microstructure. Typical class size is under 10. They may qualify for CFA Institute continuing education credits.

16 comments:

Anonymous said...

A novel capital booster? Sorry, but is it the year 1998?

Arbitrage techniques like this have been tried not only from quants but also from lots of sport betting enthusiastics over the past two decades. Manually, automated, with any number of legs, different currencies - and so on.

But the main problem remains. The bookies will simply shut you down at a certain point and even take your money for the most rediculous reasons. Mostly because the respective traders allegedly behaved "suspicious" or violated some terms of use.

Yes, like the successful friend of a friend who made tens of thousands betting on EUR/USD morning breakouts everyone has heard of someone who knows somebody who has done this successfully. But operating in a unregulated market with amounts of money which are not worth pursuing in case the bookie shuts you down is not going to be worth it.

Maxwell Adams said...

Interesting article. However, bookmakers ban people who they suspect of doing arbitrage. Or they might randomly cancel the winning leg of an arbitrage, tell you it's a palpable error, and say it is in their terms and conditions to cancel bets at their whim.

Maxwell Adams said...

I also wrote a bot to do Asian Handicap arbitrages on a sporta betting exchange a few years ago. When it got filled it only made a few pence. But most of the time it got legged out and lost more than a few pence.

Stephen said...

To clarify, my intention was not to imply that sports arbitrage is something new, the novelty was meant to refer to the use of the sports asset class to help a new trader bootstrap his capital for use in other, more scalable asset markets. But perhaps I should have re-worded the title slightly …

Although not well known, these arbitrage techniques have indeed been around for a long time - for good reason, they can be made to work for significant periods of time.

You are right of course about the main problem and I point this out at the end of the article. Unfortunately it would require another chunky article to bring justice to the subject of risk mitigation of bookmaker limiting. Most bookmakers will indeed shut you down if you seem to have a system for ‘winning too much’ - regardless of whether you are using arbitrage. It used to be the case that bookmakers were especially worried about arbitrage because there existed many ‘self-arbitrage’ opportunities within the same bookmaker. Today though, it is rare to come across such a lack of sophistication. Today however, there are a growing number of ’arbitrage friendly’ bookmakers (Pinnacle the most prominent example) and of course the betting exchanges.

If no thought or organisation is applied to account management then I would agree that your sports arbitrage career will be over quickly. It is not realistic to expect to never be limited by a bookmaker, but with careful use of arbitrage friendly bookmakers, exchanges and some other risk mitigation techniques, the method becomes viable for extended periods of time (long enough to bootstrap some decent seed capital as I am suggesting). Also, one must bear in mind that the bookmaker landscape is constantly shifting with new companies entering the market frequently.

Stephen said...

Thanks for your comments Donkey Face,

Your experience of using automatic bots on betting exchanges is not too surprising, but it does illustrate a key difference between the exchanges and the bookmakers and why the combination is important.

The exchanges have api’s allowing automatic execution but they can suffer sometimes from poor liquidity. It can be difficult to find trades where each leg resides on a betting exchange and at the same time, all of the legs can accept a stake size large enough to make the trade worthwhile. Bookmakers on the other hand can generally accept much larger stake sizes ( several £k on the more popular markets) but the execution must be done manually online. Therefore, in general, there are more sizeable opportunities within the bookmaker landscape. Though it is important to use exchanges where possible for the reasons mentioned above in an earlier response.

Anonymous said...

Hello,

sorry for asking maybe stupid question. I am trying to figure out how you got percentage from odds for payoff matrix in second example.
I was able to follow first example but it will be nice if you can provide more details.

Thank you

Stephen said...

Hello,

No not a stupid question. It's a linear programming optimisation. Most of the complexity is in setting up the constraints matrix. If you contact me directly I can give you more details.

Rgds
stephen@rational.bet

Anonymous said...

Dear Stephen, I was very interested to try this out by playing small. I just realized in Singapore that it is illegal to place bet online. Unless the bet is place out from Singapore I guess, I have to let go off this opportunity. Thank you for the good read.
Regards

rob said...

Made a quick and dirty app to look for basic (3 way football / soccer) arb opportunities!
https://sports-arb.herokuapp.com/

William Stevenson said...

Thankyou for the informative post,

I'm attempting to recreate your results, and am having issues interpreting the structure of the optimization you used. Could you elaborate a bit more on the dynamic programming used to optimize the matrix?

Kind Regards,
Will

Stephen said...

Hi William,

The article is a little vague on the details on purpose and I can't give you a detailed worked example unfortunately as we use a proprietary algorithm for speed and scale based on the 'simplex' method. However, if you look up examples of optimisation using the simplex method and create a payoff matrix as described in the article you will probably find it is not too tedious to solve for a single payoff matrix.

Sorry I can't be more definitive.

Best Regards
Stephen

William Stevenson said...

Thanks for the response Stephen! No worries, I get that your business depends on the optimization methods used, so any insight you offer is awesome :0

I've built a small webscraping program (scrapes B365, Ladbrokes, unibet & sportsbet) to seek arbitrages in the NBA, Soccer leagues and baseball (based on the principles elaborated in your article) and I'm having lots of fun seeing the arb opportunities that pop up everywhere. Next step is to automate the arbitrage identification process, becaus now i have to do it manually and it hurts my brain to def.
Out of curiosity though, have you ever looked into correlations between sentiment/media activity spikes and their time dependent effects on market odds? For punting arbers, they usually seek these arb opportunities (e.g. Demarcus Cousins breaks another limb, so we expect the bookies to change their odds, but they change them at different times, thus arb opportunity), so perhaps as in some applications of volatility in finance, a wavelet transform of sentiment could be used as an indicator of volatility in the betting markets. High volatility would indicate more arbitrage opportunities. I'm still trying to find an appropriate statistic to validate this, but would love any suggestions/ideas if you know of any.

Stephen said...

Sorry for the delay in responding William,

Good luck with your web scraping app ! I think you have some good ideas regarding volatility and sentiment. Sorry I have no experience in investigating along those lines unfortunately. Mainly because when we read in the data 'industrially' for a set of bookmakers, it is computationally possible to find essentially ALL of the arbitrages that are available from minute to minute without the need to be guided by external signals. But when I say 'essentially all', I do tend to ignore arbitrages with 4 legs and over as they are not practical when one needs to manually execute all of the legs as simultaneously as possible on bookmaker websites.

However, what you suggest might lead to trading ideas that can be implemented on exchanges. The strategies need not be actual arbitrage trades, but rather just statistical trading.

Best Regards
Stephen

Enric said...

I know how to solve a linear programming problem and I understand how to construct the payoff matrix, but I don’t know how to get the objective function and the constraints given the payoff matrix above. So, my questions are:
- How can I find the objective function to maximize?
- Which would be the constraints in this situation?

So, I tried this:

I supposed I invest an amount of x1 on AH2(-0.25), x2 on X1 and x3 on 1, so x1+x2+x3=1. So in the three scenarios of the payoff matrix, I want to get a profit.
This is:
0.69x1-x2-x3 > 0
-0.5x1+1.1x2-x3 > 0
-x1+1.1x2+4.25x3 > 0
x1+x2+x3 = 1
x1>0, x2>0, x3>0

Are these constraints correct? Which would be the objective function?

Thanks in advance,
Enric

Jonathon said...

Is this possible to do using Excel Solver function? I'm using the same equations/constraints as above but struggling to see why it won't converge.

Stephen said...

Hi Jonathon - I've never tried with the Excel Solver so I'm not sure. I would recommend using the R package Rglpk !