Finance15 min read·

Kelly Criterion: Optimal Bet Sizing Explained 2026

A practical guide to the Kelly Criterion - the formula for optimal bet sizing, how to apply it to trading and investing, why most practitioners use fractional Kelly, and Python examples.

What Is the Kelly Criterion?

The Kelly criterion is a formula that tells you the optimal fraction of your capital to bet on a favourable opportunity in order to maximise long-run geometric growth. It was developed by John Larry Kelly Jr. at Bell Labs in 1956, originally as a solution to a problem in information theory about signal noise on telephone lines. Within a decade, mathematicians and gamblers had recognised its direct application to betting, investing, and portfolio allocation.

The core insight is simple: bet too little on a genuine edge and you leave money on the table; bet too much and you risk catastrophic losses that wipe out years of gains. The Kelly criterion finds the precise point between these two extremes - the fraction that produces the highest expected growth rate of your wealth over many repeated bets.

Unlike fixed-fraction betting rules or gut-feel position sizing, the Kelly criterion is mathematically optimal under its assumptions. It maximises the expected logarithm of wealth, which is equivalent to maximising the long-run compound growth rate. No other strategy will make your capital grow faster on average over a sufficiently long time horizon.

In 2026, the Kelly criterion is widely used across quantitative trading, sports betting, poker, and portfolio management. It's a foundational concept in risk management and one of the most practically useful results in all of probability theory. However, most real-world practitioners use a reduced version called fractional Kelly, for reasons we'll explore in detail below.


The Kelly Formula

The Kelly formula comes in several forms depending on the type of bet or investment. The simplest version applies to a binary bet with known odds and probability of winning.

Simple Bet (Binary Outcome)

For a bet where you either win or lose a fixed amount:

f = (bp - q) / b*

Where:

  • f* = the optimal fraction of your bankroll to bet
  • b = the net odds received on the bet (e.g. if you bet £1 to win £2, then b = 2)
  • p = the probability of winning
  • q = the probability of losing (q = 1 - p)

If the result is negative, the Kelly criterion says don't bet at all - you have no edge.

If the result is greater than 1, the formula says you should bet more than your entire bankroll (i.e. use leverage). In practice, this rarely happens with realistic probability estimates, and most practitioners cap the Kelly fraction at some reasonable level.

Continuous Case (Investment Returns)

For continuous investment returns - the more common case in trading - the Kelly fraction takes a different form:

f = (mu - r) / sigma^2*

Where:

  • f* = the optimal fraction of capital to allocate
  • mu = the expected return of the investment
  • r = the risk-free rate
  • sigma^2 = the variance of the investment's returns

This version is sometimes called the Merton-Kelly formula because Robert Merton derived the same result independently in his continuous-time portfolio theory. It says: allocate more when the excess return (mu - r) is high relative to the variance. High-variance opportunities deserve smaller allocations, even if their expected return is attractive.

Notice that the formula involves the ratio of excess return to variance, which is closely related to the Sharpe ratio. In fact, the Kelly fraction for a single asset equals the Sharpe ratio divided by the volatility: f* = (Sharpe ratio) / sigma.


Worked Examples

Example 1: Coin Flip With an Edge

Suppose you're offered a biased coin flip. Heads, you win £2 for every £1 wagered. Tails, you lose your £1 stake. The coin lands heads 55% of the time.

Here:

  • b = 2 (you win £2 per £1 bet)
  • p = 0.55
  • q = 0.45

f = (bp - q) / b = (2 × 0.55 - 0.45) / 2 = (1.10 - 0.45) / 2 = 0.65 / 2 = 0.325*

The Kelly criterion says to bet 32.5% of your bankroll on each flip. This might seem aggressive - and it is. We'll discuss why most people use a fraction of this amount later.

If the coin were fair (p = 0.50), the Kelly fraction would be (2 × 0.50 - 0.50) / 2 = 0.25. If the odds were even money (b = 1), a fair coin gives f* = (1 × 0.50 - 0.50) / 1 = 0, correctly indicating no bet should be placed.

Example 2: Stock Trading

Suppose you've identified a quantitative trading strategy that produces an expected annual return of 15% with an annual volatility of 20%. The risk-free rate is 4.5%.

