*! version 1.0.0 28may2026
help xtcsnardl_postestimationalso see: xtcsnardl xtcsnardl_methodology xtcsnardl_examples xtcsnardl_graph

Post-estimation tools -- CS-NARDL

Contents

1. e() returns

2. Custom Wald tests with test / lincom / nlcom

3. Fitted values, residuals and the EC term

4. Recovering long-run and dynamic multipliers manually

5. Independent CD diagnostics

6. Exporting tables (estout / esttab)

7. CUSUM, CUSUMSQ and stability diagnostics

1. e() returns

xtcsnardl stores everything xtpmg stores, plus the CS-NARDL-specific entries
documented in the main help. Most useful:

Macros

e(cmd) always 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(csa_vars) variables whose CSA was added as proxies

e(ec_name) name of the EC equation (default ECT)

e(ivar), e(tvar) panel/time identifiers

Scalars

e(npanels) N

e(avg_T) average T

e(cr_lags) CSA lag length used

e(n_csa_orig) number of base CSA variables

e(level) confidence level

e(b) and e(V) hold the full vector of coefficients (xtpmg layout):

• [ECT]varname -- long-run coefficients (the cointegrating vector)

• [SR]D.varname -- short-run differences (PMG/MG mean group)

• [SR]ECT or [ec]ECT -- pooled speed of adjustment

• [ivar_i:.] -- panel-specific coefficients (PMG/MG only)

Inspect with:

. ereturn list

. matrix list e(b)

2. Custom Wald tests, lincom and nlcom

The default Table 5 reports H0: {&beta}+ = {&beta}- for every variable in
asymmetric(). You can run any linear or non-linear hypothesis using the standard Stata
tools.

(a) Long-run asymmetry on a single variable

. test [ECT]x_pos = [ECT]x_neg

(b) Joint long-run asymmetry across several variables

. test ([ECT]x_pos = [ECT]x_neg) ([ECT]z_pos = [ECT]z_neg)

(c) Test of additive long-run elasticity

. lincom [ECT]x_pos + [ECT]x_neg

gives the net symmetric long-run elasticity (zero under symmetry by construction).

(d) Test of a specific magnitude

. test [ECT]x_pos = -0.10

(e) Half-life as a non-linear function of phi

. nlcom (HL: ln(2) / abs(_b[SR:ECT]))

(f) Sum of short-run coefficients (cumulative impact effect)

. lincom [SR]D.x_pos + [SR]LD.x_pos + [SR]L2D.x_pos

3. Fitted values, residuals and the error-correction term

xtpmg provides a predict method that xtcsnardl inherits.

. predict yhat, xb -- fitted {&Delta}y

. predict uhat, residuals -- idiosyncratic residual

. predict ec, ec -- cointegrating residual (long-run)

The ec option requires that ec(name) was specified in estimation; the variable
name is generated by xtpmg during estimation and persists after. Plot the panel
trajectories of the EC term to check cointegration visually:

. tsline ECT if country == 1

. xtline ECT

4. Recovering long-run and dynamic multipliers manually

The asymmetric long-run multipliers are just the cointegrating coefficients:

. lincom [ECT]x_pos -- m+(infty)

. lincom [ECT]x_neg -- m-(infty)

. lincom [ECT]x_pos - [ECT]x_neg -- asymmetry

For the cumulative dynamic multipliers, the option multip(#) computes them automatically
(Table 8). To export them to a dataset for custom plotting:

* re-run with multip and capture
qui xtcsnardl D.y L.y D.x, lr(L.y x) asymmetric(x) multip(20)

* manual recursion using e() returns
local phi = _b[SR:ECT]
local bp = _b[ECT:x_pos]
local bn = _b[ECT:x_neg]
local h = 20
clear
qui set obs `=`h'+1'
gen h = _n - 1
gen mp = 0
gen mn = 0
local gp = 1
local gn = -1
forvalues k = 1/`h' {
local gp = `gp' + `phi'*(`gp' - `bp')
local gn = `gn' + `phi'*(`gn' - `bn')
qui replace mp = `gp' in `=`k'+1'
qui replace mn = `gn' in `=`k'+1'
}
gen asym = mp - mn
list h mp mn asym

5. Independent CD diagnostics

xtcsnardl runs the Pesaran CD test by default (Table 10). For confirmation with
external tools:

. predict uhat, residuals

. xtcd2 uhat -- Ditzen-Reese implementation

. xtcd uhat -- alternative

. xtcse2 uhat -- Pesaran-Tosetti exponent of CSD

The xtcse2 command additionally estimates the exponent of cross-sectional
dependence; values in [0, 0.5] correspond to weak CSD (CSA augmentation is sufficient),
values in (0.5, 1] correspond to strong CSD and indicate residual factor structure.

6. Exporting tables (estout / esttab)

After estimation, the e(b)/e(V) layout is compatible with estout and esttab.
A typical export workflow:

qui xtcsnardl D.y L.y D.x, lr(L.y x) asymmetric(x) pmg
estimates store cs_pmg

qui xtcsnardl D.y L.y D.x, lr(L.y x) asymmetric(x) mg
estimates store cs_mg

* Print to clipboard / LaTeX
esttab cs_pmg cs_mg, ///
keep([ECT]x_pos [ECT]x_neg [SR]ECT) ///
star(* 0.10 ** 0.05 *** 0.01) ///
se(%6.4f) b(%7.4f) ///
label collabels(none) ///
mtitles("PMG" "MG") ///
addnotes("Long-run asymmetric coefficients reported." ///
"Asterisks denote significance.")

7. CUSUM, CUSUMSQ and stability diagnostics

Mehta & Derbeneva (2024) report CUSUM and CUSUMSQ for the pooled residuals. Reconstruct them
as follows:

qui xtcsnardl D.y L.y D.x, lr(L.y x) asymmetric(x)
predict uhat, residuals

* Pool residuals into a single time series
collapse (mean) uhat, by(year)
tsset year

* CUSUM and CUSUMSQ
estat sbcusum // requires Stata 15+ regress fit
* Or manually:
gen cs = sum(uhat)
gen css = sum(uhat^2)
tsline cs // CUSUM
tsline css // CUSUMSQ

Within the 5% confidence bands, the model is stable. In top-journal practice the bands are
{&plusmn} 2 SE for CUSUM and {&plusmn} 1 standard error for the squared variant. See Brown,
Durbin and Evans (1975) for the original derivation.

Tips for top-journal reporting

1. Always report Table 1 (long-run), Table 2 (ECT + half-life), Table 5 (asymmetry tests) and
Table 10 (CD residual diagnostic). These four tables are the minimum required by most
applied-econometrics referees.

2. Report panelcoef (Table 7) when panels differ in characteristics (country-by-country
comparison expected). Suppress when N is large.

3. Report multipliers (Table 8) and the corresponding graph (csn_multip_1) --
journals like to see both the numerical and visual evidence.

4. Test nested specifications: linear ARDL (no asymmetric), Panel NARDL (nocsa),
CS-NARDL (default), and use Hausman / information criteria for selection.

5. Always run xtcd2 on the dependent variable before estimation and on the
residuals after. Report both p-values in the same table.

Author

Dr Merwan Roudane

merwanroudane920@gmail.com

xtcsnardl v1.0.0, 28 May 2026

Also see

Online: xtcsnardl, xtcsnardl_methodology, xtcsnardl_examples, xtcsnardl_graph

Related: xtpmg, xtpmg_postestimation, xtcd2, xtcse2, estout, estat