Modeling Volatility and GARCH Family › Volatility Forecasting
Quantitative FinanceAll chapters Modeling Volatility and GARCH Family › Volatility ForecastingOne section · Sections in this chapter9 / 13 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
One-Step-Ahead Forecasts
The primary application of GARCH models is forecasting future volatility. For GARCH(1,1), the one-step-ahead forecast is straightforward:
where:
- : forecasted variance for the next period
- : estimated model parameters
- : today's squared return shock
- : today's conditional variance
Given today's shock and variance , tomorrow's variance forecast is simply the GARCH equation evaluated at current values. This forecast incorporates two sources of information: the specific return shock that just occurred and the overall volatility state. The simplicity of this calculation makes GARCH particularly attractive for real-time applications where you must update forecasts daily.
Multi-Step Forecasts
For longer horizons, you iterate the GARCH equation forward. Since the expected squared shock equals the variance (), the forecast follows a recursive pattern:
where:
- : expected variance steps ahead
- : model parameters
- : expected variance at the previous step
Subtracting the unconditional variance from both sides reveals the mean-reverting dynamic:
where:
- : expected deviation of variance from the long-run average at horizon
- : persistence parameter determining decay rate
- : expected deviation at the previous step
This relationship shows that the expected deviation from unconditional variance shrinks by a factor of each period. Starting from any initial variance, forecasts converge geometrically toward the long-run level. Iterating this relationship times yields the -step-ahead forecast from time :
where:
- : expected variance days ahead given info at
- : unconditional long-run variance
- : persistence parameters
- : forecast horizon
- : next day's variance forecast
As the horizon increases, the forecast converges to the unconditional variance. This is mean reversion in action. As you become increasingly uncertain about future volatility, your best guess converges to the long-run average. At very long horizons, your specific knowledge of current market conditions becomes irrelevant, and you fall back on the unconditional variance as your forecast.
# Generate volatility forecasts
forecast_horizon = 60 # 60 trading days (roughly 3 months)
forecasts = results.forecast(horizon=forecast_horizon)
# Extract variance forecasts
variance_forecasts = forecasts.variance.iloc[-1].values
volatility_forecasts = np.sqrt(variance_forecasts) * np.sqrt(252) # Annualize
# Calculate unconditional volatility
alpha_est = results.params["alpha[1]"]
beta_est = results.params["beta[1]"]
omega_est = results.params["omega"]
unconditional_vol = np.sqrt(omega_est / (1 - alpha_est - beta_est)) * np.sqrt(
252
)
The volatility term structure shows how GARCH forecasts evolve with horizon. If current volatility is above the long-run level, the forecast gradually declines; if below, it gradually rises. This mean-reverting behavior is economically sensible and distinguishes GARCH from naive historical measures that assume volatility is constant. The line shows the model's conditional mean forecast; constructing forecast intervals would require simulation or an additional distributional calculation. Traders and risk managers can use this term structure to set appropriate volatility assumptions for options and risk calculations at different maturities.