RATS 11.1
RATS 11.1

Procedures /

ARCHTEST Procedure

Home Page

← Previous Next →

@ARCHTEST does the Engle(1982) test for ARCH effects by regressing the square of a series on its lags and testing the significance of the lags. The null is that the series is mean zero, not serially correlated and has constant variance. This can be used to test the original series for ARCH (or GARCH) by applying it to residuals from a preliminary LINREG (to satisfy the requirement that the series be mean zero and not serially correlated). It can also be used as a diagnostic by applying it to the standardized residuals from GARCH estimation. Note that you apply the procedure to the residuals, not to their squares. (The procedure handles the squaring).
 

A multivariate version is available with @MVARCHTEST.
 

Note: it is very common to misinterpret the results of this when it's applied as a preliminary test (not as a diagnostic). The null is that the residuals are homoscedastic. A rejection means that you reject that the variances are constant, but it does not mean the process actually has a ARCH or GARCH error process. For instance, a structural break in the variance (part of the sample high, part low) will trigger a significant result on @ARCHTEST because the larger squared residuals will tend to cluster together in their part of the sample.

 

@ARCHTEST( options )  series start end

Parameters

series

series to analyze

start, end

range of series to use. By default, the defined range of series.

Options

LAGS=(maximum) number of lags [4]
 

SPAN=spacing between number of lags in a test sequence

SPAN=1 will give a table of tests for all lags from 1 to the LAG option. The default is to test only the value of the LAGS option.

 

DFC=degrees of freedom correction for tests

By default, 0. If series are the residuals from an ARCH or GARCH, DFC should be the number of ARCH/GARCH parameters.

 

FORM=[F]/LM

Determines whether F-test or Lagrange multiplier form is used

 

[PRINT]/NOPRINT

TITLE=title for output ["Test for ARCH in Series xxxx"]

Variables Defined

%CDSTAT

F-statistic for test with the full LAG lags (REAL)

%SIGNIF

Significance level of %CDSTAT (REAL)

Example

*

* Verbeek, A Guide to Modern Econometrics, 4th edition

* Illustration 8.11.3 from pp 331-332

*

open data usd.dat

data(format=prn,org=columns) 1 3109 dayoftheweek dlogusd100 monday thursday tuesday wednesday

*

graph(footer="Figure 8.12 Daily change in log $/Euro exchange rate")

# dlogusd100

*

stats dlogusd100

*

linreg dlogusd100 / resids

# constant

*

* Using @ARCHTEST to test for the ARCH effects in the residuals

*

@archtest(lags=1,form=lm) resids

@archtest(lags=6,form=lm) resids

*

* You can also do a single @ARCHTEST to get all lags from 1 to 6:

*

@archtest(lags=6,form=lm,span=1) resids

 

Sample Output

This is for the last @ARCHTEST in the example, which uses the options LAGS=6 and SPAN=1, so it gives tests with each lag from 1 to 6. Without SPAN, it will be similar but will show just one line in the table.

 

Note that the default is FORM=F (the output below is for FORM=LM), which will give test statistics which are much smaller (since they are divided through by the degrees of freedom). However, the significance level for the two forms of the test are generally almost identical since these are usually applied to fairly large data sets.


 

Test for ARCH in RESIDS

Using data from 2 to 3109

 

Lags Statistic Signif. Level

   1   136.315       0.00000

   2   145.860       0.00000

   3   149.503       0.00000

   4   170.331       0.00000

   5   188.834       0.00000

   6   208.243       0.00000

 


Copyright © 2026 Thomas A. Doan