ENDERSSIKLOS Procedure |
@EndersSiklos does various types of the unit root regressions with threshold breaks on the residuals from an Engle-Granger cointegrating regression (assumed to be done already—input are the residuals). A related procedure for threshold unit roots is @EndersGranger. This is from Enders and Siklos(2001).
The regression run is
\(\Delta {u_t} = {\rm{ }}{\rho _1}{D_{1t}}{u_{t - 1}} + {\rho _2}{D_{2t}}{u_{t - 1}} + {\text{ lags of }}\Delta u\)
where \({D_{1t}}\) is the dummy for threshold series < \(\tau \) and \({D_{2t}} = 1 - {D_{1t}}\). You can either input the threshold value or request a search. If you provide a value of \(\tau \) (with the TAU option), the regressions are done with that fixed value for \(\tau \). If you don't, the values of the threshold series (excluding the PI fraction at each end) are searched for the one that minimizes the sum of squared residuals. If \({\rho _1} = {\rho _2}\), this would be a standard cointegration test, so this allows for differentiable adjustments for positive and negative disequilibrium.
Note that all the tests have non-standard distributions with critical values provided in the paper.
@EndersSiklos(THRESHOLD=threshold series,other options) u start end
Parameters
|
u |
series of residuals from an Engle-Granger regression. |
|
start end |
range of u to use. By default, the defined range of u. |
Options
LAGS=# of lags on the differences [1]
THRESHOLD=series which determines the threshold (required!)
TAU=threshold value [not used, chosen by search]
PI=fraction of high and low empirical values for the threshold series which are omitted in the search.
If you provide a value of TAU, the regressions are done with that fixed value for tau. If you don't, the values of the threshold series (excluding the PI fraction at each end) are searched for the one that minimizes the sum of squared residuals
Variables Defined
|
%%BREAKVALUE |
threshold value chosen or input |
|
%%EQUALSTAT |
F-test for \({\rho _1} = {\rho _2}\) |
|
%%PHISTAT |
joint F-test for \({\rho _1} = 0\) and \({\rho _1} = 0\) |
|
%%TMAX |
maximum t-statistic between \({\rho _1} = 0\) and \({\rho _2} = 0\) |
Example
*
* Replication file for Enders and Siklos(2001), "Cointegration and
* Threshold Adjustment," JBES, vol. 19, no. 2, 166-76.
*
open data rates.xls
calendar(m) 1964:1
data(format=xls,org=obs) 1964:01 1997:4
table
*
graph(footer="Figure 4. Interest Rate Data",$
key=upleft,klabels=||"Fed Funds","10 Year Bond"||) 2
# fed_funds
# g_10
*
@dfunit(lags=4) fed_funds 1980:1 *
@dfunit(lags=4) g_10 1980:1 *
*
set logff = log(fed_funds)
set log10 = log(g_10)
*
@varlagselect(crit=bic,lags=10) 1980:1 *
# logff log10
@varlagselect(crit=aic,lags=10) 1980:1 *
# logff log10
*
@johmle(det=rc,lags=2) 1980:1 *
# logff log10
@johmle(det=rc,lags=3) 1980:1 *
# logff log10
*
linreg logff 1979:10 * u
# constant log10
@egtestresids(lags=2) u
*
set du = u-u{1}
*
linreg(title="Engle-Granger Auxiliary Regression") du
# u{1} du{1 2}
*************************************************************
set tseries = u{1}
@EndersSiklos(title="Threshold Model with tau=0",threshold=tseries,tau=0.0,lags=2) u
set dseries = du{1}
@EndersSiklos(title="Momentum Model with tau=0",threshold=dseries,tau=0.0,lags=2) u
@EndersSiklos(title="Momentum Model with empirical tau",threshold=dseries,pi=.15,lags=2) u
Sample Output
This is the output from the three @EndersSiklos procedure calls in the above.
Threshold Model with tau=0
Lags 2
Threshold 0.0000
T-Max -1.5823
Phi 4.3236
Equality 0.4955
Coeff Std Error
Above -0.0846 0.0336
Below -0.0520 0.0329
DU{1} 0.1889 0.0678
DU{2} -0.1466 0.0681
Momentum Model with tau=0
Lags 2
Threshold 0.0000
T-Max -0.6283
Phi 6.3628
Equality 4.4176
Coeff Std Error
Above -0.0205 0.0327
Below -0.1173 0.0333
DU{1} 0.1834 0.0672
DU{2} -0.1606 0.0676
Momentum Model with empirical tau
Lags 2
Threshold -0.0261
T-Max -0.6795
Phi 7.5482
Equality 6.6975
Coeff Std Error
Above -0.0203 0.0298
Below -0.1412 0.0367
DU{1} 0.1864 0.0668
DU{2} -0.1550 0.0670
Copyright © 2025 Thomas A. Doan