Statistics and Algorithms / GARCH Models / GARCH Models (Univariate) / UV GARCH Estimation |
GARCH estimates models using maximum likelihood. Because the Normal is a special case of both the t and the GED, the log likelihood used by GARCH includes all the integrating constants so the function values produced under different choices for the distribution will be comparable.
The instruction provides several estimation algorithms, which you select with the METHOD option. For final estimation, the default is BFGS while BHHH is a common choice, since the model is in the form that can be estimated using that. However, BHHH isn’t necessarily a good choice as the main estimation method, as the curvature far from the maximum can be quite different from that calculated by BHHH. If you want the BHHH covariance matrix, it’s better to use BFGS as a preliminary method, then switch to BHHH for a final iteration once it’s converged.
The derivative-free methods are very useful in multivariate GARCH models, but aren't quite as important with the univariate ones. However, if you’re having convergence problems with BFGS or BHHH, you can use the PMETHOD option with SIMPLEX (most common) or GENETIC and combined with PITERS to refine the initial guesses. (The “annealing” algorithms will almost never be needed).
Quasi-Maximum Likelihood
An alternative to using one of the non-normal distributions is to obtain quasi-Maximum Likelihood estimates by using the log likelihood function from the conditional normal specification. As this is not the true likelihood, it requires calculating a robust estimate of the covariance of the parameter estimates. METHOD=BFGS with the ROBUSTERRORS option produces the required calculation:
garch(method=bfgs,robust,other options) ...
Under fairly weak conditions, the resulting estimates are consistent even when the conditional distribution of the residuals is non-normal (Bollerslev and Wooldridge (1992)). The covariance matrix calculated by RATS is not numerically identical to the one referred to in that paper, but is asymptotically the same..
Pre-sample Variance
These types of models have a technical issue that needs to be addressed in estimating them: the variance is generated recursively and the pre-sample values of it are unobservable, and, unfortunately, the estimates can be somewhat sensitive to the choice made for these.
For the basic ARCH model, it’s possible to start the estimation at entry \(q+1\), as the variance depends only upon the lagged \(u\)’s, which are (in general) computable given the set of parameters. If you wish to do this, use the option CONDITION. However, that isn't available for a GARCH model, because the required lag of \(h\) can’t be computed no matter how many data points are used.
By default, the GARCH instruction handles both the pre-sample lagged squared \(u\)’s and the lagged variances by setting them to the unconditional estimates: the variance from the least squares estimate of the mean model. If you wish to use a different value, you can include the option PRESAMPLE=pre-sample variance. Because of this method of handling the pre-sample information, any ARCH or GARCH model with the same mean model can be estimated over the same range, that is, the only constraint on the range is from the dependent variable and any regressors or “x”-regressors.
Copyright © 2025 Thomas A. Doan