Volatility clustering & GARCH
M3 — Statistics of returns
M3.1's autocorrelation table contained the most commercially useful asymmetry in the whole course:
returns decay into noise within a couple of lags
|returns| still 0.195 at lag 20 — ten times the noise band
You cannot forecast whether the market goes up. You can forecast how much it will move. Everything in this lesson follows from taking that seriously, and so does a genuine chunk of the industry — variance swaps, VIX products, vol targeting, and risk systems all exist because the second row is true.
Why clustering happens at all
Before the model, the mechanism. Volatility clusters because the things that cause volatility are themselves persistent:
- Information arrives in bursts. An earnings surprise is followed by analyst revisions, position adjustments, and index rebalancing — a single event generates days of flow.
- Disagreement takes time to resolve. M1.2's μ, the fraction of informed flow, rises during genuine uncertainty and stays elevated until it is settled. Makers widen (M0.4) and stay wide.
- Positions unwind slowly. Leverage forces selling, selling moves prices, movement forces more selling (M0.7's margin spiral). The feedback has a natural timescale of days.
So the statistical model needs one property above all: a shock to volatility should decay slowly, not immediately.
From ARCH to GARCH
Engle's ARCH insight (1982) was to let today's variance depend on yesterday's squared shock:
ARCH(1): h_t = ω + α·ε²_{t−1}
Big move yesterday → high variance forecast today. Correct in spirit, but it decays far too fast — a single lag gives volatility a memory of one day, and to fit the observed 20-lag persistence you need an unwieldy number of terms.
Bollerslev's GARCH (1986) fixed it with one extra term, and it is the workhorse to this day:
─────────────────────────────────────────────────────────────
h_t = ω + α·ε²_{t−1} + β·h_{t−1}
─────────────────────────────────────────────────────────────
ω baseline variance
α REACTION — how much the latest shock moves the forecast
β MEMORY — how much of yesterday's forecast carries over
The β term is the whole trick: because yesterday's forecast already embedded the day before's, one lag gives you a geometrically decaying weight on the entire history. Long memory, three parameters.
Fitted to real data
Maximum likelihood on the same S&P 500 series as M3.1 (2,513 days, variance-targeted so the model reproduces the sample variance):
α = 0.155 reaction to the latest shock
β = 0.820 memory of the previous forecast
─────────────────────────────────────────────────
α + β = 0.975 PERSISTENCE
volatility half-life = ln2 / −ln(0.975) ≈ 27.4 days
unconditional vol = 18.1% (matching M3.1)
Three things to read off these numbers.
Persistence of 0.975 is the headline. It is close to 1, which is typical — fitted equity persistence almost always lands between 0.95 and 0.99. It means a volatility shock takes about a month to half-decay, which is precisely why "calm markets" and "turbulent markets" feel like distinct regimes rather than random alternation. They are the same process with a long memory.
β ≫ α. Volatility is mostly inertia (0.82) and only somewhat news (0.155). Today's forecast is dominated by yesterday's forecast, not yesterday's move. This is why volatility looks smooth and mean-reverting while returns look like noise.
Persistence near 1 is uncomfortably near non-stationary. At α+β = 1 you get IGARCH, where shocks never decay and unconditional variance is undefined. Fitted values hovering just below 1, in every market, on every sample, are a hint that a simple GARCH is an approximation to something with genuinely long memory — which is what the multifractal and long-memory literature argues.
What GARCH buys you
Risk that adapts. A constant-volatility risk model is wrong in both directions — too conservative in calm markets, catastrophically loose in turbulent ones. A conditional model tightens exactly when it should. This is the input M3.6's vol targeting needs.
Fat tails, partly for free. This is the elegant part. Mix normal distributions with different variances and the mixture is heavy-tailed, even though every component is Gaussian. Since volatility varies a lot and clusters, the unconditional distribution of returns is exactly such a mixture — so GARCH generates excess kurtosis mechanically, without any fat-tailed input.
That looks like it might explain M3.1 entirely. It doesn't, and the check is the honest one: fit the model, divide each return by its conditional volatility, and examine the standardised residuals. They are thinner-tailed than the raw returns but still clearly non-Gaussian. So clustering accounts for much of the observed kurtosis and not all of it; the remainder is genuine jumpiness. In practice this is why serious implementations use GARCH with Student-t innovations — clustering for the persistence, fat-tailed shocks for what's left.
The variants worth knowing
GJR-GARCH / EGARCH adds the LEVERAGE EFFECT — volatility rises
more after DOWN moves than up moves. Matches
M3.1's negative skew and prices M2.4's equity
skew. Essential for equities.
GARCH-t Student-t innovations instead of Gaussian.
Almost always a better fit (see above).
Multivariate
(DCC, BEKK) correlations that move too — M3.5's problem.
Realized vol / HAR abandon latent variance entirely. Use
intraday data to MEASURE daily volatility
directly, then forecast that with a simple
regression on daily/weekly/monthly averages.
Usually beats GARCH when you have the data,
which is why it dominates modern practice.
Stochastic vol
(Heston) volatility gets its own driving noise.
The continuous-time cousin, and the one
that prices options (M2.4).
The trajectory there is worth noticing: GARCH infers volatility from returns because for decades that was all anyone had. Once high-frequency data existed you could simply measure it, and the measurement beat the inference. A methodological lesson that generalises well beyond volatility.
The thing that is actually tradeable
Since volatility is forecastable and direction isn't, volatility is what you trade — which closes the loop with M2.
forecast vol > implied vol → buy options, delta-hedge (M2.3)
you are long realized vol
forecast vol < implied vol → sell them, and carry the risk
that makes the variance premium
positive in the first place (M2.4)
And the darker corollary, which M3.4 and M3.6 develop: because volatility is persistent, so is danger. A model that knows today is turbulent also knows tomorrow probably is. Risk systems that ignore this are surprised repeatedly by the same event.
Source: Engle (1982) and Bollerslev (1986) are the originals and are readable. For the practical treatment, Ruey Tsay, Analysis of Financial Time Series, ch.3, is the standard course text. On realized volatility beating latent-variance models, Corsi (2009) on the HAR model is short and persuasive.