RATS 11
RATS 11

Procedures /

PERRONBREAKS Procedure

Home Page

← Previous Next →

@PERRONBREAKS is a procedure for a very general approach to handling unit root tests allowing for structural breaks. It is based upon the set of models in Perron(2006), but with extension to allow more than one break.


 

@PerronBreaks(options) series start end

Wizards

This is included as one of the tests in the Time Series—Unit Root Test Wizard.

Parameters

series

series to analyze

start, end

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

Options

BREAKS=Number of breaks [1]

Number of breaks (allows for any positive number)
 

AO=[NONE]/MEAN/CRASH/JOIN/BREAK

IO=[NONE]/MEAN/CRASH/BREAK

AO are for "additive outliers" which change immediately the level (trend) of the series. IO are for "innovational outliers" which add a shift to the error term and thus affect the series more gradually. CRASH is an abrupt change in the level of the series, with the trend rate unchanged before and after the break(s). (Note that a "crash" could be an increase). JOIN is a change in the trend rate, with no immediate change in the level. BREAK is a change in both the level and the trend rate, simultaneously. All three of those assuming trending data. The MEAN option is for an abrupt change in the level of a non-trending series.

 

The augmenting lags are selected separately for each test value(s) of the breaks. These are controlled by the following options:

 

LAGS=(maximum) number of lags on the auxiliary regression [1]

METHOD=[FIXED]/GTOS/AIC/BIC/HQ

SLSTAY=significance level to keep lag in model with METHOD=GTOS [.10]

If METHOD=FIXED, the number of lags on the LAGS option is included in all regressions. If METHOD=GTOS (general-to-specific), lags are dropped from the end so long as the significance level of the t-statistic is greater than the SLSTAY value. The other three choose lags by minimizing the selected information criterion.

 

PI=fraction of entries on each end of data to exclude as break points[.10]

This is also the minimum gap between breakpoints if BREAKS>1.

 

[PRINT]/NOPRINT

TITLE=title for report ["Unit Root Test, Series x"]

 

Variables Defined

%CDSTAT

test statistic (minimum t-stat) (REAL)

%MINENT

entry of the (lower) break giving the minimum t (INTEGER)

%MAXENT

entry of the (higher) break for the 2 break model (INTEGER)

%%SHIFTS

RECT of estimated shifts (one column for each break).

%%AUTOP

number of lags selected (INTEGER)

Example

This does unit root tests on a very long stretch of annual data for log US real GDP. The first model is an IO "crash" model, that is, it allows for a sudden change in the level without a change in the trend rate of growth. The second model is an AO "break", so both the level and the trend rate are allowed to change at the break point. Note that, in most cases, you should have a fairly good idea of what type of break is most likely in the series. The difference between AO and IO is often subtle, but between crash and join isn't. US GDP over this range has a rather clear drop at the start of the depression, so a join model wouldn't be capable of handling that, hence either crash or break. US GDP over the post-war era, by contrast, has nothing so dramatic, but the rate of growth does seem to slow, so a join model would make more sense as the alternative.

 

The first chooses the number of lags using GTOS and the second uses BIC. Particularly with the AO model, it's a good idea to use one of the criteria (rather than GTOS) because the AO model adds two parameters per lag, so a test just on the lagged difference that is done by GTOS won't take that into account.

 

cal(a) 1900

open data sample.rat

data(format=rats) 1909:1 1970:1 gdp

set lgdp = log(gdp)

@perronbreaks(io=crash,lags=10,method=gtos) lgdp

@perronbreaks(ao=break,lags=10,method=bic) lgdp

 

Sample Output

This is the output from the example above. Both choose 1928:1 as the break point. The practice in break point models in the economics literature is that the listed break point is the final entry before the change, so the crash in level hits 1929:1.


 

Unit Root Test, Series LGDP

Regression Run From 1920:01 to 1970:01

Observations            60

IO Model: Crash with 1 breaks

With 8 lags chosen from 10

Selection by AIC

 

Variable       Coefficient T-Stat

Y{1}             -0.603902 -5.175617

 

Break point(s)

1928:01


 

Unit Root Test, Series LGDP

Regression Run From 1920:01 to 1970:01

Observations            61

AO Model: Full Trend Break with 1 breaks

With 1 lags chosen from 10

Selection by BIC

 

Variable       Coefficient T-Stat

Y{1}             -0.325040 -4.215948

 

Break point(s)

1928:01


 


Copyright © 2025 Thomas A. Doan