Title

covstat -- Jansson-RALS covariate stationarity test: more powerful
stationarity tests with non-normal errors (Nazlioglu, Lee, Karul & You, 2021)

Syntax

covstat varname [if] [in] [, options]

Main
model(string) deterministic terms: constant or trend
(default)

iid i.i.d. long-run variance instead of the default VAR(1)-prewhitened
QS-kernel estimator

Plot
graph plot the statistics against their signal-to-noise
critical-value curves

gname(name) name of the graph

graphopts(str) additional twoway options

The time dimension is read from tsset when set.

Description

covstat tests the null hypothesis that a series is (trend-)stationary
against a unit-root alternative, using the stationarity tests of Jansson (2004)
augmented with RALS covariates. The key idea of Nazlioglu, Lee, Karul and
You (2021) is that, under non-normal errors, the residual-augmented least
squares (RALS) terms

wt = [ et2 - m2 , et3 - m3 - 3 m2 et ]

(built from the OLS residuals of the testing regression) are valid stationary
covariates: correlated with the error but not with the regressors. Adding them to
the Jansson framework yields substantially more powerful stationarity tests, and
no external covariate has to be found.

The command reports four statistics:

Ly_T, Qy_T - the benchmark Jansson locally-optimal
and point-optimal statistics without covariates. Ly_T equals the KPSS test of
Kwiatkowski et al. (1992).

L_T, Q_T - the Jansson-RALS locally-optimal and
point-optimal statistics with the RALS covariates.

Because the distribution of the covariate tests depends on the signal-to-noise
ratio rho^2, p-values are obtained from the response-surface functions of the
paper (shipped in jrals_rs.txt). The long-run covariance is estimated, by
default, with a VAR(1)-prewhitened quadratic-spectral kernel and the Jansson (2004,
p.74) plug-in bandwidth. See help covstat methods.

covstat is part of the flexur library.

Options

model(string) sets the deterministic component: constant (level
stationarity, Xt=1) or trend (trend stationarity, Xt=[1,t]; the
default and the specification used in the paper's application).

iid estimates the long-run (co)variance under serial independence. By default
covstat uses the VAR(1)-prewhitened quadratic-spectral kernel estimator with
an automatic plug-in bandwidth, matching the paper.

graph, gname(name), graphopts(string) draw and name a diagnostic
plot of the L_T and Q_T 5% critical-value curves as functions of rho^2, with the
estimated rho^2 marked.

Examples

Trend-stationarity test with RALS covariates (recommended):

. tsset year

. covstat lgnp, model(trend)

Level stationarity, i.i.d. long-run variance:

. covstat lgnp, model(constant) iid

With the signal-to-noise diagnostic plot:

. covstat lcpi, model(trend) graph

Stored results

covstat is rclass and stores:

Scalars

r(Ly_T), r(Ly_p) benchmark locally-optimal statistic (= KPSS) and p-value

r(Qy_T), r(Qy_p) benchmark point-optimal statistic and p-value

r(L_T), r(L_p) Jansson-RALS locally-optimal statistic and p-value

r(Q_T), r(Q_p) Jansson-RALS point-optimal statistic and p-value

r(rho2) estimated signal-to-noise ratio

r(T) number of usable observations

Macros

r(cmd) covstat

r(model) deterministic model

Interpreting the output

All four statistics reject stationarity for large values / small p-values.
Ly_T and Qy_T ignore the RALS information; L_T and Q_T exploit it.

The signal-to-noise ratio rho^2 measures how much the RALS covariates explain.
Under normal errors rho^2 is near 0 and the covariate tests collapse to their
benchmark counterparts (Ly_T then equals KPSS). A large rho^2 (say > 0.8)
signals strong non-normality: the RALS terms carry real information and the L_T /
Q_T tests can be far more powerful than KPSS. In the Nelson-Plosser application,
KPSS (Ly_T) rejects nothing, whereas the Jansson-RALS tests reject stationarity for
many series.

Remarks and practical guidance

o Use model(trend) for the usual macro series; model(constant)
for level-stationarity questions.

o The default (VAR(1)-prewhitened QS kernel) reproduces the paper. Use
iid only when the errors are known to be serially uncorrelated.

o rho^2 is capped at 0.9 for the response-surface interpolation, as in the
original code; p-values are floored at 0.0001 and reported as approximate.

o At least ~20 observations are required; the covariate machinery needs a
non-degenerate empirical third/fourth moment (i.e. genuinely non-normal errors) to
gain power.

References

Im, K. S., and P. Schmidt. 2008. More efficient estimation under
non-normality: residuals augmented least squares. Journal of Econometrics
144: 219-233.

Jansson, M. 2004. Stationarity testing with covariates. Econometric
Theory 20: 56-94.

Kwiatkowski, D., P. C. B. Phillips, P. Schmidt, and Y. Shin. 1992. Testing
the null hypothesis of stationarity against the alternative of a unit root.
Journal of Econometrics 54: 159-178.

Nazlioglu, S., J. Lee, C. Karul, and Y. You. 2021. Testing for stationarity
with covariates: more powerful tests with non-normal errors. Studies in
Nonlinear Dynamics & Econometrics.

Author

Dr Merwan Roudane

merwanroudane920@gmail.com

github.com/merwanroudane

Faithful Stata port of the GAUSS routine appl_JanssonRALS.gss by
S. Nazlioglu, J. Lee, C. Karul and Y. You; validated against Table 9 of the paper.
Part of the flexur library.