The Kelly criterion for prediction markets, with estimation error
Deriving Kelly for an event contract#
Spend a fraction of wealth on Yes contracts at all-in cost per contract (price plus fee). Each dollar buys contracts. If Yes wins, wealth multiplies by ; if it loses, by . The expected log growth per bet is
Setting :
This is the familiar with odds , written in the units prediction markets use. Buying No is the same formula with and the No cost. Three readings:
- Edge over remaining upside. The numerator is your edge in probability points; the denominator is the payout per dollar if you are right. A 5-point edge on a 90¢ contract justifies spending 50% of wealth; the same edge at 10¢ justifies 5.6%.
- Fees enter through c. A 1¢ fee on a 50¢ contract with cuts from 10% to 8.2%.
- The optimum is flat, the cliff is not. is concave, and : betting twice Kelly gives zero growth in expectation, and anything beyond that loses.
Simulation: what estimation error does#
The formula assumes you know . Nobody does. We simulated 4,000 bettors, each making 1,000 sequential independent bets:
- market price , true probability with , so true mispricings average about 3 points;
- the bettor sees , , picks the side with positive estimated edge net of a 1¢ fee, and stakes ;
- , .
| Estimate noise | Sizing | Median final wealth | 10th percentile | Growth per bet | P(drawdown > 50%) | P(final < start) |
|---|---|---|---|---|---|---|
| none | ¼ Kelly | ×3.59 | ×1.65 | 12.8 bp | 4% | 2% |
| none | ½ Kelly | ×9.09 | ×2.10 | 22.1 bp | 59% | 3% |
| none | Full Kelly | ×19.39 | ×0.86 | 29.5 bp | 100% | 11% |
| none | 2× Kelly | ×0.49 | ×<0.01 | -7.2 bp | 100% | 55% |
| 3 pts | ¼ Kelly | ×3.07 | ×1.16 | 11.3 bp | 26% | 7% |
| 3 pts | ½ Kelly | ×5.22 | ×0.65 | 16.4 bp | 94% | 15% |
| 3 pts | Full Kelly | ×2.16 | ×0.03 | 7.4 bp | 100% | 41% |
| 3 pts | 2× Kelly | ×<0.01 | ×<0.01 | -112.9 bp | 100% | 94% |
| 6 pts | ¼ Kelly | ×1.79 | ×0.41 | 6.0 bp | 87% | 31% |
| 6 pts | ½ Kelly | ×0.85 | ×0.04 | -1.6 bp | 100% | 53% |
| 6 pts | Full Kelly | ×<0.01 | ×<0.01 | -75.7 bp | 100% | 92% |
| 6 pts | 2× Kelly | ×<0.01 | ×<0.01 | -440.9 bp | 100% | 100% |
What the numbers say#
With perfect information, full Kelly wins on growth and loses on comfort. It has the highest median wealth (×19.4) but almost every path (100%) suffers a 50% drawdown at some point. Half Kelly gives up about a quarter of the growth rate (22.1 against 29.5 bp per bet) and cuts that drawdown probability to 59%. That is the classic fractional-Kelly trade-off, and it matches the textbook result that growth at is roughly times the maximum.
Estimation error moves the optimum down, fast. With 3 points of noise (small by forecasting standards), half Kelly becomes the best of the four in median wealth and full Kelly's median outcome collapses from ×19.4 to ×2.2. With 6 points of noise, a typical gap between a good and an average forecaster, only quarter Kelly still grows, and the median half-Kelly bettor ends below where they started.
The mechanism is simple. Noise in creates apparent edges where none exist, and Kelly sizes them confidently. Because the true mispricings are only 3–4 points, a 6-point estimation error means a large share of bets are on the wrong side or sized for edge that is not there.
How fees change the Kelly stake across the price range#
Take a fixed 3-point edge () and apply the taker fee from our fee note, per contract at large size:
| Price | True p | Fee per contract | Kelly, no fee | Kelly after fee | Stake cut by fee |
|---|---|---|---|---|---|
| 10¢ | 13% | 0.63¢ | 3.3% | 2.7% | 20% |
| 20¢ | 23% | 1.12¢ | 3.8% | 2.4% | 36% |
| 30¢ | 33% | 1.47¢ | 4.3% | 2.2% | 48% |
| 50¢ | 53% | 1.75¢ | 6.0% | 2.6% | 57% |
| 70¢ | 73% | 1.47¢ | 10.0% | 5.4% | 46% |
| 80¢ | 83% | 1.12¢ | 15.0% | 10.0% | 34% |
| 90¢ | 93% | 0.63¢ | 30.0% | 25.3% | 16% |
Two effects pull in opposite directions. The fee is largest in the middle of the range, so a 3-point edge at 50¢ loses more than half its Kelly stake to fees. But Kelly's denominator is smallest for favourites, so the same edge at 90¢ justifies a stake of nearly a third of wealth before fees. A small edge on a favourite is a large bet; a small edge at 50¢ is barely worth taking as a taker.
Many contracts at once#
Equation (2) is for one bet at a time. Event traders usually hold many positions simultaneously, often correlated (several contracts on the same election or the same data release). Simultaneous independent bets can each be sized near their individual Kelly fraction only if the total stays well below 1; correlated bets must be sized jointly, by maximising expected log wealth over the joint outcome distribution. A practical approximation is to treat a theme (all contracts driven by one event) as a single bet and allocate Kelly at the theme level.
Capital lock-up matters as well. A Kelly fraction applied to a contract resolving in nine months ties that capital up for nine months; the growth rate per unit time, not per bet, is the right comparison across contracts. Divide by time to resolution before ranking opportunities.
Limitations#
The simulation uses independent bets, a constant 1¢ fee, and normal estimation errors uncorrelated with true edge. Real forecasting errors are often correlated with the market (you are wrong in the same direction as everyone else), which makes them worse than modelled. Nothing here is a recommendation to size any particular position. It is arithmetic about growth rates.
# research/kelly.py (excerpt)
c = np.where(yes, P + FEE, (1 - P) + FEE) # all-in cost of chosen side
q = np.where(yes, ph, 1 - ph) # estimated prob of chosen side
f = np.clip(lmbda * (q - c) / (1 - c), 0, 0.95) # eq. (2), fractional
ret = np.where(win, f * (1 - c) / c, -f)
Questions#
What is the Kelly formula for prediction markets?
For a contract that costs c (price plus fee) and pays $1, with true probability p, the Kelly fraction of wealth to spend is f* = (p − c)/(1 − c). For No, use 1 − p and the No cost.
Should I use full Kelly or half Kelly?
Full Kelly is only growth-optimal if your probability is exactly right. In our simulation, 3 percentage points of estimation error made half Kelly better than full Kelly, and 6 points made quarter Kelly the only sizing that still grew in the median.
Does Kelly sizing account for fees?
Yes, if you use the all-in cost per contract. Fees reduce both the edge (p − c) and the payout (1 − c), so they shrink the optimal fraction.
References#
- Kelly, J. L. (1956). A new interpretation of information rate. Bell System Technical Journal, 35(4), 917–926.
- Thorp, E. O. (2006). The Kelly criterion in blackjack, sports betting and the stock market. In S. A. Zenios and W. T. Ziemba (eds.), Handbook of Asset and Liability Management, Vol. 1. Elsevier.
- MacLean, L. C., Thorp, E. O. and Ziemba, W. T. (eds.) (2011). The Kelly Capital Growth Investment Criterion: Theory and Practice. World Scientific.
DisclosureThis note is research and education. It is not investment advice or an offer to trade, and nothing in it describes the firm's own results. Code and outputs: research/kelly.py in our research repository, reproducible with a fixed seed.