GARCH Models |
ARCH (AutoRegressive Conditional Heteroscedasticity), GARCH (Generalized ARCH) and related models are a very popular way to model the time-varying volatility in many economic and (particularly) financial series. Thanks to the flexible maximum likelihood estimation capabilities of RATS, it has proven to be an excellent tool for estimating standard ARCH and GARCH models, as well as the many complex variants on them.
The instruction GARCH can handle most of the more standard ARCH and GARCH models. However, because refinements on these models are being developed, it’s still useful to know how to do the calculations using more basic instructions.
Autoregressive conditional heteroscedasticity (ARCH) was proposed by Engle (1982) to explain the tendency of large residuals to cluster together. A very general form for an ARCH or GARCH model is
\begin{equation} y_t = X_t \beta + u_t \label{eq:garch_meanmodel} \end{equation}
\begin{equation} h_t \equiv {\mathop{\rm var}} (u_t ) = h{\kern 1pt} \left( {u_{t - 1} ,{\kern 1pt} {\kern 1pt} {\kern 1pt} u_{t - 2} ,{\kern 1pt} {\kern 1pt} {\kern 1pt} \ldots ,{\kern 1pt} {\kern 1pt} {\kern 1pt} u_{t - q} ,{\kern 1pt} {\kern 1pt} {\kern 1pt} h_{t - 1} ,h_{t - 2} , \ldots ,h_{t - p} ,X_t ,{\kern 1pt} {\kern 1pt} {\kern 1pt} X_{t - 1} ,{\kern 1pt} {\kern 1pt} {\kern 1pt} \ldots ,{\kern 1pt} {\kern 1pt} {\kern 1pt} X_{t - k} ,{\kern 1pt} {\kern 1pt} {\kern 1pt} \alpha } \right) \label{eq:garch_variancemodel} \end{equation}
where the residual \(u_t\) is mean zero and serially uncorrelated,
\(\alpha\) is a set of unknown parameters for the \(h\) function. Assuming the residuals are Normally distributed, the log likelihood term for entry \(t\) (omitting additive constants, although they’re included in output from GARCH) takes the form
\begin{equation} - \frac{1}{2}\log h_t - \frac{1}{2}\frac{{\left( {y_t - X_t \beta } \right)^2 }}{{h_t }} \label{eq:garch_generallogl} \end{equation}
where \(h_t\) is \(h(..)\) evaluated at \(t\). This has a standard regression model for the mean of the series, and a separate model for the variance. We’ll refer to these as the “mean model” and “variance model.” These can be, and often are, analyzed separately. The parameters for \eqref{eq:garch_meanmodel}, for instance, can be estimated consistently by least squares—they just won’t be efficient if they don’t take into account the heteroscedasticity.
ARCH (or most commonly) GARCH models aren’t the only models proposed to explain volatility “clustering”. The stochastic volatility model is, at first glance, similar to the GARCH model, but, unlike \eqref{eq:garch_variancemodel}, where the variance is a computable function of past data, in the stochastic volatility model, it’s unobservable, which creates certain technical problems. By contrast, the ICSS algorithm of Inclan and Tiao(1993) (@ICSS procedure) doesn’t “model” variance changes but attempts to identify discrete changes in the variance from the data. However, this doesn’t permit any type of forecasting of volatility since the variance changes can only be identified from observed data.
In ICSS, the assumption is that there are (or at least may be) different variance “regimes” in the data set with no real connection among them. There are other models which also are based upon volatility regimes, but with some form of “switching” models for the changes. either unobserved variance regimes (such as Markov Switching models) or observable regimes (threshold models).
True Volatility is Unobservable
One (unfortunate) fact that affects not just GARCH but all the alternative models is the true volatility isn’t observable—we’re trying to infer it from the observable data. For instance, the \(h_t\) in \eqref{eq:garch_variancemodel} is just the model’s estimate of the variance at time \(t\), not the actual volatility. A common belief is that the squared residuals can be used to substitute for volatility. If the the model is correct, that will have the correct expected value; however, it’s a (very) poor proxy for the truth (see Andersen and Bollerslev(1998)).
Because the true value isn’t observable, it makes it much more difficult to evaluate models. Other things being equal, a higher log likelihood means that the model explains the data (the \(y\)) better. But explaining \(y\) better doesn’t necessarily mean that the model has done a better job of capturing the volatility. For instance, in almost any type of GARCH model, you will get a much better log likelihood from using a Student-t error process rather than a conditionally normal one. And the difference is usually due to a handful of “outliers”, which provide a natural experiment for the GARCH model—if GARCH is a correct description of the data-generating process, then the outliers should be followed by a period of high volatility. With a \(t\) error process, the estimates of the volatility following the outlier will generally be lower than they are with the normal errors, as the \(t\) likelihood doesn’t penalize large standardized residuals as severely.
In part because true volatility isn’t observable, and in part because it is (by definition) a positive number, evaluating volatility forecasts is much more difficult than evaluating forecasts of the data itself. Andersen and Bollerslev used high-frequency data to provide a second source for volatility information, which often isn’t available. Patton(2011) shows that some commonly used forecast error statistics (such as the mean absolute error or MAE) fail badly when used for evaluating volatility—a model which systematically underestimates volatility will generate smaller MAE statistics.
Univariate vs Multivariate GARCH Models
Whether you are planning to do univariate models or multivariate models, the data preparation steps are largely the same. Note that multivariate models are much harder to specify, much harder to estimate, much more likely to simply fail to work as expected, even if each individual series seems to be fit easily with univariate models. You need to be particularly careful when you have data from different markets, where you may have timing issues. For instance,different markets may be closed on different days, hours may be different which will mean that one market will somewhat "lead" another. This will have no effect when each is examined individually, but could make it difficult to fit a combined dynamic model.
Copyright © 2025 Thomas A. Doan