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(p,q) variance model. It is denoted as the AR(m)-GARCH(p,q) 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 (p<.0001) through order 12, which indicates that a very high-order ARCH model is needed to model the heteroscedasticity.

The basic ARCH(q) model (p=0) is a short memory process in that only the most recent q squared residuals are used to estimate the changing variance. The GARCH model (p>0) 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 (p>0) instead of the ARCH model.

The GARCH(p,q) model is specified with the GARCH=(P=p,Q=q) option in the MODEL statement. The basic ARCH(q) model is the same as the GARCH(0,q) model and is specified with the GARCH=(Q=q) option.

The following statements fit an AR(2)-GARCH(1,1) model for the Y series regressed on TIME. The GARCH=(P=1,Q=1) option specifies the GARCH(1,1) 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.


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.)

 The AUTOREG Procedure

 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 Normality Test 0.0839 Pr > ChiSq 0.9589

 Variable DF Estimate Standard Error t Value ApproxPr > |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

Figure 8.12: AR(2)-GARCH(1,1) Model

The normality test is not significant (p = 0.957), 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 gplot data=out;
plot s*time=1 shat*time=2 / overlay;
symbol1 v=dot  i=none;
symbol2 v=none i = join;
run;


The plot is shown in Figure 8.13. Figure 8.13: Estimated and Actual Error Standard Deviation Series

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 markets data.

### Using the HETERO Statement with GARCH Models

The HETERO statement can be combined with the GARCH= option on the MODEL statement to include input variables in the GARCH conditional variance model. For example, the GARCH(1,1) variance model with two dummy input variables D1 and D2 is  The following statements estimate this GARCH model:


proc autoreg data=one;
model y = x z / garch=(p=1,q=1);
hetero d1 d2;
run;


The parameters for the variables D1 and D2 can be constrained using the COEF= option. For example, the constraints are imposed by the following statements:


proc autoreg data=one;
model y = x z / garch=(p=1,q=1);
hetero d1 d2 / coef=unit;
run;


### Limitations of GARCH and Heteroscedasticity Specifications

When you specify both the GARCH= option and the HETERO statement, the GARCH=(TYPE=EXP) option is not valid. The COVEST= option is not applicable to the EGARCH model.

### EGARCH, IGARCH, GARCH-M Models

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(1,1) model to the series Y. (Output is not shown.)


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.