Using the continuous Kelly formula:

f = (mu - r) / sigma^2 = (0.15 - 0.045) / 0.20^2 = 0.105 / 0.04 = 2.625*

The Kelly criterion recommends a 262.5% allocation - meaning you should lever up 2.6x. This is a common result and highlights why full Kelly is so aggressive. A strategy with a Sharpe ratio of about 0.53 (which is decent but not exceptional) calls for substantial leverage under the full Kelly framework.

For a strategy with the same expected return but 30% volatility:

f = 0.105 / 0.09 = 1.167*

Higher volatility reduces the optimal allocation, as you'd expect. Risk and reward are both considered.


Kelly Criterion for Trading

Adapting the Kelly criterion from gambling to financial markets requires several important adjustments. In gambling, the probabilities and payoffs are usually known. In trading, they must be estimated - and estimation introduces error.

Estimating Edge and Variance

To apply the Kelly criterion to a trading strategy, you need estimates of:

  1. Expected return (mu) - typically estimated from backtested or live returns
  2. Variance of returns (sigma^2) - estimated from the same data
  3. Risk-free rate (r) - observable from government bond yields

The quality of these estimates determines whether the Kelly criterion helps or hurts. If you overestimate your edge (mu is too high) or underestimate your risk (sigma^2 is too low), the Kelly formula will tell you to bet too aggressively. Since estimation error almost always biases in the dangerous direction - people tend to be overconfident about their edge - this is the primary practical concern with Kelly sizing.

Win Rate and Payoff Ratio Approach

Some traders prefer the discrete version, converting their strategy into a series of wins and losses. If your strategy wins W% of the time with an average win of £A and loses (1 - W)% with an average loss of £L:

f = (W × A - (1 - W) × L) / A*

This is algebraically equivalent to the simple Kelly formula where b = A/L. It's popular among systematic traders who can clearly categorise each trade as a win or loss.

The Role of Serial Correlation

The standard Kelly formula assumes each bet is independent of the previous one. In financial markets, returns are often serially correlated - a losing streak may predict further losses due to momentum effects, mean reversion, or regime shifts. This violates a key Kelly assumption and means the "optimal" fraction calculated from historical data may be too aggressive during adverse regimes.

Sophisticated practitioners adjust for this by estimating the Kelly fraction conditional on the current market regime or by incorporating autoregressive models into their return estimates. At minimum, understanding the statistical properties of your return series before applying Kelly sizing is essential.


Why Full Kelly Is Too Aggressive

The Kelly criterion is mathematically optimal for maximising long-run growth, so why doesn't every trader and investor use the full Kelly bet? Because the theoretical optimum comes with practical costs that most people find unacceptable.

Enormous Drawdowns

Full Kelly sizing produces stomach-churning drawdowns. Simulations show that a full Kelly bettor can expect to lose 50% of their bankroll at some point with near certainty, and drawdowns of 80-90% are not unusual over long horizons. The Kelly criterion guarantees you won't go completely broke (in the theoretical continuous case), but it allows you to get extremely close.

For a fund manager answering to investors, or a trader who needs to pay rent, these drawdowns are career-ending. The maximum drawdown on a full Kelly strategy will exceed what almost any investor is willing to tolerate.

Parameter Uncertainty

The Kelly formula takes the probability of winning and the payoff ratio as known inputs. In reality, these are estimated with error. A small overestimate of your edge leads to a large overallocation, which amplifies losses when the true edge is smaller than expected. Research by Thorp and others has shown that the penalty for overbetting is much worse than the cost of underbetting. If you bet 1.5x the Kelly fraction, your growth rate can actually turn negative - you lose money on average despite having a genuine edge.

Non-Normal Distributions

The continuous Kelly formula assumes returns are normally distributed. Real financial returns have fat tails, skewness, and occasional extreme moves that a normal distribution dramatically underestimates. These tail events interact badly with aggressive position sizing. A 4-sigma loss that "shouldn't happen" under normal assumptions can devastate a full Kelly portfolio.

Utility Considerations

The Kelly criterion maximises the logarithm of wealth, which implies a specific risk tolerance. Not everyone has log utility. More risk-averse investors - which includes most institutional allocators - prefer lower variance even at the cost of lower expected growth. For them, the Kelly fraction is too aggressive by definition.


