Markets: A Rigorous Course

2.6 Heavy tails, power laws and the Hill estimator

Advanced about 20 min

Motivation

The tail determines the probability of the day that ends a trading career. Normal tails decay like e−x2/2e^{-x^2/2}; equity tails decay like x−3x^{-3}. At five standard deviations, the ratio between these is a factor of thousands.

Power-law tails and moments#

Setup

A random variable X>0X > 0 has a Pareto tail with index α>0\alpha > 0 if P(X>x)=(x/u)−αP(X > x) = (x/u)^{-\alpha} for x≥ux \ge u. More generally, XX is regularly varying with tail index α\alpha if P(X>x)=L(x) x−αP(X > x) = L(x)\,x^{-\alpha} with LL slowly varying (L(tx)/L(x)→1L(tx)/L(x) \to 1 as x→∞x \to \infty for every t>0t > 0). The Student-tt with ν\nu degrees of freedom is regularly varying with α=ν\alpha = \nu; the normal is not regularly varying (its tail index is effectively infinite).

Proposition 2.11moments of a power-law tail

If P(∣X∣>x)∼Cx−αP(|X| > x) \sim C x^{-\alpha}, then E∣X∣p<∞E|X|^p < \infty iff p<αp < \alpha.

Proof

E∣X∣p=∫0∞pxp−1P(∣X∣>x) dxE|X|^p = \int_0^\infty p x^{p-1} P(|X| > x)\,dx. The integral over [0,x0][0, x_0] is finite. For large xx the integrand behaves like pCxp−1−αpC x^{p-1-\alpha}, which is integrable at infinity iff p−1−α<−1p - 1 - \alpha < -1, i.e. p<αp < \alpha.∎

So with α≈3\alpha \approx 3: the mean and variance exist, the fourth moment does not, and the population kurtosis is infinite. The sample kurtosis then grows without bound as nn grows (more precisely, it is dominated by the largest observation), which is what the Nifty table showed.

The Hill estimator#

Proposition 2.12Hill estimator as conditional MLE

Let X(1)≥X(2)≥⋯≥X(n)X_{(1)} \ge X_{(2)} \ge \dots \ge X_{(n)} be the order statistics of ∣rt∣|r_t|. Treat the kk largest as draws from a Pareto tail above the threshold u=X(k+1)u = X_{(k+1)}. The MLE of α\alpha is

α^k=[1k∑i=1kln⁡X(i)−ln⁡X(k+1)]−1.(2.16)\hat\alpha_k = \Big[\frac1k\sum_{i=1}^{k}\ln X_{(i)} - \ln X_{(k+1)}\Big]^{-1}. \tag{2.16}

If the tail is exactly Pareto above uu, then k/α^k∼Gamma(k,α)k/\hat\alpha_k \sim \text{Gamma}(k, \alpha), E[α^k]=kk−1αE[\hat\alpha_k] = \frac{k}{k-1}\alpha and k(α^k−α)⇒N(0,α2)\sqrt{k}(\hat\alpha_k - \alpha) \Rightarrow N(0, \alpha^2).

Proof

Conditional on exceeding uu, the Pareto density is f(x)=αuαx−α−1f(x) = \alpha u^\alpha x^{-\alpha-1}, x≥ux \ge u. The log-likelihood of kk exceedances x1,…,xkx_1, \dots, x_k is

ℓ(α)=kln⁡α+kαln⁡u−(α+1)∑i=1kln⁡xi.\ell(\alpha) = k\ln\alpha + k\alpha\ln u - (\alpha+1)\sum_{i=1}^{k}\ln x_i.

