14.3 Measuring and Monitoring Volatility
Key Takeaways
- Asset returns are non-normal with fat tails and volatility clustering; unconditional σ averages across regimes and can misstate near-term risk.
- EWMA updates variance with decay λ (RiskMetrics often used λ = 0.94 daily): σ²_t = λ σ²_{t−1} + (1 − λ) r²_{t−1}, reacting faster than equal-weighted historical variance.
- GARCH(1,1) adds mean reversion: σ²_t = ω + α r²_{t−1} + β σ²_{t−1}, with persistence α + β < 1 and long-run variance ω / (1 − α − β).
- Long-horizon volatility and VaR do not always scale with √T when variance mean-reverts; implied volatility is a market-implied forecast embedded in option prices.
- Correlations must be updated with the same discipline as volatilities—stale calm-period ρ matrices understate crisis portfolio risk.
Measuring and Monitoring Volatility
VaR engines are only as good as their volatility and correlation inputs. VRM–3 is the operational heart of market-risk modeling: fat tails, conditional versus unconditional variance, EWMA and GARCH updates, horizon scaling, implied vol, and living correlation matrices.
Non-Normality and Fat Tails
Even after centering returns, the standardized residual r_t / σ_t is rarely standard normal. Unconditionally, return histograms show excess kurtosis; conditionally, GARCH-filtered residuals are closer to normal but often still heavier-tailed (Student-t innovations are common). Fat tails matter because VaR/ES at 99%+ live in the region where Gaussian approximations fail.
Practical monitoring toolkit:
- Rolling kurtosis / Jarque–Bera style checks on returns and on standardized residuals.
- QQ plots against normal and t.
- Exceedance counts versus VaR (backtesting)—clusters of exceptions signal understated conditional vol or broken tails.
Conditional Versus Unconditional Volatility and Regimes
Unconditional volatility is the long-run average dispersion (e.g., sample SD over five years). Conditional volatility is the forecast for the next period given current information—today’s EWMA/GARCH level. Markets exhibit regimes: low-vol “great moderation” stretches and high-vol crisis stretches. An unconditional σ estimated across both regimes is too high for limit-setting on quiet Mondays and too low on crash Tuesdays.
| Measure | Conditions on | Best for |
|---|---|---|
| Sample σ (equal weight) | Nothing recent vs old | Long-run capital / planning |
| EWMA σ | Recent squared returns | Short-horizon VaR reactive updates |
| GARCH σ | Recent shocks + mean reversion | Forecasts with term structure of vol |
| Regime-switching σ | Latent state | Crisis vs calm separation |
| Implied σ | Option market prices | Forward-looking consensus |
Weighting Schemes and EWMA—with Calculation
Equal-weighted historical variance over n days:
σ² = (1/n) Σ_{i=1..n} r_{t−i}²
(using demeaned returns if you subtract a mean; many short-horizon desks set mean ≈ 0).
Exponentially Weighted Moving Average (EWMA) with decay λ ∈ (0,1):
σ²_t = λ σ²_{t−1} + (1 − λ) r²_{t−1}
RiskMetrics’ classic daily λ = 0.94 (monthly often 0.97). Higher λ → smoother, slower reaction; lower λ → jumpy, fast reaction.
Worked EWMA update
Yesterday’s EWMA variance forecast σ²_{t−1} = 0.000100 (σ = 1.00%). Today’s realized return r_{t−1} = −2.0% so r² = 0.000400. With λ = 0.94:
σ²_t = 0.94 × 0.000100 + 0.06 × 0.000400 = 0.000094 + 0.000024 = 0.000118
σ_t = √0.000118 ≈ 1.086%. A single 2% shock lifted conditional vol by ~9 relative percent. An equal-weighted 100-day window would barely move.
Compare weight on a return k days ago: EWMA weight ∝ (1 − λ) λ^{k−1}. For λ = 0.94, half-life of weights is about ln(0.5)/ln(0.94) ≈ 11 trading days—far more reactive than a 1-year equal window.
GARCH(1,1)
The GARCH(1,1) model is:
σ²_t = ω + α r²_{t−1} + β σ²_{t−1}
with ω > 0, α ≥ 0, β ≥ 0, and typically α + β < 1 for covariance stationarity. Interpretation:
- α = reaction to the latest shock,
- β = persistence of variance,
- α + β = overall persistence,
- Long-run (unconditional) variance V_L = ω / (1 − α − β).
EWMA is the special case ω = 0, α = 1 − λ, β = λ (integrated GARCH boundary without mean reversion to a finite V_L).
Worked GARCH numbers
Suppose ω = 0.000002, α = 0.06, β = 0.92. Then α + β = 0.98 and V_L = 0.000002 / 0.02 = 0.0001 (long-run σ = 1%). If σ²_{t−1} = 0.000225 (σ = 1.5%) and r²_{t−1} = 0.000400:
σ²_t = 0.000002 + 0.06 × 0.000400 + 0.92 × 0.000225 = 0.000002 + 0.000024 + 0.000207 = 0.000233
σ_t ≈ 1.53%. Despite a large shock, persistence keeps vol elevated; over longer horizons forecasts drift back toward 1%.
Long-Horizon Volatility, VaR, and Mean Reversion
Under i.i.d. returns, variance scales with T and volatility with √T, so 10-day VaR ≈ √10 × 1-day VaR. With mean-reverting variance (GARCH), the term structure of volatility is flatter: multi-day variance is not T × σ²_today. Rough intuition: if today is extremely volatile, next-month average conditional variance is pulled toward V_L, so √T scaling from today’s spike overstates long-horizon risk. If today is extremely calm, √T scaling from today understates long-horizon risk.
For VaR: decide whether the horizon needs a path of daily vols (simulate or use analytic integrated GARCH variance) rather than naive √T. Liquidity horizons in regulation often mix 10-day scaling with stressed calibrations for this reason.
Implied Volatility
Implied volatility is the σ plugged into a pricing model (Black–Scholes–Merton, Black76, etc.) that matches the observed option price. It is a market-implied forecast (plus risk premia and microstructure), not a historical statistic. Risk teams monitor:
- Level of ATM implied vol versus GARCH/EWMA forecasts,
- Skew/smile (OTM put implied vols higher for equities),
- Term structure of implied vol.
Implied vol enters VaR indirectly when books are marked to options or when desks use implied distributions for risk-neutral scenario generation. It does not automatically equal the correct physical-measure forecast for historical VaR.
Updating Correlations
Portfolio σ_p needs correlations as much as vols. Updating schemes parallel volatility:
- Equal-weighted rolling windows,
- EWMA covariances: Cov_t = λ Cov_{t−1} + (1 − λ) r_{i,t−1} r_{j,t−1}, then ρ_t = Cov_t / (σ_i,t σ_j,t),
- Multivariate GARCH / DCC models,
- Factor models with time-varying factor betas.
Governance checks: keep matrices positive semi-definite, floor pairwise correlations when needed for stress, and rebuild after structural breaks. A beautiful EWMA vol stack with a stale 0.2 equity-credit correlation is still a bad VaR.
Mini correlation update
Start with σ_i = 1.5%, σ_j = 1.0%, and yesterday’s EWMA covariance Cov_{t−1} = 0.00009, so ρ_{t−1} = 0.00009 / (0.015 × 0.010) = 0.60. Now a violent day arrives: r_i = 4%, r_j = 3%, λ = 0.94:
Cov_t = 0.94 × 0.00009 + 0.06 × (0.04 × 0.03) = 0.0000846 + 0.000072 = 0.0001566
If you carelessly divide by the old volatilities, implied ρ_t = 0.0001566 / (0.015 × 0.010) = 1.04, which is impossible—correlation cannot exceed 1. The fix is to update the vols on the same filter, because they also jump after large |r|:
σ²_i,t = 0.94 × 0.015² + 0.06 × 0.04² = 0.0003075 → σ_i,t ≈ 1.75% σ²_j,t = 0.94 × 0.010² + 0.06 × 0.03² = 0.000148 → σ_j,t ≈ 1.22%
ρ_t = 0.0001566 / (0.0175 × 0.0122) ≈ 0.73—a legitimate correlation that correctly shows dependence rising after a joint shock. If a system still returns |ρ| > 1 after consistent updating, project the matrix back to PSD rather than clipping entries by hand. Exam moral: covariance and volatility filters must move together or “correlations” break.
Yesterday’s EWMA variance was 0.000225 and the latest squared return is 0.000081. Using λ = 0.94, what is the updated EWMA variance?
In a stationary GARCH(1,1) with ω = 0.000003, α = 0.04, β = 0.94, what is the long-run variance V_L?
When conditional variance is high today relative to its GARCH long-run level, naive √T scaling of today’s vol to a multi-month horizon tends to:
Which statement about implied volatility is most accurate for FRM Part I?