Fractional Kelly

The standard solution to the problems above is fractional Kelly - simply multiply the full Kelly fraction by a constant less than 1. The most common variants are half-Kelly (f*/2) and quarter-Kelly (f*/4).

The Trade-off

Fractional Kelly gives up some expected growth rate in exchange for dramatically lower risk.

Kelly FractionGrowth Rate (% of Full Kelly)Drawdown SeverityVolatility
Full Kelly (1.0)100%Very highVery high
3/4 Kelly (0.75)~94%HighHigh
Half Kelly (0.50)~75%ModerateModerate
Quarter Kelly (0.25)~44%LowLow

The key insight is that half-Kelly gives you 75% of the growth rate of full Kelly but with substantially less variance and much smaller drawdowns. This is an extraordinarily good trade-off. You sacrifice 25% of your growth to avoid the ruinous drawdowns that make full Kelly impractical.

Why Half-Kelly Is Standard

Half-Kelly has become the default recommendation in the quantitative finance community for several reasons:

  1. It compensates for estimation error. Since you're probably overestimating your edge, betting half the theoretical optimum provides a buffer against model misspecification.
  2. The growth sacrifice is modest. Losing 25% of the growth rate is a mild penalty relative to the drawdown reduction.
  3. It's roughly optimal under parameter uncertainty. If your edge estimate has reasonable error bars, half-Kelly approximates the true optimal bet when you account for that uncertainty.
  4. It produces investable strategies. A fund using half-Kelly can present a track record that allocators will actually tolerate.

Ed Thorp, who arguably did more than anyone to bring the Kelly criterion from theory to practice, has consistently recommended half-Kelly or less for real-world applications.


Kelly Criterion in Python

Here's a practical Python implementation that calculates the optimal Kelly fraction from a strategy's historical returns and simulates growth paths for different Kelly fractions.

Calculating the Kelly Fraction

import numpy as np import pandas as pd def kelly_fraction(returns: pd.Series, risk_free_rate: float = 0.0) -> dict: """ Calculate the Kelly fraction from a series of strategy returns. Parameters ---------- returns : pd.Series Period returns (e.g. daily). risk_free_rate : float Per-period risk-free rate matching the return frequency. Returns ------- dict Kelly fraction and supporting statistics. """ mu = returns.mean() sigma2 = returns.var() excess = mu - risk_free_rate if sigma2 == 0: return {"kelly": 0.0, "mu": mu, "sigma2": sigma2, "excess_return": excess} kelly = excess / sigma2 return { "kelly": kelly, "half_kelly": kelly / 2, "quarter_kelly": kelly / 4, "mu": mu, "sigma": np.sqrt(sigma2), "sigma2": sigma2, "excess_return": excess, "sharpe_annual": (excess / np.sqrt(sigma2)) * np.sqrt(252), } def kelly_discrete(win_prob: float, win_loss_ratio: float) -> float: """ Kelly fraction for a simple binary bet. Parameters ---------- win_prob : float Probability of winning. win_loss_ratio : float Ratio of average win to average loss (b in the formula). Returns ------- float Optimal fraction of bankroll to wager. """ q = 1 - win_prob return (win_loss_ratio * win_prob - q) / win_loss_ratio # --- Example usage --- np.random.seed(42) daily_returns = pd.Series(np.random.normal(0.0004, 0.012, 756)) result = kelly_fraction(daily_returns, risk_free_rate=0.045 / 252) print("=== Kelly Criterion from Historical Returns ===") print(f"Mean daily return: {result['mu']:.6f}") print(f"Daily volatility: {result['sigma']:.6f}") print(f"Annualised Sharpe: {result['sharpe_annual']:.2f}") print(f"Full Kelly fraction: {result['kelly']:.2f}") print(f"Half Kelly fraction: {result['half_kelly']:.2f}") print(f"Quarter Kelly: {result['quarter_kelly']:.2f}") # Discrete example: 55% win rate, 1.2:1 win/loss ratio disc = kelly_discrete(0.55, 1.2) print(f"\nDiscrete Kelly (55% win, 1.2:1 ratio): {disc:.4f}")

Simulating Growth Paths

