Lesson 11.1: Position sizing and risk budgets
How much to bet matters as much as what to bet on: volatility targeting, the Kelly fraction, risk contributions and risk parity, with simulations you can run.
By the end of this lesson you will be able to explain why position size, and not only the signal, decides whether a strategy survives, size a position by volatility targeting, compute the Kelly fraction and say why practitioners bet a fraction of it, split a portfolio's risk into contributions from each holding, and build a risk-parity allocation. You will show that an asset with 20 per cent volatility needs a 0.5 weight to hit a 10 per cent target, that betting half the Kelly fraction keeps 75 per cent of the growth with half the volatility, that a portfolio with 50 per cent of its money in one asset can take 84 per cent of its risk from it, and that sizing by volatility cut a simulated maximum drawdown from 44 per cent to 19 per cent without changing the average return. You should have read Lessons 2.1, 2.2 and 4.2. The mathematics is expected values, variances and a little matrix algebra. This course is education about how markets and research work, not investment advice.
The first ten modules were about finding an edge. This one is about not dying while you use it. Two traders with the same signal can have opposite outcomes: one sizes sensibly and compounds for twenty years, the other bets too much, hits a bad run and is gone. In quantitative investing, the question "how much?" is a model in its own right, and it is the part of the process that turns a forecast into a portfolio.
Why size matters more than most people expect
Suppose a strategy wins 55 per cent of the time and loses 45 per cent, with wins and losses of equal size. It has a real edge. What fraction of your capital should you stake on each bet? The answer is not "as much as possible". We simulated 500 bets, 20,000 times, for four fixed fractions:
Fraction of capital per bet · Median final wealth (start at 1) · Chance of a 30% drawdown at some point · Chance of a 50% drawdown · Median worst drawdown2% · 2.46 · 25.1% · 0.7% · 24.8%
5% · 6.53 · 99.7% · 60.7% · 53.3%
10% · 12.23 · 100% · 99.9% · 82.7%
20% · 0.93 · 100% · 100% · 99.4%
Every row has the same edge. Raising the stake from 2 per cent to 5 per cent almost triples the median result, but it also turns a 1-in-140 chance of losing half of your capital into a 6-in-10 chance. At 10 per cent the median outcome is the best, and the median investor suffers an 83 per cent drawdown on the way. At 20 per cent, the same edge produces a loss: the median path ends at 0.93. Too much size does not only add risk. Past a point, it destroys the growth that the edge was supposed to create. That is the central lesson of position sizing, and the rest of this module is about where the point lies and how to stay well inside it.
The Kelly criterion, revisited
Lesson 2.1 introduced the Kelly criterion: the fraction that maximises the long-run growth rate of capital. For a bet with probability p of winning one unit and 1 − p of losing one unit, the Kelly fraction is f = 2p − 1. At p = 0.55 this is 0.10, which is why 10 per cent in the table above has the best median and 20 per cent, double Kelly, has a median loss.
For an investment whose excess return has a mean μ and a standard deviation σ per year, a continuous-time version gives
f\ = μ ÷ σ²
where f is the leverage: the multiple of capital held in the asset. The expected growth rate of capital at leverage f is approximately
g(f) = r + f μ − ½ f² σ²
The first term is the interest on cash and does not depend on f. The second grows with f, and the third penalises it with the square. The result is a parabola that peaks at f\ and falls to zero growth at 2f\.
Take an asset with an expected excess return of 6 per cent a year and a volatility of 15 per cent. Its Sharpe ratio is 0.4 and its Kelly leverage is 0.06 ÷ 0.15² = 2.67. At that leverage the portfolio's volatility is 2.67 × 15% = 40%, and its excess growth is 8 per cent a year. The table below shows what happens at multiples of Kelly:
Multiple of Kelly · Leverage · Volatility of the portfolio · Excess growth rate · Share of the maximum growth0.25× · 0.67 · 10% · 3.5% · 43.8%
0.5× · 1.33 · 20% · 6.0% · 75.0%
1× · 2.67 · 40% · 8.0% · 100%
1.5× · 4.00 · 60% · 6.0% · 75.0%
2× · 5.33 · 80% · 0.0% · 0%
The share of the maximum growth is 2k − k², where k is the multiple of Kelly. Three consequences follow.
The curve is flat at the top and falls steeply to the right. Half Kelly gives up only a quarter of the growth and halves the volatility. One and a half times Kelly gives the same growth as half Kelly, with three times its volatility. Betting more than Kelly is dominated: for any over-bet there is a smaller one with the same growth and less risk.
Overbetting is worse than underbetting. Being 50 per cent too low costs a quarter of the growth. Being 100 per cent too high costs all of it.
The inputs are estimates. Kelly assumes that you know μ and σ. If you overestimate the edge by a factor of two, you are betting twice Kelly without knowing it. Estimation error in μ is the main reason practitioners bet a fraction, commonly a half or a quarter, of the computed Kelly.
Experiment with the numbers, to see how the leverage, volatility and growth change.
Why the fraction should be smaller still
Three reasons make half Kelly or less the normal choice.
1. Estimation error. Expected returns are measured with large errors (Lesson 10.1). A 6 per cent premium estimated from ten years of data with a 15 per cent volatility has a standard error of about 4.7 points. The Kelly bet is proportional to the estimate, so errors in μ go straight into the size.
2. Fat tails and changing volatility. Kelly with a normal distribution treats a −8σ day as impossible. Real returns have jumps (Lesson 2.2), and the leverage that is optimal for the average day can be fatal on a bad one.
3. The investor's drawdown tolerance. Full Kelly produces drawdowns of more than 50 per cent in most histories. Few clients, or risk managers, will wait through that.
Volatility targeting
The most widely used sizing rule in practice is simpler than Kelly: choose the size so that the volatility of the position is a fixed number. If the target is 10 per cent a year, the weight in an asset with volatility σ is
w = target ÷ σ
So an asset with 10 per cent volatility gets a weight of 1.0, one with 20 per cent gets 0.5 and one with 40 per cent gets 0.25. The same logic applies to a whole strategy: scale it up when its recent volatility is low, and down when it is high, to hold the risk constant.
Why it works. Volatility is persistent (Lesson 2.2): quiet periods tend to be followed by quiet periods and turbulent ones by turbulent ones. So recent realised volatility is a decent forecast of the near future, and the scaling does not have to be perfect to help. Meanwhile, returns are much less predictable than risk. Holding the risk steady means a portfolio is not unwittingly large in a storm and needlessly small in a calm.
We tested it on 20 years of simulated daily returns with a mean of 10 per cent a year and a volatility that wanders between calm and turbulent regimes. The fixed-size portfolio holds the asset at weight 1. The volatility-targeted portfolio holds a weight of 10 per cent divided by an exponentially weighted estimate of recent volatility (a decay of 0.94, as in the RiskMetrics convention), capped at 3.
· Fixed weight · Volatility-targetedAnnual return · 11.3% · 11.2%
Annual volatility · 15.9% · 10.5%
Sharpe ratio · 0.71 · 1.07
Maximum drawdown · 43.7% · 19.1%
Lowest and highest monthly volatility (annualised) · 4.1% and 64.3% · 2.3% and 17.3%
Standard deviation of monthly volatility · 7.7 points · 2.8 points
The returns are almost the same, so the benefit is in the risk. Volatility fell by a third, the Sharpe ratio rose by half, and the worst drawdown more than halved. In this simulation the benefit comes entirely from the persistence of the volatility. In real data the effect is smaller for assets where volatility and returns rise and fall together, and larger for strategies where the returns do not depend on the level of risk. It also costs transactions: the position changes every day, and the cost has to be netted out (Lesson 4.4).
Practical details
The estimate. Use an exponentially weighted or a rolling window of 20 to 60 days, and lag it so that the weight on day t uses only data up to day t − 1 (Lesson 4.1). A common error is to use the same day's volatility, which leaks the future.
Caps. Cap the leverage, as in the simulation, since a very quiet period can imply an absurd weight.
Smoothing and thresholds. Trade only when the target weight changes by more than a set amount, to save costs.
Correlations. Targeting each asset's volatility ignores the way assets move together. The next sections deal with that.
A known weakness. A sudden jump from a calm period hits the portfolio at full size before the estimate catches up. Targeting reduces tail risk without removing it.
Risk contributions: where does a portfolio's risk come from?
Capital weights say where the money is. They do not say where the risk is. The volatility of a portfolio with weights w and covariance matrix Σ is σₚ = √(wᵀΣw). The marginal contribution of asset i is how much the portfolio's volatility changes for a small increase in its weight,
MCᵢ = (Σw)ᵢ ÷ σₚ
and its risk contribution is RCᵢ = wᵢ × MCᵢ. A property known as Euler's theorem shows that the risk contributions add up exactly to the portfolio volatility, so each asset's share of the risk is RCᵢ ÷ σₚ and the shares sum to 100 per cent.
Worked example. A portfolio holds three assets: equities with a weight of 50 per cent and a volatility of 20 per cent, bonds with 30 per cent and 10 per cent, and a diversifier with 20 per cent and 5 per cent. The correlations are 0.3 between equities and bonds, 0.1 between equities and the diversifier and 0.2 between bonds and the diversifier. The portfolio's volatility is 11.5 per cent. The risk shares are:
Asset · Capital weight · Volatility · Share of the portfolio's riskEquities · 50% · 20% · 83.8%
Bonds · 30% · 10% · 14.2%
Diversifier · 20% · 5% · 2.0%
Half the money is in equities, and it supplies five-sixths of the risk. The diversifier holds a fifth of the capital and contributes 2 per cent of the risk. A portfolio described as "50/30/20" is really an equity bet with a minor supporting cast. This is why risk managers talk about a 60/40 portfolio as an equity portfolio in disguise: the stock sleeve has roughly three times the volatility of the bond sleeve, and delivers around nine-tenths of the risk.
Risk budgets and risk parity
A risk budget is a plan for how a portfolio's risk should be divided. Instead of choosing capital weights and finding out what the risk looks like, you decide the risk shares and solve for the weights. A fund might allow 50 per cent of its risk budget for equity selection, 30 for macro and 20 for relative value. A multi-manager platform (Lesson 9.3) gives each pod a risk allocation. A pension fund might spend 70 per cent of its risk on equities because that is where the return is expected to come from, and say so explicitly.
The special case with equal risk contributions is called risk parity. For our three assets, solving for equal contributions gives weights of 14.1 per cent in equities, 26.9 per cent in bonds and 59.0 per cent in the diversifier, a portfolio with a volatility of 5.8 per cent and risk shares of 33.3 per cent each. The simpler inverse-volatility weights, which ignore correlations, are 14.3, 28.6 and 57.1 per cent, with a volatility of 5.9 per cent: close, since the correlations here are low.
Risk parity has two features worth knowing.
It is a diversification rule, not a return forecast. It makes no claim about which asset will do best. It is a statement that, with no strong view, you should not let a single source of risk dominate.
It usually needs leverage. The weights above produce a portfolio with 5.8 per cent volatility, because most of the money is in the lower-risk assets. To match the 11.5 per cent of the original, the portfolio must be levered up about two times. Whether that is a good idea depends on the cost of the borrowing and on what happens to correlations in a crisis, which can rise and make the diversification weaker than the calm-period estimates suggest. Risk-parity funds had losses in 2013 and 2022, when bonds and equities fell together.
Putting it together: a sizing framework
Practitioners combine these ideas in layers.
1. Start with the risk budget at the top: how much total volatility, drawdown or loss the firm or fund can tolerate. This comes from the investors' and the firm's limits, not from the signals.
2. Allocate it among strategies, or pods, by their capacity, their expected Sharpe ratios and their correlations. A strategy with a higher Sharpe ratio deserves more risk, in the Kelly sense that the optimal size is proportional to the expected return divided by the variance.
3. Size positions within each strategy by volatility (so each is the same size in risk terms) and scale by conviction or signal strength, with caps for liquidity (Lesson 4.4) and concentration.
4. Apply a fraction of Kelly as a final check: if the sizes imply leverage above half Kelly, ask whether the edge is really that certain.
5. Monitor and rebalance, and cut size when a strategy's realised performance falls below its expectation, since a worse-than-expected record is evidence that the edge was overstated.
6. Set hard limits: a maximum loss per position, per strategy and per day, that cut the risk automatically (Lesson 11.4 returns to this).
The code below reproduces the lesson's numbers: the fixed-fraction simulation, the Kelly table, the risk contributions, the risk-parity weights and the volatility-targeting experiment.
python
import numpy as np
from math import sqrt
1. fixed-fraction betting: 55% win rate, equal wins and losses, 500 bets
rng = np.random.defaultrng(5)
N, T = 20000, 500
wins = rng.random((N, T)) < 0.55
for f in (0.02, 0.05, 0.10, 0.20):
ret = np.where(wins, f, -f)
eq = np.concatenate([np.ones((N, 1)), np.cumprod(1 + ret, axis=1)], axis=1)
dd = (eq / np.maximum.accumulate(eq, axis=1) - 1).min(axis=1)
print(f"f={f:.2f}: median final {np.median(eq[:, -1]):.2f} | P(drawdown>30%) {np.mean(dd < -0.3):.3f} | P(drawdown>50%) {np.mean(dd < -0.5):.3f} | median worst drawdown {np.median(dd):.3f}")
2. Kelly leverage and growth for mu = 6%, sigma = 15%
mu, sg = 0.06, 0.15
fstar = mu / sg 2
growth = lambda f: f mu - 0.5 f f sg sg
print("Kelly leverage", round(fstar, 2), "| Sharpe", mu / sg)
for k in (0.25, 0.5, 1, 1.5, 2):
f = k fstar
print(f"{k}x Kelly: leverage {f:.2f}, volatility {f sg:.2f}, growth {growth(f):.4f}, share of maximum {growth(f) / growth(fstar):.3f}")
3. risk contributions and risk parity for a three-asset portfolio
w = np.array([0.5, 0.3, 0.2])
vol = np.array([0.20, 0.10, 0.05])
corr = np.array([[1, 0.3, 0.1], [0.3, 1, 0.2], [0.1, 0.2, 1]])
cov = np.outer(vol, vol) corr
pvol = sqrt(w @ cov @ w)
rc = w (cov @ w) / pvol
print("portfolio volatility", round(pvol, 4), "| risk shares", np.round(rc / pvol, 3))
x = np.ones(3) / 3
for in range(2000):
c = x (cov @ x)
x = x (c.mean() / c) 0.5
x /= x.sum()
print("risk-parity weights", np.round(x, 3), "| volatility", round(sqrt(x @ cov @ x), 4))
inv = (1 / vol) / (1 / vol).sum()
print("inverse-volatility weights", np.round(inv, 3), "| volatility", round(sqrt(inv @ cov @ inv), 4))
4. volatility targeting on 20 years of simulated daily returns with persistent volatility
rng = np.random.defaultrng(11)
n = 252 20
logv = np.zeros(n)
for t in range(1, n):
logv[t] = 0.98 logv[t - 1] + 0.12 rng.standardnormal()
sig = 0.01 np.exp(logv)
sig = sig / np.sqrt(np.mean(sig 2)) 0.01
r = 0.0004 + sig rng.standardnormal(n)
est = np.zeros(n)
est[0] = 0.01
for t in range(1, n):
est[t] = sqrt(0.94 est[t - 1] 2 + 0.06 r[t - 1] 2) # uses data up to day t-1 only
lev = np.minimum(0.10 / sqrt(252) / est, 3)
rv = lev r
def stats(x):
eqc = np.cumprod(1 + x)
return x.mean() 252, x.std() sqrt(252), x.mean() / x.std() sqrt(252), (eqc / np.maximum.accumulate(eqc) - 1).min()
for name, series in (("fixed", r), ("vol-targeted", rv)):
a, v, s, d = stats(series)
print(f"{name:13s} return {a:.3f} | volatility {v:.3f} | Sharpe {s:.2f} | max drawdown {d:.3f}")
Common mistakes
Sizing by conviction instead of by risk. A confident view in a volatile asset can carry ten times the risk of a modest view in a quiet one.
Treating Kelly as a target. It is a ceiling, derived from inputs that are estimated with large errors.
Using the same-day volatility to scale the same-day return. That leaks the future. Lag the estimate.
Reading capital weights as risk weights. Fifty per cent of the money can be 84 per cent of the risk.
Trusting calm-period correlations. In a crisis, correlations rise and diversification shrinks.
Leveraging a low-risk portfolio without checking the financing. Risk parity needs borrowing at a cost, and has failed when bonds and equities fell together.
Ignoring costs. A rule that changes the position every day can lose its benefit to spreads and fees.
Not setting a risk budget before the signals. Without one, the sizes drift to whatever each manager feels like.
Adding to a loser to "average down" without a rule. Sizing rules should treat gains and losses symmetrically, with stops decided in advance.
Key takeaways
Size decides survival. With a 55 per cent win rate, a 2 per cent stake rarely loses half the capital, a 5 per cent stake does so six times in ten, and a 20 per cent stake loses money in the median case.
The Kelly leverage is the expected excess return divided by the variance: 2.67 for a 6 per cent premium and 15 per cent volatility. Growth is 2k − k² of the maximum at a multiple k of Kelly: 75 per cent at half Kelly, 0 at double.
Betting more than Kelly is dominated, and estimation error means that a half or a quarter of the computed Kelly is the sensible ceiling.
Volatility targeting sets the weight to the target divided by the recent volatility. In the simulation it left the return at 11 per cent, cut volatility from 15.9 to 10.5 per cent and the maximum drawdown from 43.7 to 19.1 per cent.
A portfolio's risk shares come from weight × marginal contribution and sum to 100 per cent. A 50 per cent equity weight supplied 83.8 per cent of the risk in the example.
A risk budget fixes the risk shares first. Risk parity sets them equal, usually requiring leverage, and has weak spots when correlations rise.
Size in layers: total risk budget, allocation across strategies, volatility-based sizing within them, a fraction-of-Kelly check, monitoring, and hard limits.
Check yourself
1. An asset has a volatility of 25 per cent. What weight gives a 10 per cent volatility target?
10 ÷ 25 = 0.40.
2. A strategy has an expected excess return of 8 per cent and a volatility of 20 per cent. What is its Kelly leverage, and what is the volatility at half Kelly?
Kelly = 0.08 ÷ 0.04 = 2.0. Half Kelly is a leverage of 1.0, so the volatility is 20 per cent.
3. At 1.5 times the Kelly bet, what share of the maximum growth do you get, and what is a better bet?
2 × 1.5 − 1.5² = 0.75, so 75 per cent. Half Kelly gives the same growth with a third of the volatility, so it is a better bet.
4. A portfolio is 70 per cent in a stock fund with 18 per cent volatility and 30 per cent in a bond fund with 6 per cent volatility, with a correlation of 0.2. Roughly what share of the risk is from stocks?
Stock risk term 0.7 × 18 = 12.6 and bond term 0.3 × 6 = 1.8. Portfolio variance = 12.6² + 1.8² + 2 × 0.2 × 12.6 × 1.8 = 158.76 + 3.24 + 9.07 = 171.07. Stock contribution = 158.76 + 0.2 × 12.6 × 1.8 = 163.30, so 95.5 per cent.
5. Why does a volatility-targeted portfolio need a lagged volatility estimate?
Using the same period's volatility lets the sizing depend on the return it is meant to scale, which leaks the future and flatters the results.
Try this
Set aside an hour. You need Python and the code in this lesson.
1. Run the code. Check that the tables above match.
2. Change the win rate in the first block to 0.52. What is Kelly now, and what happens to the median final wealth at 5 per cent?
3. Replace the 0.94 decay with 0.99. Does the volatility-targeted drawdown rise or fall, and why?
4. Remove the lag by using the same day's return in the estimate. How much does the Sharpe ratio improve, and why is that improvement false?
5. Choose three assets you know. Estimate their volatilities and correlations, compute their risk shares for a 60/20/20 portfolio and the risk-parity weights.
6. Write a one-paragraph risk budget for an imaginary fund: its total volatility target, how it splits across three strategies, and what it does when a strategy loses 5 per cent of its allocation.
A good result is an understanding of why equal capital is not equal risk, a sizing rule that you can explain in two sentences, and a lagged volatility estimate with no look-ahead. The next lesson asks how large a loss you should expect on a bad day, and how to measure it.
Read more
Edward Thorp's paper "The Kelly Criterion in Blackjack, Sports Betting, and the Stock Market" is the classic practical treatment, and Leonard MacLean, Edward Thorp and William Ziemba's collection The Kelly Capital Growth Investment Criterion gathers the theory. Campbell Harvey and co-authors' 2018 paper "The Impact of Volatility Targeting" examines how the benefit of volatility scaling differs across asset classes. Edward Qian's work on risk parity, including Risk Parity Fundamentals, explains the equal-risk-contribution idea, and Sébastien Maillard, Thierry Roncalli and Jérôme Teïletche's 2010 paper "The Properties of Equally Weighted Risk Contribution Portfolios" gives its mathematics. For the estimation-error argument, see Vineer Bhansali's and others' discussions of fractional Kelly, and Lesson 10.1 of this course.
Tags: Quant Trader Position sizing Risk budgeting Volatility targeting Kelly criterion