05 — Risk Measures

Tail Risk#

ExtremesStatistical1 min read
◆ The PatternExtreme events beyond normal-distribution assumptions

Financial returns exhibit fat tails — extreme moves occur far more often than a Gaussian predicts. Kurtosis > 3 signals leptokurtic behavior. Extreme Value Theory (EVT) models the tail with a Generalized Pareto Distribution (GPD):

P(X > x | X > u) ≈ (1 + ξ · (x−u)/β)−1/ξ
A positive ξ > 0 indicates a heavy (Pareto-type) tail. EVT lets us extrapolate loss quantiles beyond sample extremes.
// Interactive — kurtosis and tail weight visualization
Kurtosis
Black-swan readiness. Stress tests should use EVT-calibrated scenarios, not just historical worst days.
Pattern bridge: Kurtosis and distribution shapes are covered in The Toolkit — Distribution Shape. Why the last crash feels likelier than the record says is the availability heuristic.
Worked example

How often should a five-standard-deviation down day happen? Under a normal distribution the probability is 2.9 in 10 million — about once every 13,800 years of trading. Under a Student-t with 3 degrees of freedom, scaled to the same volatility, it is 0.16% — roughly once every 2.5 years. Same volatility, a different tail, and a different world.

Where it misleads
  • The tail shape is hard to estimate: by definition there are few tail observations, and the choice of model (t, GPD threshold) drives the answer.
  • Fat tails partly come from changing volatility; scaling returns by a GARCH estimate makes them look much less extreme (McNeil & Frey 2000).
  • Kurtosis is a noisy statistic dominated by a handful of days; one crash can double it.
In code
from scipy import stats
k = 5                                                      # a five-standard-deviation down day
p_normal = stats.norm.cdf(-k)
p_fat = stats.t.cdf(-k * np.sqrt(3), df=3)                 # Student-t with 3 d.o.f., scaled to the same volatility
years_normal, years_fat = 1 / (p_normal * 252), 1 / (p_fat * 252)   # how often, in trading years
Python, in your browser — edit the code and run it again

Assumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up or simulated.

Sources
  • B. Mandelbrot, “The Variation of Certain Speculative Prices”, Journal of Business 36(4), 1963
  • R. Cont, “Empirical Properties of Asset Returns: Stylized Facts and Statistical Issues”, Quantitative Finance 1(2), 2001
  • A. J. McNeil & R. Frey, “Estimation of Tail-Related Risk Measures for Heteroscedastic Financial Time Series: An Extreme Value Approach”, Journal of Empirical Finance 7(3–4), 2000

Last reviewed October 2026 · How this site checks its content · Report a mistake

Linked from 4
← Previous
Correlation Risk
Open in the full reader, with the topic sidebar