Mandelbrot Ch. 5: The Collapse of MPT & Black-Scholes
阅读中文版Why Sharpe ratios, Value at Risk, and Black-Scholes systematically underestimate catastrophic downside when the underlying distribution is fractal.
🔊 Listen to Article (Chinese Audio)
Mandelbrot Fractal Ch. 5: The Collapse of MPT & Black-Scholes
"Modern Portfolio Theory is built on a sandcastle: it looks solid as long as the waves stay gentle. But financial market waves are never gentle Gaussian ripples — they are fractal, occasionally catastrophic swells." — Benoit Mandelbrot
The Shared Fatal Assumption
Markowitz's MPT and the Black-Scholes option pricing model both assume returns are normally distributed, volatility is a known/estimable constant, and price paths are continuous without jumps. Chapters 1–4 showed empirically that real markets have fat tails, fractal self-similarity, long memory, and volatility clustering — this chapter shows the mathematical foundation of MPT and Black-Scholes has collapsed.
Systematic Distortion of the Sharpe Ratio
$$Sharpe = \frac{E[R_p] - R_f}{\sigma_p}$$
This assumes finite, stably estimable mean and standard deviation. Under a Cauchy or low-$\alpha$ Pareto distribution, theoretical variance can be infinite, and sample standard deviation fails to converge as sample size grows — so the same strategy's Sharpe ratio can differ by multiples across backtest windows.
The Structural Underestimation in VaR
$$VaR_{99\%} = \mu - 2.33\sigma \quad \text{(Gaussian assumption)}$$
VaR only answers "there's a 1% chance loss exceeds this threshold" — it says nothing about how bad the loss is once that threshold is breached. Under fat tails, the loss distribution beyond VaR is itself fat-tailed and can be multiples of the VaR figure.
| Metric | Under Gaussian Assumption | Under Fat Tails |
|---|---|---|
| Std deviation $\sigma$ | Stable, converges | May not converge, drifts with sample size |
| Sharpe ratio | Robust risk-adjusted measure | Window-sensitive, historically overstated |
| VaR (99%) | Precisely bounds tail risk | Severely understates conditional loss beyond bound |
| CVaR / Expected Shortfall | Redundant with VaR | The only measure capturing fat-tail conditional loss |
CVaR: The Mandelbrot-Correct Risk Tool
$$CVaR_c = E[\text{Loss} \mid \text{Loss} > VaR_c]$$
import numpy as np
def compare_var_cvar(returns, confidence=0.99):
mu, sigma = np.mean(returns), np.std(returns)
normal_var = mu - 2.326 * sigma
sorted_returns = np.sort(returns)
cutoff = int((1 - confidence) * len(returns))
historical_var = sorted_returns[cutoff]
historical_cvar = np.mean(sorted_returns[:cutoff]) if cutoff > 0 else historical_var
return normal_var, historical_var, historical_cvar
Practical Execution Rules
- Stop using Sharpe ratio as the sole strategy comparison metric — compute Sortino and CVaR alongside it, focusing on out-of-sample fat-tail conditional loss.
- Treat VaR as a floor, not a ceiling, for risk budgeting — set true stress-test capital based on CVaR or historical scenario simulation.
- Distrust Black-Scholes fair values on deep OTM puts — the lognormal assumption understates tail probability, so premiums collected from naked short puts rarely cover true tail risk.