Hansen Econometrica 1996 |
This replicates the empirical example from Bruce Hansen(1996). Most of the paper is theoretical; the empirical example is a Threshold Autoregression, which is done using the @TAR procedure (which was written based upon the theory in this paper). The program (GNPTAR.RPF) is a very straightforward use of that procedure, applied to (annualized) US GNP growth:
open data gnp.asc
calendar(q) 1947
data(format=free,org=columns) 1947:01 1990:03 gnp dontknow
*
set ggrowth = log(gnp/gnp{1})*400.0
*
@tar(laglist=||1,2,5||,nreps=1000) ggrowth
This runs a threshold autoregression on the GNP growth series using only lags 1, 2 and 5, allowing for a threshold break at any one of those lags (searching for the one which gives the smallest sum of square residuals on the broken sample). @TAR has a P option that can be used if you want to use lags without skips (P=5 instead of the LAGLIST option would include all lags 1 through 5).
The NREPS option requests 1000 bootstrap replications to evaluate the significance of the break. (Because the break is found by searching, it has a non-standard distribution). The point of the paper is to describe the "fixed regressor bootstrap" which is used.
Output
Threshold Autoregression
Threshold is GGROWTH{2}=0.0126
Tests for Threshold Effect use 1000 draws
SupLM 18.244777 P-value 0.045000
ExpLM 4.768378 P-value 0.094000
AveLM 4.564716 P-value 0.290000
Variable Full Sample <=Thresh >Thresh
Constant 1.992255 -3.212555 2.141862
( 0.478946) ( 1.672070) ( 0.638545)
GGROWTH{1} 0.317537 0.512781 0.300854
( 0.077048) ( 0.183042) ( 0.079967)
GGROWTH{2} 0.131979 -0.926923 0.184844
( 0.076781) ( 0.347333) ( 0.108861)
GGROWTH{5} -0.086963 0.384457 -0.158135
( 0.071641) ( 0.202972) ( 0.070146)
Observations 169 38 131
SEESQ 15.960496 23.533054 12.143010
The best break was found at a value of 0.0126 breaking the sample on values of the 2nd lag (GGROWTH{2}). The three forms of the test statistic (SupLM is the largest value of the test statistic, ExpLM is an exponential average across different breaks and AveLM is an arithmetic average) are shown with their bootstrapped significance levels. The null is that there is no break. (Note that because those are bootstrapped, they won't be exactly the same when this is re-run). The overall impression from these is that the threshold effect is not particularly strong.
The table at the bottom shows the model estimated over the full sample, over the subsample just up to and including the break value and the subsample above the break value.
Copyright © 2025 Thomas A. Doan