Page 1 of 1

DFUNIT - Dickey-Fuller Unit Root Test

PostPosted: Fri Nov 04, 2011 12:15 pm
by TomDoan
Attached is a revised version of the DFUNIT procedure for doing the Dickey-Fuller unit root test. This includes options for automatic lag length selection, with options similar to the ones that we've used in other procedures. The default for the new METHOD option is METHOD=INPUT, so it will work without change for existing programs. @DFUNIT is part of the Unit Root Tests wizard on the Time Series menu.

dfunit.src
Procedure file - requires RATS 7.3 or later
(8.66 KiB) Downloaded 97 times


Options for Selecting Lags

LAGS=number of additional lags [0]
MAXLAGS=maximum number of additional lags to consider [number of observations^.25]
You can use either of these to select either the (maximum) number of additional lags. If you don't use either option, the LAGS default of 0 will be used for METHOD=INPUT and the MAXLAGS default will be used for the others.

METHOD=[INPUT]/AIC/BIC/HQ/TTEST/GTOS
METHOD=INPUT uses the input number of LAGS only. METHOD=AIC/BIC/HQ test the D-F regressions for everything from 0 to LAGS/MAXLAGS and chooses the minimizer for the chosen criterion. METHOD=TTEST/GTOS starts with the full set of lags and deletes lags as long as the final one has a marginal significance level less than the cutoff given by the SIGNIF option. (GTOS is short for General-TO-Specific).

SIGNIF=cutoff significance level for METHOD=TTEST or GTOS[.10]

Other Options

DET=NONE/[CONSTANT]/TREND
Choose what deterministic components to include.

[TTEST]/NOTTEST
Computes the regression t test, as opposed to the T(rho-1) test.

[PRINT]/NOPRINT
TITLE=Title for output ["Dickey-Fuller Unit Root Test, Series xxxx"]

Example

Code: Select all
*
* Baltagi, Econometrics, 3rd edition
* Unit Root tests from pp 370-371
*
open data consump.dat
calendar 1950
data(format=prn,org=columns) 1950:1 1993:1 year y c
*
* Dickey-Fuller regression, done directly
*
set dc   = c-c{1}
set trend = t-1
linreg dc
# constant trend c{1}
*
* Using DFUNIT instead.
*
@dfunit(det=trend) c
@dfunit(det=trend,lags=2) c
*
* Unit root tests on the difference
*
@dfunit dc


consump.dat
Data file for example
(2.5 KiB) Downloaded 34 times