This second block simulates how a bankroll evolves under full Kelly, half-Kelly, and quarter-Kelly sizing over many repeated bets.

import numpy as np import pandas as pd def simulate_kelly_paths( mu: float, sigma: float, kelly_fractions: list[float], n_periods: int = 1000, n_simulations: int = 500, risk_free_rate: float = 0.0, ) -> pd.DataFrame: """ Monte Carlo simulation of wealth paths under different Kelly fractions. Parameters ---------- mu : float Expected per-period return of the opportunity. sigma : float Per-period standard deviation of the opportunity. kelly_fractions : list[float] Multipliers of the full Kelly fraction to simulate (e.g. [1.0, 0.5, 0.25]). n_periods : int Number of time periods to simulate. n_simulations : int Number of Monte Carlo paths. risk_free_rate : float Per-period risk-free rate. Returns ------- pd.DataFrame Summary statistics for each Kelly fraction. """ full_kelly = (mu - risk_free_rate) / sigma**2 results = [] for frac in kelly_fractions: allocation = full_kelly * frac remaining = 1 - allocation terminal_wealth = np.zeros(n_simulations) max_drawdowns = np.zeros(n_simulations) for sim in range(n_simulations): returns = np.random.normal(mu, sigma, n_periods) portfolio_returns = allocation * returns + remaining * risk_free_rate equity = np.cumprod(1 + portfolio_returns) terminal_wealth[sim] = equity[-1] running_max = np.maximum.accumulate(equity) drawdowns = (equity - running_max) / running_max max_drawdowns[sim] = drawdowns.min() cagr = np.median(terminal_wealth) ** (1 / n_periods) - 1 results.append({ "kelly_label": f"{frac:.0%} Kelly", "allocation": allocation, "median_terminal_wealth": np.median(terminal_wealth), "mean_terminal_wealth": np.mean(terminal_wealth), "p5_terminal_wealth": np.percentile(terminal_wealth, 5), "cagr_median": cagr, "median_max_drawdown": np.median(max_drawdowns), "worst_max_drawdown": np.min(max_drawdowns), "prob_loss": np.mean(terminal_wealth < 1.0), }) return pd.DataFrame(results) # --- Run simulation --- np.random.seed(123) summary = simulate_kelly_paths( mu=0.0004, sigma=0.012, kelly_fractions=[1.0, 0.75, 0.5, 0.25], n_periods=756, n_simulations=1000, risk_free_rate=0.045 / 252, ) print("=== Kelly Fraction Comparison (3-Year Simulation) ===\n") for _, row in summary.iterrows(): print(f"--- {row['kelly_label']} (allocation: {row['allocation']:.1f}x) ---") print(f" Median terminal wealth: £{row['median_terminal_wealth']:.2f}") print(f" 5th percentile wealth: £{row['p5_terminal_wealth']:.2f}") print(f" Median max drawdown: {row['median_max_drawdown']:.1%}") print(f" Worst max drawdown: {row['worst_max_drawdown']:.1%}") print(f" Probability of loss: {row['prob_loss']:.1%}") print()

The output from this simulation typically shows that full Kelly produces the highest median terminal wealth but also the deepest drawdowns and a non-trivial probability of devastating loss. Half-Kelly achieves a large portion of the growth with dramatically better worst-case outcomes.


Kelly Criterion and Portfolio Allocation

The Kelly criterion extends naturally from single bets to portfolios of multiple assets. This generalisation connects it directly to modern portfolio theory.

Multiple Assets

For a portfolio of N correlated assets, the Kelly-optimal allocation vector is:

f = Sigma^(-1) × (mu - r)*

Where:

  • Sigma^(-1) = the inverse of the return covariance matrix
  • mu = the vector of expected returns
  • r = the risk-free rate (applied uniformly)

This is identical to the tangency portfolio from mean-variance optimisation, scaled by a factor that depends on the investor's risk tolerance. Under log utility (which the Kelly criterion implicitly assumes), the scaling factor is 1, giving you the full Kelly portfolio.

Connection to Mean-Variance Optimisation

