*! version 1.0.0 28may2026
help xtcsnardlalso see: xtpmg pnardl xtdcce2 xtcspqardl

Title

xtcsnardl -- Cross-Sectionally Augmented Panel Nonlinear ARDL (CS-NARDL)

Navigate this help

Main reference (this page): syntax, options, and quick start.

Other pages:
Methodology & equations -- theoretical foundations, CCE corrections, asymmetric decomposition

Post-estimation -- e() returns, test, predict, custom multipliers

Worked examples -- EURO-4 CO2 replication, BRICS REC, Monte Carlo, synthetic DGP

Graphs -- publication-quality plots produced with graph

Syntax

xtcsnardl
depvar [sr_regressors] [if] [in],
lr(lr_y_lag lr_regressors)
asymmetric(varlist)
[options]

options

Estimator / engine (every engine is the nonlinear extension of the canonical method)
pmg Nonlinear Panel ARDL -- pooled mean group via xtpmg (default)

mg Nonlinear Panel ARDL -- mean group via xtpmg

dfe Nonlinear Panel ARDL -- dynamic fixed effects via xtpmg

engine(csardl) Nonlinear CS-ARDL via xtdcce2 (Chudik-Pesaran 2015)

engine(csdl) Nonlinear CS-DL via xtdcce2 (direct LR)

engine(dcce) Nonlinear DCCE via xtdcce2 (mean-group with dynamics)

engine(cce) Nonlinear CCE via xtdcce2 (static, Pesaran 2006)

pooled(varlist) variables to pool across panels (xtdcce2 engines)

recursive Chudik-Pesaran (2015) recursive bias correction (xtdcce2 engines)

jackknife jackknife bias correction (xtdcce2 engines)

lr_options(string) options passed to xtdcce2's lr_options() (advanced)

ec(name) name for the EC term variable; default ECT (pmg/mg/dfe only)

replace overwrite previously generated _pos, _neg, ECT

