11 — Position Sizing

Kelly Criterion#

Optimal GrowthMathematical1 min read
◆ The PatternOptimal bet size for maximum geometric growth

Kelly sizing maximizes the expected logarithm of wealth — the fastest compounding rate without risking ruin. For a simple win/loss bet:

f* = (p · b − q) / b
p = win probability, q = 1−p, b = win/loss ratio. In continuous markets, Kelly fraction = expected excess return / variance. Most practitioners use half-Kelly or less to reduce volatility.
// Interactive — win rate and Kelly fraction
Win rate %
FractionGrowthDrawdown
Full KellyMax geometricSevere
Half Kelly75 % of maxMuch lower
Quarter Kelly~44 % of maxMild
Overbet risk. Betting more than full Kelly guarantees sub-optimal growth and eventual ruin with parameter uncertainty.
Pattern bridge: Log-normal growth connects to The Toolkit — Distribution Shape.
Worked example

Even-money bets you win 55% of the time: Kelly says bet 10%. Expected log growth per bet is 0.00501 at full Kelly and 0.00375 at half Kelly — three-quarters of the growth for half the risk. At double Kelly growth is −0.00014, already shrinking, and at 2.5× it is clearly negative. Betting too little only slows growth; betting more than about twice Kelly turns a winning edge into a losing strategy.

Where it misleads
  • Kelly assumes you know p and b. With an estimated edge, an overestimate pushes you past the peak, which is why practitioners use half Kelly or less (Thorp 2006).
  • Full Kelly has deep drawdowns: there is a 50% chance of halving your capital at some point.
  • It maximizes long-run growth, which is not the same as what an investor with a horizon or liabilities wants.
In code
p, b = 0.55, 1.0                                           # win 55% of even-money bets
kelly = (p * b - (1 - p)) / b

def growth(f):                                             # expected log growth per bet
    return p * np.log(1 + b * f) + (1 - p) * np.log(1 - f)

rates = {m: growth(m * kelly) for m in (0.5, 1, 2, 2.5)}
Python, in your browser — edit the code and run it again

Assumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up or simulated.

Sources
  • J. L. Kelly Jr., “A New Interpretation of Information Rate”, Bell System Technical Journal 35(4), 1956
  • E. O. Thorp, “The Kelly Criterion in Blackjack, Sports Betting and the Stock Market”, in Handbook of Asset and Liability Management, vol. 1, Elsevier, 2006
  • Fortune’s Formula, W. Poundstone, Hill and Wang, 2005

Last reviewed October 2026 · How this site checks its content · Report a mistake

Check yourself

1. A bet pays even money and wins with probability 0.55. What fraction does Kelly stake?

Show answer

A. For even odds the Kelly fraction is p − q = 0.55 − 0.45 = 0.10.

2. What happens to long-run growth if you bet twice the Kelly fraction?

Show answer

A. Growth is roughly a parabola in the fraction bet: it peaks at Kelly and returns to zero at about twice Kelly.

3. Why do many practitioners bet half Kelly?

Show answer

C. Overestimating the edge pushes you past full Kelly, where growth falls fast. Half Kelly leaves a margin.

Linked from 1
← Previous
Diversification
Open in the full reader, with the topic sidebar