The AUTOREG Procedure |
Heteroscedasticity and GARCH Models |
There are several approaches to dealing with heteroscedasticity. If the error variance at different times is known, weighted regression is a good method. If, as is usually the case, the error variance is unknown and must be estimated from the data, you can model the changing error variance.
The generalized autoregressive conditional heteroscedasticity (GARCH) model is one approach to modeling time series with heteroscedastic errors. The GARCH regression model with autoregressive errors is
This model combines the mth-order autoregressive error model with the GARCH variance model. It is denoted as the AR-GARCH regression model.
The Lagrange multiplier (LM) tests shown in Figure 8.11 can help determine the order of the ARCH model appropriate for the data. The tests are significant through order 12, which indicates that a very high-order ARCH model is needed to model the heteroscedasticity.
The basic ARCH model is a short memory process in that only the most recent q squared residuals are used to estimate the changing variance. The GARCH model allows long memory processes, which use all the past squared residuals to estimate the current variance. The LM tests in Figure 8.11 suggest the use of the GARCH model instead of the ARCH model.
The GARCH model is specified with the GARCH=(P= ,Q= ) option in the MODEL statement. The basic ARCH model is the same as the GARCH model and is specified with the GARCH=(Q=) option.
The following statements fit an AR(2)-GARCH model for the Y series regressed on TIME. The GARCH=(P=1,Q=1) option specifies the GARCH conditional variance model. The NLAG=2 option specifies the AR(2) error process. Only the maximum likelihood method is supported for GARCH models; therefore, the METHOD= option is not needed. The CEV= option in the OUTPUT statement stores the estimated conditional error variance at each time period in the variable VHAT in an output data set named OUT. The data set is the same as in the section Testing for Heteroscedasticity.
/*-- AR(2)-GARCH(1,1) model for the Y series regressed on TIME --*/ proc autoreg data=a; model y = time / nlag=2 garch=(q=1,p=1) maxit=50; output out=out cev=vhat; run;
The results for the GARCH model are shown in Figure 8.12. (The preliminary estimates are not shown.)
GARCH Estimates | |||
---|---|---|---|
SSE | 218.860964 | Observations | 120 |
MSE | 1.82384 | Uncond Var | 1.62996534 |
Log Likelihood | -187.44013 | Total R-Square | 0.9941 |
SBC | 408.392693 | AIC | 388.88025 |
MAE | 0.97051351 | AICC | 389.88025 |
MAPE | 2.75945185 | Normality Test | 0.0839 |
Pr > ChiSq | 0.9589 |
Variable | DF | Estimate | Standard Error | t Value | Approx Pr > |t| |
---|---|---|---|---|---|
Intercept | 1 | 8.9301 | 0.7235 | 12.34 | <.0001 |
time | 1 | 0.5075 | 0.0107 | 47.30 | <.0001 |
AR1 | 1 | -1.2301 | 0.1078 | -11.41 | <.0001 |
AR2 | 1 | 0.5023 | 0.1057 | 4.75 | <.0001 |
ARCH0 | 1 | 0.0850 | 0.0757 | 1.12 | 0.2614 |
ARCH1 | 1 | 0.2103 | 0.0847 | 2.48 | 0.0130 |
GARCH1 | 1 | 0.7376 | 0.0960 | 7.68 | <.0001 |
The normality test is not significant (p = 0.959), which is consistent with the hypothesis that the residuals from the GARCH model, , are normally distributed. The parameter estimates table includes rows for the GARCH parameters. ARCH0 represents the estimate for the parameter , ARCH1 represents , and GARCH1 represents .
The following statements transform the estimated conditional error variance series VHAT to the estimated standard deviation series SHAT. Then, they plot SHAT together with the true standard deviation S used to generate the simulated data.
data out; set out; shat = sqrt( vhat ); run; title 'Predicted and Actual Standard Deviations'; proc sgplot data=out noautolegend; scatter x=time y=s; series x=time y=shat/ lineattrs=(color=black); run;
The plot is shown in Figure 8.13.
Note that in this example the form of heteroscedasticity used in generating the simulated series Y does not fit the GARCH model. The GARCH model assumes conditional heteroscedasticity, with homoscedastic unconditional error variance. That is, the GARCH model assumes that the changes in variance are a function of the realizations of preceding errors and that these changes represent temporary and random departures from a constant unconditional variance. The data-generating process used to simulate series Y, contrary to the GARCH model, has exogenous unconditional heteroscedasticity that is independent of past errors.
Nonetheless, as shown in Figure 8.13, the GARCH model does a reasonably good job of approximating the error variance in this example, and some improvement in the efficiency of the estimator of the regression parameters can be expected.
The GARCH model may perform better in cases where theory suggests that the data-generating process produces true autoregressive conditional heteroscedasticity. This is the case in some economic theories of asset returns, and GARCH-type models are often used for analysis of financial market data.
The AUTOREG procedure supports several variations of the generalized conditional heteroscedasticity model.
Using the TYPE= suboption of the GARCH= option, you can control the constraints placed on the estimated GARCH parameters. You can specify unconstrained, nonnegativity constrained (default), stationarity constrained, or integration constrained. The integration constraint produces the integrated GARCH, or IGARCH, model.
You can also use the TYPE= option to specify the exponential form of the GARCH model, called the EGARCH model. The MEAN suboption of the GARCH= option specifies the GARCH-in-mean, or GARCH-M, model.
The following statements illustrate the use of the TYPE= option to fit an AR(2)-EGARCH model to the series Y. (Output is not shown.)
/*-- AR(2)-EGARCH(1,1) model --*/ proc autoreg data=a; model y = time / nlag=2 garch=(p=1,q=1,type=exp); run;
See the section GARCH, IGARCH, EGARCH, and GARCH-M Models later in this chapter for details.
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.