Position Sizing Strategies: Kelly Criterion and Fixed Fractional
Position sizing determines what percentage of your capital to allocate to each trade, and it has a larger impact on long-term trading performance than entry signals or exit strategies. A trader with mediocre signals but excellent position sizing will outperform a trader with excellent signals but poor position sizing over any meaningful time horizon. This is because position sizing directly controls the trade-off between growth rate and drawdown risk, the two variables that determine whether a trading account survives and compounds.
This guide covers the mathematical foundations of the major position sizing methods, their practical implementation, and the critical adjustments needed to apply textbook formulas to real-world trading.
Why Position Sizing Matters More Than Signal Quality
Consider two traders: Trader A has a 55% win rate with a 1:1.5 risk-reward ratio and sizes positions at 2% risk per trade. Trader B has the same edge but sizes positions at 15% risk per trade.
Over 1,000 trades, the mathematical expectation is identical:
- Expected value per trade = (0.55 x 1.5) - (0.45 x 1.0) = 0.375 (37.5 cents per dollar risked)
But the outcomes diverge dramatically:
- Trader A: Steady equity growth with maximum drawdown around 15-20%. Account grows to approximately 4.5x starting capital.
- Trader B: Initial rapid growth, but inevitable losing streaks (5-8 consecutive losses occur with near certainty over 1,000 trades) produce drawdowns of 60-80%, often leading to account ruin.
The edge is the same. The sizing determines survival.
Fixed Fractional Position Sizing
The simplest and most widely used method. Each trade risks a fixed percentage of the current account balance.
Formula
Position Size (shares) = (Account Balance x Risk %) / (Entry Price - Stop Price)Or equivalently:
Position Size (shares) = Risk Amount / Dollar Risk per ShareExample
Account balance: $100,000
Risk per trade: 1% = $1,000
Entry price: $50.00
Stop-loss: $48.00
Dollar risk per share: $2.00
Position Size = $1,000 / $2.00 = 500 shares ($25,000 position)
Advantages
- Simple to calculate and implement
- Automatically scales position size with account growth (compounding)
- Automatically reduces position size during drawdowns (protective)
- Consistent dollar risk per trade
Optimal Risk Percentage
Research by Van Tharp, Ralph Vince, and others suggests the following guidelines for fixed fractional sizing:
- 0.5-1%: Conservative. Suitable for accounts that cannot tolerate significant drawdowns (managed money, retirement accounts). Maximum expected drawdown: 10-15%.
- 1-2%: Standard. Appropriate for most active traders with medium-term horizons. Maximum expected drawdown: 15-25%.
- 2-3%: Aggressive. For experienced traders with proven edges and high risk tolerance. Maximum expected drawdown: 25-40%.
- Above 3%: Generally too aggressive for sustained trading. Produces severe drawdowns during inevitable losing streaks.
Kelly Criterion
The Kelly Criterion, developed by John L. Kelly Jr. at Bell Labs in 1956, calculates the theoretically optimal fraction of capital to risk on each bet to maximize the long-term geometric growth rate.
Formula
f* = (bp - q) / bWhere:
- f* = Optimal fraction of capital to risk
- b = The odds received on the wager (win amount / loss amount)
- p = Probability of winning
- q = Probability of losing (1 - p)
Trading Adaptation
For trading, where the risk-reward ratio replaces fixed odds:
f* = (W/L x p - q) / (W/L)Or equivalently:
f* = p - (q / (W/L))Where:
- W = Average winning trade (dollars)
- L = Average losing trade (dollars)
- p = Win rate
- q = Loss rate (1 - p)
Example
Win rate: 55% (p = 0.55, q = 0.45)
Average winner: $1,500
Average loser: $1,000
W/L ratio: 1.5
f* = 0.55 - (0.45 / 1.5) = 0.55 - 0.30 = 0.25 (25%)
The Kelly Criterion suggests risking 25% of capital per trade. In theory, this maximizes long-term growth.
The Problem with Full Kelly
In practice, full Kelly sizing is dangerously aggressive for trading because:
- Parameter uncertainty: Win rates and reward ratios are estimated from historical data and change over time. Small errors in estimated edge produce large errors in optimal sizing.
- Drawdown severity: Full Kelly produces drawdowns of approximately 50% at some point with near certainty. Few traders can psychologically tolerate this.
- Non-independence: Kelly assumes bets are independent, but trades may be correlated (sector moves, macro events), increasing the effective risk.
- Ruin risk: In markets (unlike the theoretical model), adverse events can produce losses larger than the planned stop-loss (gaps, flash crashes).
Half-Kelly and Fractional Kelly
The standard practice is to use a fraction of the Kelly recommendation:
- Half Kelly (0.5f*): Achieves approximately 75% of the full Kelly growth rate with dramatically lower drawdowns. This is the most common professional implementation.
- Quarter Kelly (0.25f*): Achieves approximately 50% of full Kelly growth with very manageable drawdowns. Suitable for risk-averse accounts.
Optimal f (Ralph Vince)
Ralph Vince extended Kelly's work by proposing the concept of "optimal f," which determines the fraction of capital that maximizes the Terminal Wealth Relative (TWR, the ending wealth ratio) across a specific set of historical trades.
Calculation
Optimal f is found through iteration:
- Take the historical trade series
- Calculate TWR for different fractions (0.01 to 1.00)
- The fraction that produces the highest TWR is optimal f
TWR = Product of (1 + f x (-Trade_i / Largest_Loss)) for all trades
Practical Issues
Optimal f suffers from the same drawdown problems as full Kelly, often more so because it optimizes on a specific historical series that may not be representative of future conditions. Vince himself recommends using a fraction of optimal f for actual trading.
Comparing Position Sizing Methods
| Method | Growth Rate | Max Drawdown | Complexity | Best For | |--------|-------------|--------------|------------|----------| | Fixed Fractional (1%) | Moderate | 10-20% | Low | Most traders | | Fixed Fractional (2%) | Higher | 20-30% | Low | Experienced traders | | Half Kelly | Near-optimal | 25-35% | Medium | Quantitative traders with reliable edge estimates | | Quarter Kelly | Moderate | 12-20% | Medium | Risk-averse quantitative traders | | Optimal f | Maximum theoretical | 40-60%+ | High | Academic/research (not recommended for live trading) |Dynamic Position Sizing Adjustments
Volatility-Based Adjustment
Adjust the fixed fractional risk based on current market volatility:
- When VIX is below its 50-day average: Use standard risk (e.g., 1.5%)
- When VIX is above its 50-day average: Reduce risk (e.g., 1.0%)
- When VIX is above 30: Reduce risk further (e.g., 0.5%)
Equity Curve-Based Adjustment
Adjust sizing based on recent performance:
- When account equity is above its 20-trade moving average: Full position sizes
- When account equity is below its 20-trade moving average: Reduce sizes by 50%
Correlation-Based Adjustment
When holding multiple positions, reduce individual position sizes if positions are correlated:
Adjusted Risk per Position = Base Risk / sqrt(Number of Correlated Positions)For 4 correlated positions at 2% base risk:
Adjusted = 2% / sqrt(4) = 2% / 2 = 1% per position
Python Implementation
def kelly_criterion(win_rate, avg_win, avg_loss, kelly_fraction=0.5):
"""Calculate Kelly position size with fractional adjustment."""
if avg_loss == 0:
return 0
wl_ratio = avg_win / avg_loss
q = 1 - win_rate
kelly = win_rate - (q / wl_ratio)
return max(0, kelly * kelly_fraction)
def fixed_fractional_size(account_balance, risk_pct, entry, stop):
"""Calculate position size using fixed fractional method."""
risk_amount = account_balance * risk_pct
dollar_risk = abs(entry - stop)
if dollar_risk == 0:
return 0
return int(risk_amount / dollar_risk)
Example
account = 100_000
win_rate = 0.55
avg_win = 1500
avg_loss = 1000
half_kelly = kelly_criterion(win_rate, avg_win, avg_loss, 0.5)
print(f"Half Kelly risk: {half_kelly:.1%}") # 12.5%
shares = fixed_fractional_size(account, 0.01, 50.00, 48.00)
print(f"Fixed fractional shares: {shares}") # 500
Key Takeaways
- Position sizing has a greater impact on long-term performance than entry signals. A modest edge with proper sizing outperforms a strong edge with poor sizing.
- Fixed fractional sizing (1-2% risk per trade) is the simplest and most robust method for most traders.
- The Kelly Criterion provides the theoretically optimal sizing but is dangerously aggressive in practice. Use half or quarter Kelly to capture most of the growth benefit with far lower drawdown risk.
- Parameter uncertainty (imprecise win rate and reward ratio estimates) is the primary reason to use conservative sizing relative to theoretical optima.
- Dynamic adjustments based on volatility, equity curve position, and position correlation improve risk-adjusted performance.
- The maximum acceptable drawdown for most traders is 20-25%. Size positions to keep expected maximum drawdown within this tolerance.
Frequently Asked Questions
How do you estimate win rate and reward ratio for Kelly Criterion?
Use at least 100 trades of historical data (ideally 200+) to estimate win rate and average reward ratio. Update these estimates periodically (quarterly or after every 50 trades) as market conditions change. Always use out-of-sample or walk-forward estimates rather than in-sample backtested results, which tend to overestimate edge and produce Kelly fractions that are too large.
Is 1% risk per trade really enough?
For most traders, 1% risk per trade provides excellent compounding while keeping drawdowns manageable. At 1% risk with a 55% win rate and 1.5:1 reward ratio, an account doubles roughly every 250-300 trades. The compounding works because the position size grows with the account. The 2% "professional standard" is appropriate for experienced traders but produces drawdowns approximately twice as deep as 1%.
How should position sizing change during a losing streak?
Fixed fractional sizing automatically reduces dollar risk during losing streaks because position sizes are calculated from the declining account balance. Some traders add explicit drawdown rules: reduce risk to 0.5% after a 10% drawdown, or stop trading entirely after a 15% drawdown to reassess the strategy. The key is to avoid increasing risk to "make back" losses, which is the single most destructive behavior in trading.
Can position sizing overcome a negative edge?
No. Position sizing optimizes the rate of growth or loss, but it cannot turn a losing strategy into a winning one. If the expected value per trade is negative (the edge is negative), every position sizing method will eventually produce losses. The only exception is reducing position sizes so dramatically that trading costs become the dominant factor, at which point the trader should simply not trade.