Markets: A Rigorous Course

2.7 Volatility clustering

Advanced about 10 min

Motivation

"Large changes tend to be followed by large changes, of either sign, and small changes tend to be followed by small changes" (Mandelbrot 1963). For a trader this means risk is forecastable: a position size that is safe in a 10%-volatility year (2017) is reckless in a 45%-volatility year (2008).

Clustering and fat tails#

Setup

Let Ft−1\mathcal F_{t-1} be the information at t−1t-1. Model rt=μ+σtztr_t = \mu + \sigma_t z_t where ztz_t is iid with mean 0, variance 1, kurtosis κz=Ez4\kappa_z = E z^4, independent of Ft−1\mathcal F_{t-1}, and σt>0\sigma_t > 0 is Ft−1\mathcal F_{t-1}-measurable (known one step ahead). GARCH (M13) is one specification of σt\sigma_t.

Proposition 2.13uncorrelated returns, correlated squares, fat tails

Assume Eσt4<∞E\sigma_t^4 < \infty and stationarity. Then (a) Cov⁡(rt,rt−j)=0\operatorname{Cov}(r_t, r_{t-j}) = 0 for j≥1j \ge 1; (b) Cov⁡((rt−μ)2,(rt−j−μ)2)=Cov⁡(σt2,σt−j2zt−j2)\operatorname{Cov}((r_t - \mu)^2, (r_{t-j} - \mu)^2) = \operatorname{Cov}(\sigma_t^2, \sigma_{t-j}^2 z_{t-j}^2), which is non-zero whenever σt2\sigma_t^2 depends on past squared shocks; (c) the unconditional kurtosis is κr=κzE[σt4](E[σt2])2≥κz\kappa_r = \kappa_z \dfrac{E[\sigma_t^4]}{(E[\sigma_t^2])^2} \ge \kappa_z, with equality iff σt\sigma_t is constant.

Proof

(a) For j≥1j \ge 1, E[(rt−μ)(rt−j−μ)]=E[σt(rt−j−μ)E(zt∣Ft−1)]=0E[(r_t - \mu)(r_{t-j} - \mu)] = E[\sigma_t (r_{t-j} - \mu) E(z_t \mid \mathcal F_{t-1})] = 0, by the tower property, because σt\sigma_t and rt−jr_{t-j} are Ft−1\mathcal F_{t-1}-measurable. (b) E[(rt−μ)2∣Ft−1]=σt2E[(r_t - \mu)^2 \mid \mathcal F_{t-1}] = \sigma_t^2, so Cov⁡((rt−μ)2,Y)=Cov⁡(σt2,Y)\operatorname{Cov}((r_t-\mu)^2, Y) = \operatorname{Cov}(\sigma_t^2, Y) for any Ft−1\mathcal F_{t-1}-measurable YY; take Y=(rt−j−μ)2=σt−j2zt−j2Y = (r_{t-j}-\mu)^2 = \sigma_{t-j}^2 z_{t-j}^2. (c) E(rt−μ)4=E[σt4]E[z4]E(r_t - \mu)^4 = E[\sigma_t^4]E[z^4] and E(rt−μ)2=E[σt2]E(r_t - \mu)^2 = E[\sigma_t^2] by independence of ztz_t from Ft−1\mathcal F_{t-1}; Jensen gives Eσ4≥(Eσ2)2E\sigma^4 \ge (E\sigma^2)^2.∎

Part (c) says volatility clustering alone creates fat tails, even with normal shocks (κz=3\kappa_z = 3). Example: if daily volatility is 0.8% on 80% of days and 2.0% on 20% of days, with normal shocks, the unconditional excess kurtosis is

3⋅0.8(0.008)4+0.2(0.02)4(0.8(0.008)2+0.2(0.02)2)2−3=3.15.3\cdot\frac{0.8(0.008)^4 + 0.2(0.02)^4}{(0.8(0.008)^2 + 0.2(0.02)^2)^2} - 3 = 3.15.

A two-regime mixture with no jumps already reproduces a large part of the observed fat tails. Cont's fact (7) says this is not the whole story: GARCH residuals z^t\hat z_t still have excess kurtosis, so κz>3\kappa_z > 3 as well.

Worked example 2.7.1Nifty sample

The autocorrelation of rt2r_t^2 is 0.16, 0.19, 0.19, 0.09, 0.04 at lags 1, 5, 10, 20, 50; that of ∣rt∣|r_t| is larger and decays more slowly (table in 2.5). Absolute returns are the more robust measure, because squares are dominated by a few extreme days. Annualised volatility by calendar year ranged from 9.0% (2017) and 9.8% (2023) to 31.8% (2020) and 44.7% (2008).

Asymmetric volatility#

Leverage effect In equity markets volatility rises more after falls than after rises of the same size (Cont fact 9). The name comes from Black's (1976) argument that a falling share price raises a firm's debt-to-equity ratio; the effect is too large to be explained by leverage alone and is better read as a risk-premium and liquidity effect. India VIX, NSE's 30-day implied volatility index for Nifty options (computed from option prices with a method adapted from the CBOE VIX), jumps on down days far more than it falls on up days. M09 treats the implied-volatility skew that results.

Practitioner notes

  • Scale positions by forecast volatility (an exponentially weighted moving average with decay 0.94 for daily data is the RiskMetrics default). This keeps the risk per position roughly constant across regimes. M03 · 3.9 and M14 build on it.
  • Volatility is mean-reverting: after a spike it decays toward its long-run level over weeks. Selling options right after a spike collects high premium but also faces high realised volatility. The timing question is M09's subject.

Data lab Open on OI Charts (opens in a new tab)

Stylized facts of Nifty daily returns

The lab standardises Nifty daily log returns since 17 Sep 2007 and plots their density on a log scale against N(0,1)N(0,1) and a unit-variance Student-tt whose ν\nu matches the sample excess kurtosis (ν=4+6/K^\nu = 4 + 6/\hat K). It also plots the sample autocorrelations of rtr_t and ∣rt∣|r_t| to lag 100 with the iid band ±1.96/n\pm 1.96/\sqrt n, and tabulates the statistics of the 2.5 table.

What to look at The gap between the empirical tails and the normal parabola beyond about 3σ3\sigma; the contrast between the autocorrelations of rr (fact 1) and of ∣r∣|r| (facts 6 and 8); the count of ∣z∣>4|z| > 4 and ∣z∣>5|z| > 5 days against the normal expectation; the Hill estimate (2.16) at k=100k = 100.

Questions

  1. Compare your table with the 2.5 table. Which statistics moved since the notes were written, and which are stable? Which statistic is most sensitive to one extreme day?
  2. Proposition 2.13(c) says volatility clustering alone produces fat tails. Does the matched Student-tt fit the centre and the tails equally well?
  3. At what lag does ρ^(∣r∣)\hat\rho(|r|) fall inside the iid band, if at all? What does this say about how long a volatility forecast stays useful?
  4. With the Hill estimate α^\hat\alpha, which moments of Nifty returns exist (Proposition 2.11)? What does that imply for the sample kurtosis as the sample grows?

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.