The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

The Kelly criterion

Arvid Kingl

2019-09-03

The Kelly criterion

The Kelly criterion optimises the expected return on a series of identical, sequential bets. The criterion gives the ideal ratio of the bank roll that should be placed on a bet.

If a single bet has a positive outcome with objective probability \(p\) and a negative outcome with probability \(q = 1-p\), then the Kelly criterion is given by \[\kappa = \frac{\alpha_w p-\alpha_l q}{\alpha_w\alpha_l},\] where \(\alpha_w\) is the multiplies of the amount of stake that is won in the case of a win and \(\alpha_l\) the amount proportional to the stake that is lost. Many exchanges, such as Betfair, use the decimal odds system. When backing a selection in the decimal system, the losing amount is the stake itself, so \(\alpha_l = 1\), and the winning multiplier is the quoted price \(P-1\). Additionally, commisions are typically proportional to winnings, which further reduce the potential winnings.

The kelly_back_dec and kelly_lay_dec functions allow for a quick calculation of the Kelly criterion given the true probability, the quoted price and a commision percentage.

library(RKelly)

# A bet to back at price 2.1 and objective probability of 0.5 and 5% commision
kelly_back_dec(price = 2.1, p=0.5, commision_rate = 0.05)
#> [1] 0.0215311

The same applies for lay bets where \(\alpha_w = 1\) and \(\alpha_l = P-1\).

# A bet to lay at price 1.9 and objective probability of 0.5 and 5% commision
kelly_lay_dec(price = 1.9, p = 0.5, commision_rate = 0.05)
#> [1] 0.02923977

A negative Kelly criterion means that the bet is not favored by the model and should be avoided.

kelly_back_dec(price = 1.9, p=0.5, commision_rate = 0.0)
#> [1] -0.05555556

Use at your own risk. More detailed derivations can be found here. here/

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.