The Kelly portfolio is a specific case of mean-variance optimisation where the investor has logarithmic utility. Harry Markowitz's mean-variance framework identifies the efficient frontier; the Kelly criterion picks a specific point on that frontier. In practice, this means all the tools of portfolio theory - covariance estimation, factor models, shrinkage estimators - are directly applicable when computing Kelly allocations for multiple assets.

The difference is one of philosophy rather than mathematics. Mean-variance optimisation lets you choose your risk tolerance. The Kelly criterion fixes it at the level that maximises long-run growth. If you're more risk-averse than log utility implies (and most institutional investors are), you'll want to hold a fractional Kelly portfolio.

Practical Considerations

Estimating a full covariance matrix reliably is harder than estimating the parameters for a single asset. With 50 assets, you need to estimate 1,275 covariance terms - each with its own estimation error. In practice, Kelly-based portfolio allocation works best with a small number of relatively uncorrelated strategies or asset classes, where the covariance matrix can be estimated with reasonable confidence.


Famous Users of the Kelly Criterion

Ed Thorp

Edward O. Thorp is the person most responsible for bringing the Kelly criterion from information theory into gambling and finance. In the 1960s, Thorp used the Kelly criterion alongside card counting to beat blackjack, famously described in his book Beat the Dealer. He later applied the same principles to warrants pricing and ran Princeton Newport Partners, a hedge fund that generated roughly 20% annualised returns for nearly two decades with remarkably small drawdowns. Thorp has always advocated fractional Kelly in practice, noting that the penalty for overbetting far exceeds the cost of underbetting.

Jim Simons and Renaissance Technologies

Jim Simons's Medallion Fund, widely considered the most successful hedge fund in history, reportedly uses Kelly-type position sizing as part of its systematic trading framework. While the exact methods are proprietary, former employees have described a system that sizes positions according to estimated edge and variance - the essential ingredients of the Kelly formula. The fund's extraordinary returns (roughly 66% annually before fees from 1988 to 2018) are at least partly attributed to disciplined, mathematically grounded position sizing.

Warren Buffett

Buffett doesn't use the Kelly formula explicitly, but his investment philosophy - concentrate capital in your best ideas rather than diversifying broadly - aligns with Kelly principles. Charlie Munger has spoken approvingly of the Kelly criterion, and Buffett's willingness to allocate 20-40% of Berkshire Hathaway's portfolio to a single position is consistent with Kelly-optimal behaviour for an investor with very high conviction.

Professional Gamblers and Poker Players

The Kelly criterion is standard knowledge in professional gambling. Poker players use Kelly sizing to decide how much of their bankroll to put at risk in a given game or tournament. Sports bettors use it to size wagers on events where they believe they have an informational edge. In both cases, the practical consensus is that half-Kelly or less is prudent, since probability estimates in gambling are imprecise despite being more concrete than in finance.


Limitations of the Kelly Criterion

The Kelly criterion is theoretically elegant but relies on assumptions that don't hold cleanly in real markets.

It Assumes Known Probabilities

The formula requires exact values for the probability of winning and the payoff. In trading, these are estimated from historical data, and estimation error can be substantial. Overestimating your edge by even a small amount leads the Kelly formula to recommend a dangerously aggressive position. The relationship is asymmetric - the cost of betting too much exceeds the cost of betting too little, which is why practitioners always shade toward caution.

It Ignores Liquidity

The Kelly criterion assumes you can trade whatever size you want without affecting the price. In reality, large positions face slippage, market impact, and the risk of being unable to exit during a crisis. A strategy that looks optimal under Kelly sizing may become impractical or loss-making when transaction costs and liquidity constraints are included.

Serial Correlation

The formula assumes each bet is independent. Financial returns exhibit autocorrelation, regime shifts, and clustering of volatility. A strategy's edge may vanish during certain market conditions, precisely when a Kelly-sized position would expose you to the largest losses.

Estimation Error Compounds

Small errors in estimating the mean return have large effects on the Kelly fraction because the mean appears in the numerator while variance appears in the denominator. Since expected returns are notoriously difficult to estimate with precision (even with years of data), the Kelly fraction computed from historical data can be wildly unstable. Recalculating monthly from rolling windows often produces allocation recommendations that swing dramatically.

It Maximises Growth, Not Utility

