Skip to content

How GARCH Produces Volatility Clustering After a Shock

Original question

Can you explain why financial returns exhibit volatility clustering and how GARCH models attempt to capture this behaviour?
Volatility clustering means large absolute returns tend to occur near other large absolute returns, while quiet days tend to arrive together. A GARCH model captures this pattern by increasing its next variance forecast after a large surprise and carrying part of the previous variance forecast forward.
After an unexpected announcement, uncertainty may stay elevated while markets absorb new information and assess its consequences. The next move can be large in either direction. If daily returns go from +4%+4\% to −3%-3\% to +2.5%+2.5\%, their signs alternate, while their magnitudes all indicate an unusually volatile period. A GARCH model summarises that recent history with a single conditional variance.

Follow a shock through the variance recursion

Let εt=rt−μt\varepsilon_t=r_t-\mu_t be the surprise in return rtr_t after accounting for its conditional mean. Write εt=htzt\varepsilon_t=\sqrt{h_t}z_t, where the innovation ztz_t has conditional mean zero and variance one. GARCH(1,1) uses
ht+1=ω+αεt2+βht.h_{t+1}=\omega+\alpha\varepsilon_t^2+\beta h_t.

Here ω>0\omega>0 is the baseline term, α≥0\alpha\ge0 controls the response to the last squared surprise, and β≥0\beta\ge0 controls how much previous conditional variance carries forward. Since E[εt2]=E[ht]E[\varepsilon_t^2]=E[h_t], taking expectations in the recursion gives the finite long-run variance hˉ=ω/(1−α−β)\bar h=\omega/(1-\alpha-\beta) when α+β<1\alpha+\beta<1 and the process is in its stationary regime.

After observing a large shock, let ht+1h_{t+1} be today's forecast for tomorrow. Because future expected squared surprises equal the corresponding variance forecasts, the expected deviation from hˉ\bar h decays by the factor α+β\alpha+\beta at each additional step. For persistence between zero and one, the number of periods for the expected deviation to halve is log⁡(0.5)/log⁡(α+β)\log(0.5)/\log(\alpha+\beta). This half-life refers to an expected variance forecast following a shock. On a realised path, another surprise may interrupt the decay.

For a multi-step forecast made after observing the shock at time tt, the next variance ht+1h_{t+1} is known under the fitted model. The next squared surprise has conditional expectation ht+1h_{t+1}, because the standardised innovation has conditional second moment one. Substituting that expectation gives the next forecast ω+(α+β)ht+1\omega+(\alpha+\beta)h_{t+1}. Subtract the long-run level ω/(1−α−β)\omega/(1-\alpha-\beta) from both sides to see that the gap shrinks geometrically when α+β<1\alpha+\beta<1. The half-life concerns this forecasted gap. Any individual future shock can push variance back up.
Measure returns in percentage points. Take ω=0.05\omega=0.05, α=0.10\alpha=0.10, β=0.85\beta=0.85 and start with ht=1h_t=1. A −4-4 percentage point surprise gives ht+1=0.05+0.10(16)+0.85(1)=2.50h_{t+1}=0.05+0.10(16)+0.85(1)=2.50, or about 1.58%1.58\% volatility. A +4+4 percentage point surprise has the same effect in this model. The expected variance excess is 1.501.50 above the long-run value of 11. After ten further steps, its expected excess is 1.50(0.95)10≈0.901.50(0.95)^{10}\approx0.90. The expected half-life is about 13.5 steps.

Plot the variance forecast after a shock

import numpy as np omega, alpha, beta = 0.05, 0.10, 0.85 long_run = omega / (1 - alpha - beta) tomorrow = omega + alpha * (-4.0)**2 + beta * long_run days_after_tomorrow = np.arange(21) expected_variance = long_run + (tomorrow - long_run) * ( alpha + beta )**days_after_tomorrow print(np.sqrt(expected_variance[[0, 10, 20]]))

This computes volatility from the expected future variance. It illustrates the volatility implied by variance forecasts, while the expected square root of future variance is a different quantity.

Interactive example

Explore how quickly a GARCH shock decays

Start at four times long-run variance. A stationary GARCH(1,1) with persistence α + β has a multi-step variance forecast that decays geometrically toward 1.

Half-life 9.6 periods · after 40 periods 1.16× long-run variance
Expected variance decays toward its long-run value1234010203040Periods after shockVariance multiple
  • Variance forecast
  • Long-run variance

References and next steps