help xqcoint (also see online)

Title

xqcoint -- Fully-modified quantile cointegrating regression (Xiao 2009) and
CUSUM cointegration test (Kuriyama 2016).

Syntax

xqcoint depvar indepvars [if] [in],
tau(numlist)
[options]

tau(numlist) quantile levels in (0,1); required, sorted

bandwidth(#) bandwidth M; default = ceil(2*T^(1/3))

kernel(name) bartlett (default), parzen, or qs

leads(#) # of leads of Δx in augmented regression (Xiao 2009 eq 11)

lags(#) # of lags of Δx in augmented regression

waldtest(numlist) joint Wald test H0: β(τ) = listed values (k values)

graph produce combined graph of β̂(τ) and CUSUM(τ)

notable suppress the coefficient table

nocusum suppress the CUSUM test table

savebeta(name) save FM coefficient matrix to name

savecs(name) save CUSUM statistic vector to name

Description

xqcoint implements the fully-modified quantile cointegrating regression
estimator of Xiao (2009) and the CUSUM cointegration
test of Kuriyama (2016).

For each user-supplied quantile τ in (0,1), the command:

1. Estimates the quantile regression y_t = α(τ) + β(τ)'x_t + u_t(τ) via interior-point;

2. Applies a Phillips-Hansen-type fully modified correction using the
Bartlett kernel with plug-in bandwidth M = 2·T^(1/3), producing β̂⁺(τ);

3. Computes the CUSUM statistic
CS_T(τ) = max_n |Σ_t=1^n ψ_τ(û_t⁺)| / (ω̂_ψ.x · √T);

4. Compares CS_T(τ) to Hao-Inder (1996)
Table 1 critical values (k regressors, no trend).

Under H0 of cointegration, CS_T(τ) ⇒ sup_r |W(r)|; under no cointegration,
the statistic diverges. Critical values:

+-----
-
-
+

| k | 10% | 5% | 1% |

| 1 | 1.0477| 1.1684| 1.4255|

| 2 | 1.0980| 1.2238| 1.4884|

| 3 | 1.1318| 1.2611| 1.5326|

+-----
-
-
+

Examples

Default FMQR (Phillips-Hansen FM correction):

. tsset t

. xqcoint y x, tau(0.25 0.5 0.75)

Augmented FM-QR (Saikkonen leads/lags, Xiao 2009 eq 11):

. xqcoint y x, tau(0.25 0.5 0.75) leads(2) lags(2)

Joint Wald test H0: β(τ) = 1:

. xqcoint y x, tau(0.1 0.5 0.9) waldtest(1)

Multi-regressor joint Wald H0: (β1, β2) = (0.5, -0.3):

. xqcoint y x1 x2, tau(0.5) waldtest(0.5 -0.3) graph

Stored results

xqcoint stores the following in e():

Scalars

e(N) sample size

e(k) number of I(1) regressors

e(ntau) number of quantiles

e(bandwidth) bandwidth M used

e(cv5) / e(cv1) 5%/1% Hao-Inder critical values

Macros

e(cmd) xqcoint

e(depvar) dependent variable

e(indepvars) I(1) regressors

e(kernel) kernel name

e(tau) quantile list

Matrices

e(beta_set) ntau × k FM slope coefficients

e(t_set) ntau × k t-statistics for β̂⁺ = 0

e(alpha_set) ntau × 1 FM intercepts

e(cs_set) ntau × 1 CUSUM statistics

e(rej05) / e(rej01) ntau × 1 CUSUM rejection indicators

e(wald_set) ntau × 1 Wald statistics (if waldtest() given)

e(wald_pval) ntau × 1 Wald p-values

Additional macros

e(method) FMQR or Augmented FM-QR

References

Xiao, Z. (2009). Quantile cointegrating regression.
Journal of Econometrics 150, 248–260.

Kuriyama, N. (2016). Testing cointegration in quantile regressions with an
application to the term structure of interest rates.
Studies in Nonlinear Dynamics & Econometrics 20(2), 107–121.

Hao, K. & Inder, B. (1996). Diagnostic test for structural change in
cointegrated regression models. Economics Letters 50, 179–187.

Author

Dr Merwan Roudane

merwanroudane920@gmail.com

February 2026

Also see

Related commands:
qpolycoint, tuqcoint, liqcoint_fc, qcointall,
fqardl, qardl