The Kelly criterion maximises the long-run geometric growth rate. This is only optimal if you have logarithmic utility - if your happiness scales with the logarithm of your wealth. Many investors are more risk-averse than this, and institutional mandates often impose hard drawdown limits that Kelly sizing would violate. The Kelly framework provides no mechanism for incorporating these constraints directly; you have to impose them externally through fractional Kelly or hard position limits.

It Doesn't Account for Horizon

The Kelly criterion assumes an infinite time horizon. Real investors have finite horizons and may need to access their capital before the law of large numbers smooths out short-term volatility. A retiree drawing down savings can't afford the drawdowns that a Kelly-optimal strategy produces, even if they would eventually recover.


Frequently Asked Questions

What is the Kelly criterion in simple terms?

The Kelly criterion is a formula that tells you what fraction of your money to bet on a favourable opportunity. It balances two competing goals: betting enough to take advantage of your edge, and not betting so much that a losing streak wipes you out. The formula was developed by John Kelly at Bell Labs in 1956 and has since been applied to gambling, trading, and investing. For a simple bet where you win with probability p and the payout is b-to-1, the formula is f* = (bp - q) / b, where q = 1 - p. The result gives you the fraction of your bankroll to wager.

How do you calculate the Kelly criterion for trading?

For trading, use the continuous version of the Kelly formula: f* = (mu - r) / sigma^2, where mu is the expected return of your strategy, r is the risk-free rate, and sigma^2 is the variance of returns. Estimate mu and sigma^2 from backtested or live trading data. If your strategy has a mean daily return of 0.04% and daily volatility of 1.2%, the full Kelly fraction would be roughly (0.0004 - 0.00018) / 0.000144 = 1.53, meaning 153% allocation (i.e. 1.5x leverage). Most practitioners then multiply this by 0.5 to get the half-Kelly recommendation.

Why do most traders use half-Kelly instead of full Kelly?

Full Kelly maximises long-run growth but produces extreme drawdowns along the way. Simulations show that a full Kelly bettor will commonly experience drawdowns of 50% or more. Half-Kelly retains about 75% of the growth rate while dramatically reducing drawdown severity. It also provides a buffer against estimation error - since traders typically overestimate their edge slightly, betting half the calculated optimum brings the actual bet closer to the true optimum. Ed Thorp, the mathematician who popularised the Kelly criterion in finance, has consistently recommended half-Kelly or less for real-world use.

Can the Kelly criterion tell you not to bet?

Yes. If the Kelly formula returns a negative number, it means the bet has negative expected value - you're more likely to lose than the odds justify. The correct action is to not bet at all (or, if shorting is possible, to take the opposite side). For the simple formula f* = (bp - q) / b, any situation where bp < q yields a negative result. This is one of the formula's most useful features: it provides a clear decision rule for when to walk away entirely.

What is the difference between the Kelly criterion and fixed-fraction betting?

Fixed-fraction betting means wagering the same percentage of your bankroll on every bet, regardless of your edge or the odds. The Kelly criterion adjusts the fraction based on the specific edge and odds of each opportunity. If one bet has a 60% win probability at even money and another has a 52% win probability at 2-to-1 odds, the Kelly criterion sizes each bet differently according to its expected value and variance. Fixed-fraction betting treats them the same. Over time, Kelly sizing produces faster bankroll growth because it allocates more to higher-quality opportunities and less to marginal ones.

Does the Kelly criterion work for portfolio allocation across multiple assets?

Yes. The Kelly criterion generalises to multiple correlated assets through the formula f* = Sigma^(-1) × (mu - r), where Sigma^(-1) is the inverse of the covariance matrix and mu is the expected return vector. This produces the same allocation as the tangency portfolio in mean-variance optimisation under log utility. In practice, estimating the full covariance matrix reliably is challenging, and estimation errors in both means and covariances compound. Most practitioners apply fractional Kelly to the multi-asset result or use shrinkage techniques to stabilise the covariance matrix before computing allocations.

Want to go deeper on Kelly Criterion: Optimal Bet Sizing Explained 2026?

This article covers the essentials, but there's a lot more to learn. Inside Quantt, you'll find hands-on coding exercises, interactive quizzes, and structured lessons that take you from fundamentals to production-ready skills — across 50+ courses in technology, finance, and mathematics.

Free to get started · No credit card required