*! version 1.0.0 07jul2026 Merwan Roudane

Title

boundeduroot -- Unit-root and level-shift tests for bounded time series (a library)

Syntax

boundeduroot subcommand varname [if] [in], options

subcommand

mtests GLS M-tests for bounded series (Carrion-i-Silvestre & Gadea 2013)

breaks bounded unit-root tests with structural breaks (CSG 2016)

hlt bounded multiple level-shift detection, HLT (CSG 2024)

The series must be tsset. All modules work on a single time series (no panels).

Description

boundeduroot is a library of unit-root and level-shift tests for bounded
time series - series confined to an interval either by construction or by policy
(unemployment rates, budget shares, nominal interest rates, capacity-utilisation rates,
target-zone exchange rates). It is the structural-break companion to the base command
boundedur, which implements the Cavaliere & Xu (2014) simulation-based ADF and M
tests. Where boundedur handles the no-break case, boundeduroot adds GLS
detrending, structural breaks in the mean, and multiple level-shift detection, each with
bound-specific critical values obtained by simulating a regulated (reflected)
Brownian motion.

Modules

mtests -- GLS M-tests for bounded series (2013)

boundeduroot mtests computes the MSB, MZ{&alpha} and
MZt tests under three detrending schemes (OLS, GLS-ERS, GLS-BOUNDS) crossed with
parametric (spectral AR) and non-parametric (QS) long-run variance estimation - six
configurations - each judged against its own bound-specific simulated critical values.
Implements Carrion-i-Silvestre & Gadea (2013).

breaks -- bounds and structural breaks (2016)

boundeduroot breaks tests the bounded unit-root null allowing
zero, one or two breaks in the mean. Break dates are estimated by minimising the SSR of the
first-differenced model; the MSB, MZ{&alpha}, MZt, variance-ratio and ADF
statistics are reported for each configuration with piecewise (segment-specific) bounded
critical values. Implements Carrion-i-Silvestre & Gadea (2016).

hlt -- multiple level-shift detection (2024)

boundeduroot hlt detects multiple level shifts in a bounded series,
regardless of its order of integration, using the Harvey-Leybourne-Taylor (2010) S0 and S1
statistics with bound-specific critical values. Implements Carrion-i-Silvestre & Gadea (2024),
Case A (constant boundaries).

Remarks

All three modules retrieve their critical values by Monte Carlo simulation of a regulated
Brownian motion folded (reflected) into the estimated bounds, so they can be slow for large
iter(). The bound parameters are standardised as c = (b - X0)/(s*sqrt(T)) with
X0 the first observation and s the relevant long-run standard deviation, exactly
as in the source papers. Each module leaves its results in r() and draws a journal-style
figure unless nograph is specified.

References

Carrion-i-Silvestre, J. L., and M. D. Gadea. 2013. GLS-based unit root tests for bounded
processes.

Carrion-i-Silvestre, J. L., and M. D. Gadea. 2016. Bounds, breaks and unit root tests.
Journal of Time Series Analysis 37(2): 165-181.
doi:10.1111/jtsa.12144.

Carrion-i-Silvestre, J. L., and M. D. Gadea. 2024. Detecting multiple level shifts in bounded
time series.

Cavaliere, G., and F. Xu. 2014. Testing for unit roots in bounded time series.
Journal of Econometrics 178: 259-272.
doi:10.1016/j.jeconom.2013.08.026.

Harvey, D. I., S. J. Leybourne, and A. M. R. Taylor. 2010. Robust methods for detecting
multiple level breaks in autocorrelated time series. Journal of Econometrics 157: 342-358.

Ng, S., and P. Perron. 2001. Lag length selection and the construction of unit root tests with
good size and power. Econometrica 69: 1519-1554.

Author

Dr Merwan Roudane

merwanroudane920@gmail.com

github.com/merwanroudane