Arbitrage Betting
Arbitrage Betting
Arbitrage Betting
This paper produces methodologies and ideas on how to do Arbitrage Betting. Arbitrage Betting
is explained from first principles mathematically. Source Code for calculating arbitrage bets is also
provided in Python. Pros and Cons of Arbitrage Betting are also discussed. Optimization of Arbitrage
Betting is also discussed. Real World problems are solved in this paper.
Contents
1 Introduction 2
1.1 Introduction to Arbitrage Betting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Theory of Arbitrage Betting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1.1 Learning to Bet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1.2 Betting on all the Outcomes . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1.3 Mathematics of Arbitrage Betting . . . . . . . . . . . . . . . . . . . . . 4
3 Simulation Analysis 11
3.1 Running an Arbitrage Betting Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1
Chapter 1
Introduction
When betting a match a bookmaker will offer odds for each of the three possible outcomes.
The purpose of Arbitrage Betting is to find a set of odds that will allow us to make a profit regard-
less of the outcome of the match.
Before we can do this we need to understand the relationship between odds and probabilities. I
will explain below how betting odds work.
2
Example: There is a soccer match between Manchester United vs Everton.
Now the ratio of the amount of money that you will win to the amount of money that you bet is
as follows:
The bookmaker will calculate the odds based on the probability of the event occurring. For interest
sake Manchester United compared to Everton, Manchester United is the favourite to win. Everton is
the underdog. The bookmaker will calculate the odds based on the probability of the event occurring.
The bookmaker will calculate the probability of the event occurring by looking at the history of the
teams. There are many factors that the bookmaker will take into account. Different bookmakers will
have different odds for the same match. This is where we will take advantage later in our paper to do
Arbitrage Betting.
This is why we need to find a set of odds that will allow us to make a profit regardless of the
outcome of the match. This is when we will use Arbitrage Betting.
3
our investment is R300.
Case 2: Draw.
As we can see by doing this there is times where we will make a profit and times where we will make
a loss. In reality the odds wont be exactly the same as the ones that we have used in our example. It
is more dangerous to bet on all the outcomes because the odds will be different.
There is still risk involved in betting on all the outcomes.
But now i will introduce you to Arbitrage Betting where we will make guaranteed profits.
In order to do Arbitrage Betting we need to find a set of odds that will allow us to make a profit
regardless of the outcome of the match.
4
Mn O1 O2 O3
M1 1.5 3.5 5
M2 2 3.6 5
M3 1.6 12 0.5
Assumption:
Let us generate 3 superficial game odds with 3 outcomes that can occur in a game. In the matrix
we may say that all the odds computed are from the same bookmaker.
Where Mn is the match number, O1 is the odds of the first outcome, O2 is the odds of the second
outcome and O3 is the odds of the third outcome.
If the the sum of the An is < 1 then we have an Arbitrage Betting opportunity.
PNO 1
An = On =1 On (1.1)
Where NO is the number of odds in the match and On is the current odds in the loop of the sum.
A2 = 0.97777778
A3 = 2, 70833333
As we can see in A2 we have an Arbitrage Betting opportunity.
Since we now found an opportunity let us get to work on computing our profit for A2 .
Given A2 = 0.97777778
5
Where Investment is the amount of money that we are going to invest in the match.
S1 = R51.14
1
R100×
S2 = 0.97777778
3.6
S2 = R38.41
R100× 1
S3 = 0.97777778
5
S3 = R20.45
As we can see we are going to bet R51.14 on the first outcome, R38.41 on the second outcome and
R20.45 on the third outcome.
6
Chapter 2
B1 B2 B3 ... Bn
O1,1 O2,3 O3,5 ... O4,7
Mn = O1,2 O2,4 O3,6 ... O4,8 (2.1)
.. .. .. .. ..
. . . . .
O1,k O2,k+1 O3,k+2 ... O4,k+(n−1)
We then find the most optimized arbitrage bet by finding the maximum value for each row in the
matrix Mn
Resulting in a matrix of On odds for the same match Mn
Bx By Bz ... Bp
OptMn = (2.2)
O1,maxentry O2,maxentry O3,maxentry . . . On,maxentry
Where Bvar is the bookmaker with the highest odds for the match Mn
In theory the more bookmakers we have the more optimized our arbitrage bet will be. The more
optimized bet results in yielding a higher profit for the arbitrage bet.
But always remember for it to be an arbitrage bet the An must be less than 1.
7
2.2 Python Class to Compute Arbitrage Bets
Using the Python Class we can compute arbitrage bets. The Python Class is called Arbitrage.
I wrote this class based on the mathmatical logic of arbitrage betting as discussed in the previous
sections.
Assumption: We have computed the best odds for a match from different bookmakers.
B1 B2 B3
M1 = (2.3)
O1 = 2.6 O2 = 7.8 O3 = 5
Let our investment I be R100
odds = [ 2 .6 , 7 .8 , 5 ]
investment = 100
objArbitrage = Arbitrage ( odds , investments )
print ( objArbitrage . c a l c u l a t e _ a r b i t r a g e _ s t a t s () )
8
The above code can be used to compute arbitrage bets.
There is also an web application i have developed that does this for
you.
https://odds.adgstudios.co.za/
9
Figure 2.2: https://odds.adgstudios.co.za/
10
Chapter 3
Simulation Analysis
This is just a chapter running a simulation to see how much money you can make if you quit your full
time job and do this for a living.
Let us see how much money we can make if we do this for a year.
We will be putting back the profits in the bets each day so it can be reinvested and profits can
grow exponentially.
In reality there is chances of losing money. But for the sake of this experiment we will assume we
will always make money.
We could also make more money by doing more bets per day. But for the sake of this experiment we
will assume we do 10 bets per day.
The Return on Investment can be always be higher than 3%. But for the sake of this experiment we
will assume ROI ∈ [1%, 3%]
From that we estimate a general formula to create a simulation of the arbitrage betting operation over T
(
Dp + I × ROI if ROI ∈ [1%, 3%]
Dp = (3.1)
Dp if ROI ∈
/ [1%, 3%]
Once complete the simulation we can plot the results. Using the simulation we can see how much
money we can make if we do this for a year.
Once done that we will fit the data into this growth formula here.
Dt = I ∗ e(Dp ×T ) (3.2)
We can now plot the results of the simulation and the growth formula.
11
Figure 3.1: Plot of the simulation
12
Figure 3.2: Plot of the simulation and the growth formula
From this we can see that we can make a lot of money if we do this for a year.
Starting with an investment R1000 and R100 per bet doing 10 bets a day we can make R1,000,000 in
a year.
Running many iterations we can see that our model is very accurate.
Therefore we can see that if we increase the investment per bet we can make more money.
below is the code for the simulation.
import random
Dt = 0
I = 1000
Date = [ ]
Dp = [ ]
Droi = [ ]
13
Dt = d
ROI = ge t_rando m_roi ()
I = I + ( I * ROI )
Droi . append ( ROI )
Date . append ( Dt )
Dp . append ( I )
def func ( Dp , T ) :
return 1000 * np . exp ( T * Dp )
# print e q u a t i o n
print ( ’ Dt = 1000 * exp ( T * Dp ) ’)
# print Dt at 1
equation = ’ Dt = 1000 * exp ( ’+ str ( round ( popt [ 0 ] ,2 ) ) + ’t ) ’
# save plot
fig . savefig ( ’ images / fit . png ’)
14
3.2 Conclusion
In conclusion we can see that we can make a lot of money if we do this for a year. There is also so
much risk involved as the odds can change at any time. Multiple bets can also be made at the same
time. This can also be done with other sports. If the odds change some losses can be made. But if
the odds change in our favour we can make a lot of money.
You will have to manage and records where your money is going. This can be done with a spreadsheet
or database
Finally I will like to tell your that you can get banned from the bookies if you do this. So be careful
but there is always ways you can trick the algorithm/system. I think this could be a good way to make
money. But you will have to do a lot of research and testing.
This can become a full time job.
Once scaled up you can get other people to do the betting for you.
15