Advanced QuantLesson 4
Portfolio Construction & Kelly Criterion
Mathematically optimal position sizing and portfolio allocation.
13 minute read
4 key takeaways
The Kelly Criterion: Optimal Sizing
How much of your bankroll should you bet per trade? The Kelly Criterion answers this mathematically.
The Formula
f* = (bp - q) / b
Optimal fraction of bankroll to bet
- b = win/loss ratio (average win / average loss)
- p = win probability
- q = 1 - p = loss probability
python
# Example strategy
win_probability = 0.55
avg_win = 2.0
avg_loss = 1.0
win_loss_ratio = avg_win / avg_loss
kelly_fraction = (win_loss_ratio * win_probability - (1 - win_probability)) / win_loss_ratio
# = (2.0 * 0.55 - 0.45) / 2.0
# = (1.10 - 0.45) / 2.0
# = 0.325 = 32.5%
half_kelly = kelly_fraction / 2 # 16.25%
# Use Half-Kelly in practice
Full Kelly vs. Half-Kelly
| Approach | Growth | Max Drawdown | When to Use |
|---|---|---|---|
| Full Kelly | Highest | -60%+ | Only if you can handle it |
| Half-Kelly | High | -20-30% | This one! (recommended) |
| Quarter-Kelly | Moderate | -10% | If very risk-averse |
Full Kelly has incredible growth but devastating drawdowns. You'll go broke psychologically. Use Half-Kelly.
Portfolio-Level Diversification
Instead of betting everything on one strategy, diversify across multiple uncorrelated strategies.
python
# Portfolio of strategies
strategies = {
'trend_following': {'allocation': 0.30, 'expected_return': 0.12},
'mean_reversion': {'allocation': 0.30, 'expected_return': 0.10},
'pairs_trading': {'allocation': 0.25, 'expected_return': 0.14},
'cash': {'allocation': 0.15, 'expected_return': 0.05}
}
# Portfolio return = sum(weights * returns)
portfolio_return = sum(
s['allocation'] * s['expected_return']
for s in strategies.values()
)
# = 0.30*0.12 + 0.30*0.10 + 0.25*0.14 + 0.15*0.05 = 0.108 = 10.8%
# Correlation matters more than individual strategy returns
# Low correlation = lower portfolio volatility
The Correlation Problem
In normal times, stocks are 50-70% correlated. In crashes, correlation goes to 1.0 (everyone sells everything).
Correlation illusion in Bull Markets
During 2010-2021 bull market, diversification seemed pointless (everything went up 20%/year). In 2022 crash, suddenly diversification mattered. Always prepare for regime change.
Key Takeaways
- Kelly Criterion: f* = (bp - q) / b
- Full Kelly has wild drawdowns; use Half-Kelly
- Correlation matrix changes in crashes (watch out)
- Diversify across uncorrelated strategies, not just stocks