Cross-section augmentation (CCE / DCCE)
cr_lags(#) number of lags of cross-sectional averages (CSA); default = floor(T1/3) per Chudik & Pesaran (2015)

csavars(varlist) override default CSA target list (default: depvar + every LR substantive regressor, including _pos/_neg)

nocsa turn off CCE augmentation -- reduces to plain Panel NARDL

keepcsa retain generated CSA variables after estimation

showcsa print Table 4 with CSA loadings

Asymmetry diagnostics
noasymtest suppress Table 5 (LR/SR Wald asymmetry tests)

asytable print Table 6 (asymmetry comparison: {&beta}+/{&beta}- and {&gamma}+/{&gamma}-)

panelcoef print Table 7 (per-panel {&phi}i with half-life)

multip(#) horizon for cumulative dynamic multipliers (Table 8)

irfshock(#) horizon for impulse responses to + and - shocks (Table 9)

hausman MG vs PMG Hausman specification test

nocdtest suppress Table 10 (Pesaran CD test on residuals)

Estimation control
full display per-panel coefficients from xtpmg

level(#) confidence level; default 95

noconstant suppress the constant in the cointegrating vector

technique(spec) maximisation technique passed to xtpmg

difficult difficult-search starting values

constraints(numlist) linear constraints passed to xtpmg

cluster(clustvar) cluster-robust SE (DFE only)

Output control
graph generate publication-quality plots; see graph help

notable suppress Tables 1-3

by, rolling, statsby, and xi are allowed; see prefix.

The data must be xtset as panel data before invoking xtcsnardl.

Description

xtcsnardl is a unified suite of nonlinear panel estimators with cross-section
augmentation. Every estimator in this package is the nonlinear (asymmetric)
extension of a canonical CCE/ARDL method. The asymmetric decomposition (Shin, Yu and
Greenwood-Nimmo 2014) is applied before the chosen engine is called, so each of the
seven estimators delivered by engine() / pmg|mg|dfe is:

Engine Nonlinear extension of

pmg / mg / dfe (default) Panel ARDL (Pesaran-Shin-Smith 1999)

engine(csardl) CS-ARDL (Chudik-Pesaran 2015)

engine(csdl) CS-DL (Chudik-Pesaran 2015)

engine(dcce) Dynamic CCE (Chudik-Pesaran 2015)

engine(cce) Static CCE (Pesaran 2006)

The package blends three complementary ingredients of the modern macro-panel toolkit:

1. Asymmetric decomposition (Shin, Yu and Greenwood-Nimmo 2014). Each regressor flagged in
asymmetric() is replaced by its positive and negative cumulative partial sums

x+it = {&Sigma}st max({&Delta}xis, 0), x-it = {&Sigma}st min({&Delta}xis, 0).

2. Cross-section augmentation (Pesaran 2006; Chudik and Pesaran 2015). The long-run
equation is augmented with cross-sectional averages z-t of the dependent variable
and every regressor (including the asymmetric components), plus cr_lags(#) lags
of those averages. This absorbs unobserved common factors and corrects for cross-section
dependence in both the long-run and short-run dynamics.

3. Nonlinear CCE (Kapetanios, Mitchell and Shin 2014; Hacioglu-Hoke and Kapetanios 2020).
Their key result -- the Pesaran rank condition becomes harder to satisfy when the
conditional mean is non-linear, but is restored once CSA of the nonlinear-transformed
regressors is added to the proxy set. In CS-NARDL, the positive and negative partial sums
are the nonlinear transforms; including their CSA (the default in xtcsnardl) is
therefore not an option but a requirement for consistency.

The resulting estimating equation, in error-correction form, is

{&Delta}yit = {&phi}i[yi,t-1 - {&beta}+x+i,t-1 - {&beta}-x-i,t-1
- {&beta}cci,t-1 - {&psi}0z-t-1 - {&Sigma}k{&psi}kLkz-t-1]

+ {&Sigma}j {&gamma}ij {&Delta}yi,t-j
+ {&Sigma}j ({&omega}+ij {&Delta}x+i,t-j + {&omega}-ij {&Delta}x-i,t-j)
+ {&Sigma}j {&delta}ij {&Delta}ci,t-j + {&eta}i {&Delta}z-t + {&epsilon}it.

Estimation is delegated to xtpmg (PMG/MG/DFE). See xtcsnardl_methodology
for the full derivation and the link between the ARDL ECM and CS-DL/CS-ARDL/DCCE forms.

Output: tables produced

Table 1 Long-run cointegrating parameters with {&beta}+/{&beta}- pairs.

Table 2 Speed-of-adjustment {&phi}, half-life, convergence class.

Table 3 Short-run {&Delta}-coefficients (asymmetric pairs).

Table 4 CSA nuisance loadings (showcsa).

Table 5 Wald tests of long-run and short-run asymmetry.

Table 6 Asymmetry comparison (asytable).

Table 7 Per-panel {&phi}i and half-lives (panelcoef).

Table 8 Cumulative dynamic multipliers (multip).

Table 9 Asymmetric impulse responses (irfshock).

Table 10 Pesaran (2004/2015) CD test on residuals.

Quick start

EURO-4 carbon-emissions specification (Mehta & Derbeneva 2024)

. webuse pig, clear -- replace with real panel data

. xtset country year

. xtcsnardl D.omega L.omega D.rho D.gamma D.pi D.psi D.theta, ///

lr(L.omega rho gamma pi psi theta) asymmetric(rho gamma) ///

pmg cr_lags(2) multip(15) irfshock(15) graph asytable panelcoef showcsa

This reproduces the methodological core of Mehta & Derbeneva (2024) Int. J. Thermofluids: it
decomposes the carbon-tax ({&rho}) and environmental-spending ({&gamma}) into positive and
negative partial sums, augments the cointegrating vector with the cross-sectional averages of
all six variables and two of their lags, and reports both long-run and short-run asymmetry
Wald tests plus cumulative dynamic multipliers and asymmetric IRFs.

See xtcsnardl_examples for more worked examples (BRICS REC, Monte Carlo data, custom
CSA list, MG vs PMG Hausman).

Options (detailed)

Estimator

pmg requests the pooled mean group estimator of Pesaran, Shin and Smith (1999).
Long-run coefficients are constrained to be equal across panels; short-run dynamics and the
intercept are panel-specific. Default.

mg requests the mean group estimator of Pesaran and Smith (1995). All
coefficients are heterogeneous and the reported estimates are simple averages.

dfe requests dynamic fixed effects. All slopes are pooled and panel-specific
fixed effects absorb unit heterogeneity.

ec(name) specifies the name of the error-correction coefficient. Default ECT.
The associated cointegrating equation in xtpmg output is labelled with this name.

replace overwrites any pre-existing varname_pos, varname_neg and ECT
variables generated by a previous xtcsnardl run.

Cross-section augmentation

cr_lags(#) controls the number of lags of the cross-sectional averages added to the
long-run equation. The default -- cr_lags(-1), internally remapped to
floor(T1/3) per the Chudik and Pesaran (2015) optimality result -- is appropriate
for most panels. Set cr_lags(0) to use contemporaneous CSA only. Set cr_lags(0)
together with nocsa to revert to classical Panel NARDL.

csavars(varlist) overrides the default CSA target set. By default xtcsnardl
takes CSA of the dependent variable and every substantive long-run regressor (including
the _pos/_neg components produced by asymmetric()). Use this option only when
you have a theoretical reason to restrict the proxy set.

nocsa switches off cross-section augmentation completely. The estimator then
reduces to the Panel NARDL of Shin, Yu and Greenwood-Nimmo (2014), without correction for
cross-section dependence. Provided for diagnostic comparisons only -- the residual
CD test (nocdtest not set) will normally reject independence in this mode.

keepcsa retains the generated CSA variables in the dataset after estimation. By
default they are dropped to keep the workspace clean; the _pos/_neg partial-sum
variables are always retained.

showcsa prints Table 4 (CSA nuisance loadings). CSA coefficients are not of
substantive interest and are suppressed by default.

Asymmetry diagnostics

asymmetric(varlist) is required. Lists the variables to be subjected to
asymmetric decomposition. Each variable will appear twice in the long-run equation, once as
its positive partial sum and once as its negative partial sum. All variables in this list
must appear in lr(); they may, but need not, appear in the short-run regressor list.

noasymtest suppresses Table 5. The default Wald tests are H0: {&beta}+={&beta}-
(long-run symmetry) and H0: {&gamma}+={&gamma}- (short-run symmetry) for every
variable in asymmetric().

asytable prints a compact side-by-side comparison of long-run and short-run
asymmetry coefficients (Table 6).

panelcoef prints per-panel {&phi}i estimates with their standard errors,
half-lives, convergence flags and adjustment speeds (Table 7).

multip(#) computes the cumulative dynamic asymmetric multipliers
m+(h) and m-(h) for h=0,...,#, together with the asymmetry curve m+(h)-m-(h)
(Table 8). See methodology for the recursion.

irfshock(#) computes asymmetric impulse responses -- the trajectory of y
following a +1 and a -1 shock (Table 9).

hausman estimates both MG and PMG specifications and performs the Hausman test of
long-run pooling. Rejection means PMG is inconsistent and MG should be preferred.

nocdtest suppresses Table 10 (Pesaran 2004 CD test on residuals). By default the
test runs after estimation and a warning is printed if residual CSD is detected, advising the
user to increase cr_lags() or extend csavars().

Stored results

xtcsnardl stores the following in e():

Scalars

e(npanels) number of cross-sections

e(avg_T) average number of time observations per panel

e(cr_lags) CSA lags used (Chudik-Pesaran p_T)

e(n_csa_orig) number of base CSA variables

e(level) confidence level

Macros

e(cmd) xtcsnardl

e(estimator) cs_nardl_pmg, cs_nardl_mg, or cs_nardl_dfe

e(depvar) dependent variable

e(asymmetric) variables decomposed asymmetrically

e(pos_vars) generated positive partial-sum variable names

e(neg_vars) generated negative partial-sum variable names

e(lr_x) substantive long-run regressors (after decomposition)

e(csa_vars) variables whose CSA was added as proxies

e(sr_vars) short-run regressors used

e(ivar) panel identifier

e(tvar) time identifier

e(ec_name) name of the error-correction equation

e(model) PMG, MG, or DFE

Plus all matrices and scalars returned by xtpmg; see xtcsnardl_postestimation.

References

Chudik, A. and Pesaran, M.H. (2015). Common Correlated Effects Estimation of
Heterogeneous Dynamic Panel Data Models with Weakly Exogenous Regressors. Journal of
Econometrics 188: 393-420.

Hacioglu-Hoke, S. and Kapetanios, G. (2020). Common correlated effect cross-sectional
dependence corrections for nonlinear conditional mean panel models. Journal of Applied
Econometrics 36: 125-150.

Kapetanios, G., Mitchell, J. and Shin, Y. (2014). A nonlinear panel data model of
cross-sectional dependence. Journal of Econometrics 179: 134-157.

Mehta, D. and Derbeneva, V. (2024). Impact of environmental fiscal reforms on carbon
emissions of EURO-4 countries: CS-NARDL approach. International Journal of Thermofluids
21: 100550.

Pesaran, M.H. (2004). General diagnostic tests for cross section dependence in
panels. Cambridge Working Papers in Economics 0435.

Pesaran, M.H. (2006). Estimation and inference in large heterogeneous panels with a
multifactor error structure. Econometrica 74: 967-1012.

Pesaran, M.H. (2015). Testing weak cross-sectional dependence in large panels.
Econometric Reviews 34: 1089-1117.

Pesaran, M.H., Shin, Y. and Smith, R.P. (1999). Pooled mean group estimation of dynamic
heterogeneous panels. Journal of the American Statistical Association 94: 621-634.

Shin, Y., Yu, B. and Greenwood-Nimmo, M. (2014). Modelling Asymmetric Cointegration and
Dynamic Multipliers in a Nonlinear ARDL Framework. In Festschrift in Honor of Peter Schmidt.
Springer, 281-314.

Wang, L., Huang, Y., Ghafoor, A., Hafeez, M. and Salahodjaev, R. (2022). Asymmetric
macroeconomic determinants of renewable energy consumption in BRICS. Environmental Science
and Pollution Research 30: 9841-9851.

Author and version

xtcsnardl v1.0.0, 28 May 2026.

Author: Dr Merwan Roudane

Contact: merwanroudane920@gmail.com

Built on xtpmg v2.0.1+ and pnardl v1.1.0+, with optional xtdcce2
(Ditzen) for engines csardl / csdl / dcce / cce.

Also see

Online: xtcsnardl_methodology, xtcsnardl_examples, xtcsnardl_postestimation, xtcsnardl_graph

Related: xtpmg, pnardl, xtdcce2, xtcspqardl, xtcd2, xtcse2