*! version 1.0.0 24feb2026

Title

mtnardl -- Bootstrap Multiple Threshold Nonlinear ARDL

Syntax

mtnardl depvar indepvars [if] [in], decompose(varlist) [options]

Required
decompose(varlist) variables to decompose into quantile-based partial sums

Decomposition
partition(string) partition type: quartile (4), quintile (5, default),
decile (10), percentile (20), or custom

cutpoints(numlist) custom quantile cutpoints (required when partition=custom)

Lag Selection
maxlag(#) maximum lag order for selection; default is 4

ic(string) information criterion: aic (default) or bic

Model
case(#) PSS case for deterministic terms (2-5); default is 3

level(#) confidence level; default is 95

horizon(#) dynamic multiplier horizon; default is 20

Estimation Type
type(string) estimation method: mtnardl (default), mtnardl_mcnown,
or mtnardl_bvz

reps(#) bootstrap replications; default is 999

Display
notable suppress regression coefficient table

nodiag suppress diagnostic tests

nodynamult suppress dynamic multiplier output

noadvanced suppress advanced analysis

nograph suppress all graphs

Description

mtnardl implements the Multiple Threshold Nonlinear Autoregressive
Distributed Lag (MTNARDL) model proposed by Pal and Mitra (2016).

Unlike the standard Nonlinear ARDL (NARDL) which decomposes changes into
positive and negative components (binary split), the MTNARDL decomposes changes
in independent variables into quantile-based regimes. This allows testing
whether the magnitude of price changes matters for transmission asymmetry,
not just the direction.

The command provides a comprehensive analysis pipeline:

1. Quantile decomposition of independent variables into partial sums
(quartiles, quintiles, deciles, percentiles, or custom cutpoints)

2. Automatic lag selection via AIC/BIC with individual lag orders per
regime variable

3. Cointegration testing with PSS/KS critical values or bootstrap
methods (McNown et al. 2018; Bertelli et al. 2022)

4. Error correction representation with long-run coefficients per
regime (delta method standard errors)

5. Dynamic multipliers per quantile regime with cumulative
multiplier graphs

6. Comprehensive diagnostic tests (normality, serial correlation,
heteroskedasticity, RESET, CUSUM)

7. Wald tests for long-run and short-run symmetry across regimes

8. Asymmetric analysis with ratios, pairwise comparisons, and
publication-quality graphs

Methodology: The MTNARDL decomposes changes in each independent variable
x_t into Q quantile-based partial sums:

x_t = x_0 + sum_^ x_t^{(q)}

where x_t^{(q)} = sum_^ Delta_x_j * I(c_ < Delta_x_j <= c_q) and
c_q are the quantile cutpoints. The ARDL model is then:

Delta_y_t = alpha*y_ + sum_^ theta_q * x_^{(q)} + SR terms + u_t

Long-run multipliers per regime are beta_q = -theta_q / alpha.

Options

Decomposition

partition(string) specifies how changes in the decomposed variables are
binned. quartile creates 4 bins at the 25th, 50th, 75th percentiles;
quintile (default) creates 5 bins; decile creates 10 bins;
percentile creates 20 bins; custom uses the cutpoints specified in
cutpoints().

cutpoints(numlist) specifies custom threshold cutpoints for the
decomposition when partition(custom) is used. For example,
cutpoints(-0.03 -0.01 0.01 0.03) creates 5 regimes: large decrease,
small decrease, neutral, small increase, large increase.

Lag Selection

maxlag(#) sets the maximum lag order to consider during the automatic lag
selection procedure. For each regime variable, mtnardl evaluates all
possible lag combinations from 0 to maxlag and selects the combination
that minimizes the chosen information criterion.

ic(string) specifies the information criterion for lag selection.
aic (default) tends to select more parsimonious models in small samples.
bic penalizes additional parameters more heavily.

Model

case(#) specifies the deterministic terms in the PSS framework:
2 = restricted intercept, no trend;
3 = unrestricted intercept, no trend (default);
4 = unrestricted intercept, restricted trend;
5 = unrestricted intercept, unrestricted trend.

horizon(#) specifies the number of periods for dynamic multiplier
computation. Default is 20.

Estimation Type

type(mtnardl) (default) uses PSS bounds test with
Kripfganz and Schneider (2020) critical values
obtained via the ardlbounds package.

type(mtnardl_mcnown) uses the
McNown, Sam and Goh (2018) unconditional bootstrap
for cointegration testing. This method bootstraps both the dependent variable
and the decomposed independent variables under the null of no cointegration.

type(mtnardl_bvz) uses the
Bertelli, Vacca and Zoia (2022) conditional bootstrap.
This method uses restricted residuals from three separate null hypotheses
(F_overall, t_dependent, F_independent) for more powerful testing.

reps(#) specifies the number of bootstrap replications. Default is
999. Higher values (e.g., 1999) give more stable results at the cost
of computation time.

Output Tables

mtnardl produces the following tables:

Table 1: Model Selection Summary

Reports the partition type, number of regimes, optimal ARDL specification
(p, q1, q2, ..., qQ), observations, R-squared, AIC/BIC, F-statistic, RMSE,
and number of models evaluated.

Table 2: EC Representation

Displays the Error Correction representation with:

ADJ — Speed of adjustment coefficient (ECM term, L.depvar)

LR — Long-run coefficients per regime with delta-method standard
errors, z-statistics, p-values, and 95% confidence intervals

SR — Short-run (first-difference) coefficients

Deterministics — Constant and trend terms

Table 3: Cointegration Tests

Reports cointegration test results using either:

PSS Bounds Test — F_overall, t_dependent, F_independent with
10%, 5%, 1% critical values from ardlbounds

Bootstrap Tests — Same three statistics with bootstrap
p-values and bootstrap critical values (1%, 5%, 10%)

Cointegration is confirmed when all three tests reject their respective
null hypotheses.

Table 4: Diagnostic Tests

Comprehensive residual diagnostics:

A. Normality: Jarque-Bera, Shapiro-Wilk, Shapiro-Francia

B. Serial Correlation: Breusch-Godfrey LM(1) through LM(4),
Durbin-Watson

C. Heteroskedasticity: ARCH LM(1), ARCH LM(4), White's test

D. Functional Form: Ramsey RESET

E. Stability: CUSUM and CUSUM-SQ

Advanced Analysis

Additional post-estimation analysis (suppress with noadvanced):

Speed of Adjustment: Half-life, 50%/90%/99% adjustment times

Persistence Profile: Pesaran and Shin (1996) profile showing
convergence speed to equilibrium

LR Equilibrium: Long-run coefficients per regime with standard
errors

Wald Tests for Asymmetry:

D1. Joint LR symmetry test (H0: all LR multipliers equal) via
Wald chi-squared

D2. Joint SR symmetry test and pairwise extreme-regime test

Asymmetric Analysis:

E1. Asymmetric ratios — max/min and adjacent-regime LR ratios with
interpretation (Strong/Moderate/Mild/Near symmetric)

E2. Pairwise LR differences — all regime-pair comparisons with
delta-method z-tests

E3. LR coefficient bar chart — visual plot by regime

E4. Regime summary — compact table with ratios, magnitudes, and
signs

Graphs

mtnardl produces the following publication-quality graphs (suppress
with nograph):

mtnardl_decomp_var.png — Stacked partial-sum
decomposition showing how each regime accumulates over time

mtnardl_cummult_var.png — Cumulative dynamic
multipliers per regime, showing adjustment paths

mtnardl_asym_var.png — Asymmetry graph showing
differences between regime multiplier paths

mtnardl_persistence.png — Persistence profile showing
convergence to long-run equilibrium

mtnardl_lr_asym_var.png — Bar chart of long-run
coefficients by regime (blue = positive, red = negative)

Examples

Example 1: Basic MTNARDL with quartile decomposition and PSS bounds test

. mtnardl lpetrol lcrude, decompose(lcrude) partition(quartile) maxlag(4) case(3)

Example 2: Quartile decomposition with McNown et al. bootstrap

. mtnardl lpetrol lcrude, decompose(lcrude) partition(quartile) maxlag(4) case(3) type(mtnardl_mcnown) reps(299)

Example 3: Decile decomposition (10 regimes)

. mtnardl lpetrol lcrude, decompose(lcrude) partition(decile) maxlag(4) case(3)

Example 4: Custom cutpoints defining 5 regimes

. mtnardl lpetrol lcrude, decompose(lcrude) partition(custom) cutpoints(-0.03 -0.01 0.01 0.03) maxlag(4) case(3)

Example 5: Bertelli et al. conditional bootstrap

. mtnardl latf lcrude, decompose(lcrude) partition(quintile) maxlag(4) case(3) type(mtnardl_bvz) reps(299)

Example 6: Suppress graphs and advanced analysis

. mtnardl lpetrol lcrude, decompose(lcrude) partition(quartile) nograph noadvanced

Stored results

mtnardl stores the following in e():

Scalars

e(N) number of observations

e(best_p) optimal lag order for dependent variable

e(nq) number of quantile regimes

e(r2) R-squared

e(r2_a) adjusted R-squared

e(aic) Akaike information criterion

e(bic) Bayesian information criterion

e(ll) log-likelihood

e(F) model F-statistic

e(rmse) root mean squared error

e(Fov) F-overall cointegration test statistic

e(t_dep) t-dependent cointegration test statistic

e(Find) F-independent cointegration test statistic

e(ecm_coef) ECM (speed of adjustment) coefficient

Macros

e(cmd) mtnardl

e(depvar) dependent variable name

e(decompose) decomposed variable(s)

e(partition) partition type used

e(type) estimation type

e(ardl_spec) ARDL specification string

e(ic) information criterion used

e(case) PSS case number

Matrices

e(b) coefficient vector

e(V) variance-covariance matrix

References

Pal, D. and Mitra, S.K. (2016). Asymmetric oil product pricing in India:
Evidence from a multiple threshold nonlinear ARDL model.
Economic Modelling, 59, 314-328.

Pesaran, M.H., Shin, Y. and Smith, R.J. (2001). Bounds testing approaches to
the analysis of level relationships. Journal of Applied Econometrics,
16(3), 289-326.

Shin, Y., Yu, B. and Greenwood-Nimmo, M. (2014). Modelling asymmetric
cointegration and dynamic multipliers in a nonlinear ARDL framework. In:
Sickles, R., Horrace, W. (eds) Festschrift in Honor of Peter Schmidt.
Springer, New York, NY.

McNown, R., Sam, C.Y. and Goh, S.K. (2018). Bootstrapping the
autoregressive distributed lag test for cointegration.
Applied Economics, 50(13), 1509-1521.

Bertelli, S., Vacca, G. and Zoia, M. (2022). Bootstrap cointegration tests
in ARDL models. Economic Modelling, 116, 105985.

Kripfganz, S. and Schneider, D.C. (2020). Response surface regressions for
critical value bounds and approximate p-values in equilibrium correction models.
Oxford Bulletin of Economics and Statistics, 82(6), 1456-1481.

Pesaran, M.H. and Shin, Y. (1996). Cointegration and speed of convergence
to equilibrium. Journal of Econometrics, 71(1-2), 117-143.

Author

Dr. Merwan Roudane

merwanroudane920@gmail.com

Independent Researcher