Markets: A Rigorous Course

3.2 The Kelly criterion for a binary bet

Core about 20 min

Motivation

A positive expectancy says a bet is worth taking. It does not say how much to stake. Stake too little and capital grows slowly; stake too much and capital shrinks to zero even though every bet is favourable. Kelly (1956) found the stake that maximises the long-run growth rate of capital.

The growth-optimal fraction#

Setup

A bettor with wealth Wn−1W_{n-1} stakes a fraction f∈[0,1)f \in [0, 1) on bet nn. With probability pp the bet wins and pays bb per unit staked (net odds b:1b{:}1); with probability q=1−pq = 1 - p the stake is lost. Bets are iid. Then

Wn=Wn−1(1+fXn),Xn={bw.p. p−1w.p. q.(3.3)W_n = W_{n-1}(1 + fX_n), \qquad X_n = \begin{cases} b & \text{w.p. } p \\ -1 & \text{w.p. } q.\end{cases} \tag{3.3}

The expected profit per unit staked is E[X]=pb−qE[X] = pb - q. Define the growth rate

g(f)=Eln⁡(1+fX)=pln⁡(1+bf)+qln⁡(1−f).(3.4)g(f) = E\ln(1 + fX) = p\ln(1 + bf) + q\ln(1 - f). \tag{3.4}

Proposition 3.2binary Kelly fraction

If pb>qpb > q, gg is strictly concave on [0,1)[0, 1) and maximised at

f∗=p−qb=pb−qb,(3.5)f^* = p - \frac{q}{b} = \frac{pb - q}{b}, \tag{3.5}

the expected profit per unit staked divided by the net odds. If pb≤qpb \le q, the maximum over [0,1)[0,1) is at f=0f = 0.

Proof

g′(f)=pb1+bf−q1−fg'(f) = \dfrac{pb}{1 + bf} - \dfrac{q}{1 - f} and g′′(f)=−pb2(1+bf)2−q(1−f)2<0g''(f) = -\dfrac{pb^2}{(1+bf)^2} - \dfrac{q}{(1-f)^2} < 0, so gg is strictly concave and any stationary point is the unique maximum. Setting g′(f)=0g'(f) = 0: pb(1−f)=q(1+bf)pb(1 - f) = q(1 + bf), so pb−q=f(pb+qb)=fbpb - q = f(pb + qb) = fb since p+q=1p + q = 1. Hence f∗=(pb−q)/bf^* = (pb - q)/b. If pb≤qpb \le q then g′(0)=pb−q≤0g'(0) = pb - q \le 0 and concavity gives g′<0g' < 0 on (0,1)(0, 1).∎

At the optimum, 1+bf∗=p(1+b)1 + bf^* = p(1+b) and 1−f∗=q(1+b)/b1 - f^* = q(1+b)/b, which gives a closed form for the maximal growth:

g(f∗)=pln⁡(p(1+b))+qln⁡q(1+b)b=pln⁡p+qln⁡q+ln⁡(1+b)−qln⁡b.(3.6)g(f^*) = p\ln(p(1+b)) + q\ln\frac{q(1+b)}{b} = p\ln p + q\ln q + \ln(1+b) - q\ln b. \tag{3.6}

For even money (b=1b = 1) this is ln⁡2−H(p)\ln 2 - H(p), where H(p)=−pln⁡p−qln⁡qH(p) = -p\ln p - q\ln q is the entropy of the bet in nats. This is Kelly's original "information rate" interpretation: a gambler with a private wire that is right with probability pp grows capital at the rate of the channel's capacity.

Asymptotic optimality#

Proposition 3.3asymptotic optimality

Let Wn(f)W_n(f) be wealth after nn bets at constant fraction ff, driven by the same outcomes for all ff. Then (a) 1nln⁡(Wn(f)/W0)→g(f)\frac1n\ln(W_n(f)/W_0) \to g(f) almost surely; (b) for any f≠f∗f \ne f^* with f∈[0,1)f \in [0, 1), Wn(f∗)/Wn(f)→∞W_n(f^*)/W_n(f) \to \infty almost surely; (c) if g(f)>0g(f) > 0 then Wn(f)→∞W_n(f) \to \infty a.s.; if g(f)<0g(f) < 0 then Wn(f)→0W_n(f) \to 0 a.s., even if E[X]>0E[X] > 0.

Proof

(a) ln⁡(Wn/W0)=∑i=1nln⁡(1+fXi)\ln(W_n/W_0) = \sum_{i=1}^{n}\ln(1 + fX_i) is a sum of iid variables with finite mean g(f)g(f) (for f<1f < 1 they are bounded). Apply the strong law. (b) 1nln⁡(Wn(f∗)/Wn(f))→g(f∗)−g(f)>0\frac1n\ln(W_n(f^*)/W_n(f)) \to g(f^*) - g(f) > 0 a.s. by (a) and strict concavity, so the log-ratio tends to +∞+\infty. (c) Immediate from (a).∎

Two further facts make the criterion attractive (Breiman 1961; MacLean, Thorp & Ziemba 2010): among all strategies, including ones whose fraction varies with past outcomes, the Kelly strategy asymptotically minimises the expected time to reach a large wealth target, and no other strategy has a higher expected value of ln⁡Wn\ln W_n for any nn. Because ln⁡\ln is monotone, the Kelly strategy also maximises the median of WnW_n to first order: the median of ln⁡Wn\ln W_n is about ng(f)ng(f).

Kelly does not maximise expected wealth. E[Wn]=W0(1+fE[X])nE[W_n] = W_0(1 + fE[X])^n is increasing in ff and is maximised by f=1f = 1, which goes broke with probability 1−pn→11 - p^n \to 1. The difference between the mean and the median is M02's Corollary 2.3a in discrete form.

A coin and a swing system#

Worked example 3.2.1a coin with an edge

p=0.55p = 0.55, b=1b = 1: f∗=0.10f^* = 0.10. g(f∗)=0.55ln⁡1.1+0.45ln⁡0.9=0.052421−0.047413=0.005008g(f^*) = 0.55\ln 1.1 + 0.45\ln 0.9 = 0.052421 - 0.047413 = 0.005008 per bet. Doubling time ln⁡2/g=138\ln 2/g = 138 bets. In the tests of Exercise m03_kelly (in the app: Exercises → m03_kelly), 2,000 simulated paths of 10,000 bets give mean realised growth within 2×10−42\times10^{-4} of g(f)g(f) at every ff on a grid from 0.02 to 0.30, with the maximum at f=0.10f = 0.10.

Worked example 3.2.2the swing system

In R units, staking a fraction ff of capital as 1R1R means a win multiplies wealth by 1+2.5f1 + 2.5f and a loss by 1−f1 - f: a binary bet with p=0.4p = 0.4, b=2.5b = 2.5. Kelly: f∗=0.4−0.6/2.5=0.16f^* = 0.4 - 0.6/2.5 = 0.16. The Kelly risk per trade is 16% of capital, with growth 0.4ln⁡1.4+0.6ln⁡0.84=0.03000.4\ln 1.4 + 0.6\ln 0.84 = 0.0300 per trade. At 1% risk per trade, growth is 0.00380.0038 per trade, an eighth of the Kelly rate. Why practitioners risk 0.5–1% rather than 16% is the subject of 3.5, 3.7 and 3.9.

Practitioner notes

  • Kelly sizes the risk, not the position. For the swing system f∗f^* is the fraction of capital lost if the stop is hit, not the fraction invested. A 16% risk with an 8% stop means a position of twice capital.
  • For a general trade list, the Kelly fraction maximises 1N∑ln⁡(1+fRi)\frac1N\sum\ln(1 + fR_i); kelly_from_R in Exercise m03_sizing solves it by bisection on the derivative.

Create a free account

Reading is open to everyone. An account keeps your progress, answers, notes and code drafts, and gives you the study plan, the journals and the simulator. Running code needs an account approved for it.