Unit Root Tests with Structural Breaks

US Current Account Balance

Introduction

In this blog, we examine the issue of identifying unit roots in the presence of structural breaks.

We will use the quarterly US current account to GDP ratio to compare results from a number of unit root test found in the GAUSS tspdlib library including the:

  • Zivot-Andrews (1992) unit root test with a single structural break.
  • Narayan and Popp (2010) unit root test with two structural breaks
  • Lee and Strazicich (2013, 2003) LM tests with one and two structural breaks
  • Enders and Lee Fourier (2012) ADF and LM tests

What is stationarity?

Stationary series have a mean and covariance that do not change over time. This implies that a series is mean-reverting and any shock to the series will have a temporary effect.

comparing stationary and non-stationary series

In the graph above we compare a stationary, non-stationary, and trend stationary AR(1) series. Looking at the blue stationary series we can see that despite the random shocks, the series fluctuates around its zero mean.

The green line is the same series as the stationary series with an added constant time trend. Though this time-series grows over time, it fluctuates around its constant time trend.

Finally, the orange line is a non-stationary series and has a unit root. It does not revert to a mean or trend line and its stochastic shocks have permanent impacts on the series.

structural breaks and stationarity

The graph above helps demonstrate the impact of structural breaks on stationarity. The series plotted above shows a structural break in the level and clearly does not revert around the same mean across all time.

Though the series is stationary within each section, most standard unit roots will bias towards non-rejection of the unit root for this series.

This is problematic because different modeling techniques should be used for the unit-root series than the series with a structural break.

Testing for unit roots with structural breaks

A number of different unit root tests have emerged from the research surrounding structural breaks and unit roots. These tests vary depending on the number of breaks in the data, whether a trend is present or not, and the null hypothesis that is being tested.

Today we will compare the results from six different tests, all of which can be found in the GAUSS TSPDLIB library.

Deciding which unit root test is right for your data? Download our Unit Root Selection Guide!

Preparing for testing

Before running the tests in the GAUSS TSPDLIB library, we must set-up a number of input parameters. All of the tests, with the exception of the Fourier expansion test, require the same inputs:


y_test
Vector, the time-series to tested.
model
Scalar, indicates the type of model to be tested.
    1 = break in level.
    2 = break in level and mean.
pmax
Scalar, Maximum number of lags for Dy. 0 = no lags.
ic
Scalar, the information criterion used to select lags.
    1 = Akaike.
    2 = Schwarz.
    3 = t-stat significance.
trimm
Scalar, data trimming rate. Not required for the Fourier expansion tests.
fmax
Scalar, maximum number of single Fourier frequency. Required only for the Fourier expansion tests.

/*
** Specify input parameters for unit root testing models
*/

// Model A: break in level  
model = 1;                  

// Maximum number of lags for Dy 
pmax = 12;                 

// Maximum number of Fourier
fmax = 4;        

// Information Criterion: T-stat significance
ic = 3;                 

// Trimming rate
trimm = 0.10;             

Running the tests

The six tests can be called directly from the GAUSS TSPDLIB library:

// One break ADF test (Zivot & Andrews, 1992)
{ ADF_min, tb1, p, cv } = ADF_1break(y_test, model, pmax, ic, trimm);

// Two breaks ADF test (Narayan & Popp, 2010)
{ ADF_min, tb1, tb2, p, cv } = ADF_2breaks(y_test, model, pmax, ic, trimm);

// Fourier ADF test (Enders & Lee, 2012)
{ ADFstat, f, p, cv } = Fourier_ADF(y_test, model, pmax, fmax, ic);    

// One break LM test (Lee & Strazicich, 2013)
{ LM_min, tb1, p, lambda, cv } = LM_1break(y_test, model, pmax, ic, trimm);

// Two breaks LM test (Lee & Strazicich, 2003)
{ LM_min, tb1, tb2, p, cv } = LM_2breaks(y_test, model, pmax, ic, trimm);

// Fourier LM test (Enders & Lee, 2012)";
{ LMstat, f, p, cv } = Fourier_LM(y_test, pmax, fmax, ic);    

Testing Results

Test Stat.Breakdate(s)$H_0$$H_A$Conclusion
Zivot & Andrews, 1992
-4.482001Q3Unit root series with driftStationary process with one-time break in the levelReject the null at the 10% level
Narayan & Popp, 2010
-5.401982Q4, 2001Q3Unit root series with two level breaksStationary process with two level breaksReject the null at the 1% level
Fourier ADF test, Enders & Lee, 2012
-2.70N/AUnit root series with unknown number of level breaksStationary process with unknown number of level breaksCannot reject the null
One break LM test, Lee & Strazicich, 2013
-3.051993Q1Unit root series with one level breakStationary process with one time level shiftCannot reject the null
Two break LM test, Lee & Strazicich, 2003
-3.311993Q1, 2004Q3Unit root series with two level breaksStationary process with two level shiftsCannot reject the null
Fourier LM test, Enders & Lee, 2012
-3.38N/AUnit root series with unknown number of level breaksStationary process with unknown number of level breaksCannot reject the null

Though not unanimous, our testing results suggest that even with the inclusion of structural breaks, we may not be able to reject the null hypothesis of a unit root for our US current account to GDP ratio data.

Conclusions

Today we've about conducting unit root testing in the presence of structural breaks. After today you should have a better understanding of:

  1. What it means for data to be stationary.
  2. How structural breaks can impact unit root testing.
  3. How to use theGAUSS TSPDLIB library to test for unit roots with structural breaks.

Code and data from this blog can be found here.

References

Enders, W., and Lee, J. (2012). A Unit Root Test Using a Fourier Series to Approximate Smooth Breaks. Oxford Bulletin of Economics and Statistics, 74(4), 574-599.

Lee, J. & Strazicich, M.C. (2003). Minimum Lagrange Multiplier unit toot test with two structural breaks. Review of Economics and Statistics, 85(4), 1082-1089.

Lee, J. & Strazicich, Mark C. (2013). Minimum LM unit root test with one structural break. Economics Bulletin, 33(4), 2483-2492.

Narayan, P.K. & Popp, S. (2010). A new unit root test with two structural breaks in level and slope at unknown time. Journal of Applied Statistics, 37(9), 1425-1438.

Zivot, E. & Andrews, W.K. (1992). Further evidence on the great crash, the oil-price shock, and the unit root hypothesis. Journal of Business and Economic Statistics, 10(3), 251-270.

3 thoughts on “Unit Root Tests with Structural Breaks

  1. blankadisuryap

    Well, I conduct several variables in order to test the Narayan and Popp (2010) unit root test.
    How To obtain overall model coefficient within its corresponding significance?
    I only obtain its basic results.

    1. blankErica Post author

      Most of the unit root tests in the tspdlib library only provide test statistics and critical values as output.

      We are planning on updating these procedures to include regression coefficients as output. However, in the meantime, if you email me directly I can assist you in setting up the code to obtain the coefficient estimates.

      Erica

  2. blankGhazalf

    Regarding your excellent explanation, I'm interested in the permanent shocks detection in the non-stationary time series, mcp package is one of the methods. Like to know your idea about. Please answer me if it is possible for you.

Leave a Reply