*! version 1.0.0 21may2026
help mixi12_johansen (Stata)

Title

mixi12_johansen -- Two-step Johansen I(2) VAR with Paruolo
joint Q(r, s_1) rank test

Syntax

mixi12_johansen varlist [if] [in] [, options]

lags(#) VAR(k); requires k >= 2

trend(spec) none, c (default), ct

rank(#) choose cointegration rank r (default = auto)

s1(#) choose number of I(1) trends s_1 (default = auto)

joint run the full Paruolo Q(r, s_1) rank table

alpha(#) significance level for auto rank pick

Description

Two reduced-rank steps following Johansen (1995, 1997):

Step 1 - standard I(1) trace analysis on = ' to fix the
cointegration rank r.

Step 2 - reduced-rank regression of '^2 X_t on
X_ (controlling for lagged second differences
and ' X_), to fix s_1 — the dimension of the I(1)
common stochastic trends.

The Paruolo joint statistic Q(r, s_1) = trace_1(r) + trace_2(s_1) is
asymptotically chi-squared and is the test recommended by Juselius
(2006), Kurita (2011) and Majsterek (2012) for I(2) rank determination.
The full Q table is printed when joint is specified.

Stored results

Scalars

e(rank) selected r

e(s1) selected s_1

e(s2) p - r - s_1 = I(2) common trends

e(p) number of variables

e(N) sample size

e(lags) VAR order

Matrices

e(beta) p x r cointegrating vectors (normalised)

e(alpha) p x r loadings

e(beta_p) p x (p-r) orthogonal complement of beta

e(alpha_p) p x (p-r) orthogonal complement of alpha

e(beta1) p x s_1 directions of I(1) common trends

e(beta2) p x s_2 directions of I(2) common trends

e(Q) Paruolo Q(r, s_1) joint table

Examples

1. Auto-pick (r, s_1) with the joint Q table

mixi12_johansen m2 mb p rd, lags(3) trend(c) joint

2. Force the rank you obtained from theory

mixi12_johansen m2 mb p rd, lags(3) rank(1) s1(1)

3. Test a money-multiplier transformation afterwards

matrix G = (1 \ -1 \ 0 \ 0)

mixi12_trans, g(G)

Author

Dr Merwan Roudane,
merwanroudane920@gmail.com.

Package

Master: mixi12.
Companions: mixi12_unit, mixi12_haldrup,
mixi12_trans, mixi12_sw, mixi12_sim,
mixi12_graph, mixi12_cv.