← All notes
EconometricsPrimer12 min

A field guide to the GARCH family

Every GARCH variant exists because someone found a specific way the plain model was wrong. Learn the failure and the variant becomes obvious.

The observation that started it

Financial returns are close to unforecastable in their mean and highly forecastable in their spread. Big moves follow big moves; quiet follows quiet. This is volatility clustering, and it means the variance of the error term is not constant — the residuals are heteroskedastic in a way that depends on their own recent history.

Engle's 1982 ARCH model wrote that down directly. Split the residual into a shock and a time-varying scale, et = σt zt, and let the variance depend on past squared residuals:

σ²t = α0 + α1t-1 + … + αqt-q ARCH(q). Engle (1982), Econometrica 50(4).

It worked, but it needed a long lag structure to capture persistence, which burns degrees of freedom. Bollerslev's 1986 fix was to let variance depend on its own past as well, giving the model an ARMA-like memory:

σ²t = ω + α e²t-1 + β σ²t-1 GARCH(1,1). Two parameters do the work of ten ARCH lags.

GARCH(1,1) remains the default baseline for a reason. The sum α + β measures persistence; on daily equity data it typically lands around 0.95 to 0.99, implying shocks decay slowly but the process still mean-reverts to ω / (1 − α − β).

Failure one: shocks are not symmetric

In GARCH, t-1 throws away the sign. A ten percent fall and a ten percent rise are treated identically. Markets disagree: negative returns raise future volatility considerably more. This is the leverage effect, and three models attack it differently.

Practical read: if the GJR asymmetry term is significant and the model's log-likelihood improves materially, your series has leverage and symmetric GARCH is systematically under-forecasting risk after sell-offs. On equity indices this is almost always the case. On FX it usually is not.

Failure two: persistence hits the boundary

Estimate GARCH on a long enough daily sample and α + β creeps toward one. IGARCH takes that literally and imposes the unit root, at which point shocks never die and the unconditional variance does not exist. The EWMA estimator behind RiskMetrics is IGARCH with ω = 0 and a fixed decay — convenient, but the decay factor is chosen rather than estimated, which quietly imports a subjective assumption.

Often the apparent unit root is an artefact. Structural breaks in the unconditional variance level masquerade as extreme persistence, so a model that allows the long-run level to move usually fits better than one that lets short-run shocks live forever.

Failure three: one component is not enough

Volatility plainly has a fast component that reacts to yesterday and a slow component tied to the macro environment. Multiplying them apart works better than forcing a single decay rate to represent both.

Choosing one

Work down this list rather than fitting everything and picking the winner:

  1. Confirm there is an effect at all — Engle's LM test on squared residuals.
  2. Fit GARCH(1,1). This is the number every alternative must beat.
  3. Test asymmetry. If present, move to GJR-GARCH before anything more exotic.
  4. If α + β is near one, suspect a break in level before reaching for IGARCH.
  5. If long horizons matter, go two-component.
  6. Choose the innovation distribution deliberately. Gaussian QMLE gives consistent parameters, but Student-t matters for tail quantiles and VaR.

The recurring mistake: ranking these models by in-sample log-likelihood. More parameters always fit better. Rank them by out-of-sample loss, and use QLIKE rather than MSE — MSE on a variance target is dominated by a handful of crisis days and will pick whichever model happened to overshoot during them.

References