Evaluating GARCH Volatility Forecasts Against Realized Volatility
Summary
The document addresses how to evaluate GARCH forecasts, which predict conditional volatility rather than the return level. It outlines an out-of-sample comparison associated with Hansen and Lunde: estimate an ARCH-family model using data through a chosen date, forecast volatility for the next period, and compare that forecast with realized volatility measured from higher-frequency returns during the forecast period.
For the example, realized monthly volatility is approximated using daily squared returns. The forecast errors are squared and aggregated across multiple periods, allowing models or forecasting setups to be compared. The cited study compared many ARCH-type models and found GARCH(1,1) performed best in its sample; that result is not a universal guarantee. The answer does not detail alternative loss functions, forecast calibration, or how to test whether forecasts contain randomness, and evaluation depends on the realized-volatility proxy and chosen frequency.
Key ideas
- Assess GARCH forecasts against volatility realized after the forecast date.
- Use higher-frequency returns, such as daily returns, to estimate realized volatility over a forecast period.
- Aggregate squared forecast errors across multiple out-of-sample periods for comparison.
- The cited GARCH(1,1) result applies to the study’s sample and is not universal.
Tags
Full text
# Accuracy for GARCH models
# Accuracy for GARCH models
How does one calculate the accuracy of forecasts given by GARCH models considering GARCH is run on returns. Assuming GARCH is a derivative of a regression based prediction model, would regular statistics like R squared, MAPE/ SMAPE etc be the right indicator for the performance? Unlike ARIMA where the predictive power just dies down after a forecast interval, I experience GARCH forecasting values of almost any time period specified. How would one be able to identify if there is any randomness in the forecasted values?
## Answer by phdstudent (score 2)
https://quant.stackexchange.com/a/38804
The best way to check the accuracy of a Garch model is to use the methodology of Hansen and Lunde (2005). In this paper they actually compared the accuracy of 330 Arch-type models and concluded that Garch(1,1) was superior in their sample.
The paper describes at great length the way to do it. But in a nutshell:
- Estimate arch-type your model in monthly data using a window from $[t_{start}, t_{end}$. Compute volatility forecast for month $t_{end+1}$.
- Compute realized volatility during month $t_{end+1}$ using daily data (e.g. sum of squared returns).
- Subtract your forecasted volatility from realized volatility and square it. Do this for several months and check the sum of squared residuals.
You can do this exercise using many frequencies. My example above is for monthly frequency. Just replace the appropriate definitions.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.