Using the Kelly Criterion on Prediction Markets
Most retail traders on Polymarket and Kalshi size their bets by feel. They find a contract they like, decide it is mispriced, and put down whatever feels right. The Kelly Criterion replaces that guess with a number. It tells you the fraction of your bankroll that maximizes long-run compounding given your edge. For binary contracts the math is unusually clean, which is exactly why it is worth getting right.
The Kelly formula for a binary contract
A prediction market contract is a binary bet. You buy a YES share at price c (say 40 cents), and it settles at $1.00 if the event happens or $0.00 if it does not. Let p be your honest estimate of the true probability. The Kelly fraction is:
f = (p - c) / (1 - c)
# p = your estimated probability of YES
# c = current market price of the YES share (0 to 1)
# f = fraction of bankroll to commitThe numerator (p - c) is your edge: how far your probability sits above the price. The denominator (1 - c) normalizes by the amount you stand to win per share, since you risk c to win (1 - c). This is the same thing as the textbook Kelly formula f = (bp - q) / b with net odds b = (1 - c)/c. It collapses to the cleaner form because the payout is fixed at $1.00.
A worked example
Suppose a contract trades at 40 cents and you believe the true probability is 55 percent. Your edge is 15 points.
- Market price c = 0.40
- Your probability p = 0.55
- Edge = p - c = 0.15
- f = (0.55 - 0.40) / (1 - 0.40) = 0.15 / 0.60 = 0.25
Full Kelly says stake 25 percent of your bankroll on this single contract. That should already feel aggressive, and it is. A quarter of your account on one binary event is a lot, and that discomfort is the entire reason fractional Kelly exists.
Why nobody serious bets full Kelly
Full Kelly maximizes geometric growth, but it does nothing to control drawdown, and the drawdowns are brutal. Even with a genuine, verified edge, full Kelly will routinely take you through 50 percent peak-to-trough drawdowns before recovering. That volatility is not a tail risk you can ignore; it is the normal operating behavior of the strategy.
The fix is to bet a fixed fraction of the Kelly number. The reason this works so well is a clean asymmetry: growth rate falls off slowly as you shrink the fraction, but variance scales with the square of it.
- Half Kelly keeps roughly 75 percent of the long-run growth rate while cutting variance by about 75 percent (you keep one quarter of it, since variance scales with the square of the fraction). This is the MacLean, Ziemba, and Blazenko result, not a rule of thumb.
- Quarter Kelly gives up more growth but makes drawdowns tolerable and survivable through a cold streak.
- Ed Thorp, who put Kelly to work in blackjack and then in markets, called half Kelly a prudent starting point for exactly this reason: overbetting buys you lower growth and much higher variability at the same time.
Applied to the example above, half Kelly turns a 25 percent stake into 12.5 percent, and quarter Kelly into 6.25 percent. Those are sizes you can hold through variance without tilting.
Estimation error is the real enemy
Kelly is only as good as your p. The formula assumes your probability estimate is correct. In reality you almost certainly overestimate your edge, and overbetting is punished asymmetrically: betting above the true Kelly fraction lowers growth far faster than betting the same distance below it. Fractional Kelly is partly a hedge against your own overconfidence. If you privately suspect your 55 percent is really a noisy 52 percent, half Kelly is not conservatism, it is a correction.
This bias is structural on prediction markets. The favorite-longshot bias is well documented and shows up on Kalshi specifically: cheap, low-probability contracts win less often than their price implies, while favorites win more often. Retail systematically overpays for the longshots chasing lottery payoffs. If your edge comes from a 3-cent contract, treat the number with extra suspicion. That is exactly where naive p estimates are most inflated, and where the price you are paying is least likely to be a fair probability.
Adjust the price before you adjust the size
The c in the formula should be your real fill price, not the mid. Two frictions move it, and on a thin edge either one can erase the trade:
- Fees. Neither venue is free anymore. Kalshi charges a taker fee of 7c per contract times P times (1 - P), which peaks at 1.75 cents per contract at the 50-cent price. On a 50-cent fill that is 1.75 percent of the $1 payout, or 3.5 percent of the capital you actually put up, and it shrinks toward the 1-cent and 99-cent extremes. Polymarket US charges a symmetric taker fee of about 0.05 times C times P times (1 - P), peaking near 1.25 cents per contract at 50 cents, and the international site runs a similar curve peaking near 1.8 percent of notional. Limit (maker) orders avoid the taker fee on both venues, and a few categories are still fee-free, so how you fill matters as much as what you pay.
- Slippage. Both venues use a central limit order book, so a large order walks the book and fills worse than the top quote. In thin markets your effective c can be several cents above the displayed price, which can shrink a thin edge to nothing.
Compute Kelly on the price you will actually pay after fees and slippage, then apply your fractional multiplier. Doing it in the other order flatters the position. The fee math also pushes you toward resting limit orders, since paying the maker side instead of the taker side is often the difference between a positive and a negative expected value on a mid-priced market.
Wiring it into an automated strategy
Kelly is a sizing rule, which makes it a natural fit for a strategy that runs continuously rather than a one-off bet. The loop is simple: estimate p, read the live order book for the real c, compute f = (p - c)/(1 - c), multiply by your fraction (0.25 to 0.5 is a sane default), and place the order. On Banger you can express that as a Python strategy, paper-trade it against the live Polymarket or Kalshi book to confirm the edge survives fees and slippage, then run it live under a declarative risk envelope: a per-trade cap, a daily loss stop, a max-open-positions limit, a kill switch. The risk envelope is the backstop for the one thing Kelly does not protect you from: a p that was simply wrong.
Kelly will not find edge for you. It only tells you how hard to press an edge you already have, and how much to discount it for the fact that you are probably overconfident. On binary contracts that reduces to one short formula and one fraction. Get the probability honest, price it on your real fill after fees, size at a fraction of full Kelly, and let the geometry compound.