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

  1. 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.
  2. Treat VaR as a floor, not a ceiling, for risk budgeting — set true stress-test capital based on CVaR or historical scenario simulation.
  3. 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.