ℓ′(α)=k/α+kln⁡u−∑ln⁡xi=0\ell'(\alpha) = k/\alpha + k\ln u - \sum\ln x_i = 0 gives α^=k/∑iln⁡(xi/u)\hat\alpha = k/\sum_i\ln(x_i/u), and ℓ′′(α)=−k/α2<0\ell''(\alpha) = -k/\alpha^2 < 0 confirms a maximum. Substituting u=X(k+1)u = X_{(k+1)} gives (2.16). For the distribution: if XX is Pareto(α\alpha, uu), then Y=ln⁡(X/u)Y = \ln(X/u) has P(Y>y)=e−αyP(Y > y) = e^{-\alpha y}, i.e. Y∼Exp(α)Y \sim \text{Exp}(\alpha). By the Rényi representation, the kk log-excesses over the (k+1)(k+1)-th order statistic are distributed as kk iid Exp(α\alpha) variables, so ∑Yi∼Gamma(k,α)\sum Y_i \sim \text{Gamma}(k, \alpha) with mean k/αk/\alpha. Then E[α^]=kE[1/∑Yi]=kα/(k−1)E[\hat\alpha] = k E[1/\sum Y_i] = k\alpha/(k-1) (the mean of an inverse-gamma), and the delta method applied to Yˉ\bar Y, which has mean 1/α1/\alpha and variance 1/(kα2)1/(k\alpha^2), gives Var⁡(α^)≈α4/(kα2)=α2/k\operatorname{Var}(\hat\alpha) \approx \alpha^4/(k\alpha^2) = \alpha^2/k.∎

For distributions that are only regularly varying, α^k\hat\alpha_k is consistent if k→∞k \to \infty and k/n→0k/n \to 0 (Mason 1982), but it has a bias that depends on how fast L(x)L(x) settles down. The choice of kk trades variance (α/k\alpha/\sqrt k) against bias (which grows with kk). Plot α^k\hat\alpha_k against kk (a Hill plot) and look for a stable region.

Tail estimates: simulation and Nifty#

Worked example 2.6.1simulation, with hill_estimator from m02_tails.py

For samples of 200,000 draws from a Student-tt with ν=3\nu = 3, the average of α^k\hat\alpha_k over 40 independent samples is 3.08,2.98,2.95,2.89,2.793.08, 2.98, 2.95, 2.89, 2.79 at k=200,500,1000,2000,5000k = 200, 500, 1000, 2000, 5000 (sampling s.d. across samples 0.24,0.10,0.08,0.06,0.040.24, 0.10, 0.08, 0.06, 0.04). The true value is 3. The estimate drifts down as kk grows because the Student-tt density departs from a pure power law away from the extreme tail; a single sample need not show the drift at small kk, where the sampling error is larger than the bias. For normal data, α^1000≈10.2\hat\alpha_{1000} \approx 10.2 (average over 20 samples) with n=200,000n = 200{,}000, and it keeps rising as nn grows.

Worked example 2.6.2Nifty sample

Using ∣rt∣|r_t|: α^=3.59,3.05,2.76,2.47\hat\alpha = 3.59, 3.05, 2.76, 2.47 at k=50,100,200,400k = 50, 100, 200, 400, with standard errors α/k\alpha/\sqrt{k} of about 0.51, 0.30, 0.20, 0.12. The left tail alone gives α^100=2.61\hat\alpha_{100} = 2.61 and the right tail 2.862.86. These are in the range reported for international equity indices and stocks: Gopikrishnan, Meyer, Amaral and Stanley (1998) found α≈3\alpha \approx 3 for US stock returns (the "inverse cubic law"). With α≈3\alpha \approx 3 for Nifty,

P(∣r∣>10σ)P(∣r∣>5σ)≈2−3=18versus2Φˉ(10)2Φˉ(5)≈2.7×10−17 under normality.\frac{P(|r| > 10\sigma)}{P(|r| > 5\sigma)} \approx 2^{-3} = \frac18 \qquad\text{versus}\qquad \frac{2\bar\Phi(10)}{2\bar\Phi(5)} \approx 2.7 \times 10^{-17} \text{ under normality.}

Practitioner notes

  • With α≈3\alpha \approx 3, variance exists, so the CLT applies to sums and monthly returns are closer to normal than daily returns (aggregational Gaussianity). Convergence is slow, and quarterly returns still show excess kurtosis.
  • A tail index between 2 and 4 makes moment-based risk measures (kurtosis, and the standard errors of variance estimates) unreliable. Quantile-based measures and the tail index itself are more stable.
  • Short-option books (M09) are short the tail. The premium is set by the market's estimate of tail probability; the seller's survival depends on its own estimate of α\alpha and on position size (M03).

Create a free account

Reading is open to everyone. An account keeps your progress, answers, notes and code drafts, and gives you the study plan, the journals and the simulator. Running code needs an account approved for it.