*! version 1.0.0 20may2026 Dr Merwan Roudane (merwanroudane920@gmail.com)

Title

mixi01_test -- Wald tests with mixed chi-squared limits

Syntax

mixi01_test
[,
options]

Test type
granger(varlist) test Granger non-causality for specified variables

wald(string) general linear restriction R*vec(F)=r

cointegration Johansen-type cointegration rank test

permanent(varlist) test if shock from variable is permanent

Inference method
conservative use chi2(q) upper bound (default)

liberal use chi2(q) with Omega_ee.2

Reporting
level(real 95) significance level

Description

mixi01_test is a post-estimation command that performs Wald-type
hypothesis tests using results stored by mixi01_fmvar,
mixi01_fmols, mixi01_svar, mixi01_fmiv, or
mixi01_vecm.

The key theoretical result (Phillips, 1995, Theorem 6.1) is that the Wald
statistic W^+ based on FM estimators has a limit distribution:

W^+ →_d sum_^ chi2_1(i) + sum_^ d_j * chi2_(j)

where d_j in (0,1) are the eigenvalues of (R_1 Omega_{00.2} R_1')
(R_1 Sigma_{00} R_1')^{−1}.

This mixture is bounded above by chi2(q), where q = q_1 * (q_{21} + q_{22})
is the total number of restrictions. Hence:

Conservative test: Uses chi2(q) critical values. Always valid.
Rejects the null less often than the true size.

Liberal test: Uses Omega_{00.2} = Omega_{00} − Omega_{02} Omega_{22}^{−1}
Omega_{20} in the variance metric instead of Sigma_{00}. The resulting
statistic W^+_{00.x} is bounded below by chi2(q), giving a liberal
(anti-conservative) test.

In practice, the true size lies between the conservative and liberal p-values.
When d_j are close to 1 (weak endogeneity), both bounds are close to chi2(q).
When d_j are small (strong endogeneity), the bounds can diverge.

Options

Test type

granger(varlist) tests Granger non-causality. For each variable in
varlist, the null hypothesis is that all lags of that variable have
zero coefficients in each equation of the FM-VAR. This tests whether the
variable Granger-causes the dependent variable(s). The test is valid
regardless of the integration order of the variables.

wald(string) tests a general set of linear restrictions on the
coefficient vector. The string should contain Stata-style test
constraints, e.g., wald("x2=0, x3=0").

cointegration performs a Johansen-type trace test for the cointegration
rank. Requires prior estimation via mixi01_vecm with trace
option.

permanent(varlist) tests whether the structural shock associated with
each variable in varlist has a permanent effect on the I(1) variables.
Requires prior estimation via mixi01_svar. The test examines whether
the corresponding column of C(1) is zero.

Inference method

conservative (default) reports p-values using the chi2(q) upper bound.
This is always valid and is recommended for applied work.

liberal reports p-values using the Omega_ variance metric.
The resulting p-value is a lower bound on the true p-value. The test may
over-reject relative to the nominal size.

Remarks

Why Granger causality works with unit roots. Standard Granger causality
tests using OLS and F-statistics have nonstandard distributions when some
variables are I(1). FM-VAR-based Wald tests avoid this problem because the
FM corrections remove the second-order bias that causes the non-standard
asymptotics. The resulting chi-squared limit distribution — bounded by
chi2(q) — allows use of conventional critical values.

When do conservative and liberal bounds differ? The gap between the
bounds depends on the strength of the long-run endogeneity. When
Omega_{02} ≈ 0 (weak endogeneity of the nonstationary regressors), the
eigenvalues d_j ≈ 1 and both bounds give similar p-values. When there is
strong endogeneity, d_j << 1 and the conservative bound can be substantially
larger than the liberal bound.

Comparison with Toda–Yamamoto. The Toda–Yamamoto approach adds extra
lags (d_) to the VAR and tests using only the first p lags. This wastes
degrees of freedom. FM-VAR Granger causality uses the information-criteria
lag order directly.

Examples

Example 1: Granger causality with conservative bound

. mixi01_fmvar y1 y2 y3, lags(2) i0(y3)

. mixi01_test, granger(y2) conservative

Example 2: Multiple Granger tests

. mixi01_fmvar y1 y2 y3 y4, lags(4)

. mixi01_test, granger(y2 y3 y4) conservative

Output:

mixi01 Wald Test Results — Granger Causality

Hypothesis Chi2 df P>chi2

Granger: y2 -/-> y1 14.32 4 0.0063

Conservative bound 0.0063

Liberal bound 0.0021

Note: Conservative test uses chi2(q) upper bound.

See Phillips (1995, Theorem 6.1).

Example 3: General Wald test

. mixi01_fmols y x1 x2 x3, i1(x1 x2) i0(x3)

. mixi01_test, wald("x2=0, x3=0") conservative

Example 4: Test if monetary policy shock is permanent

. mixi01_svar gdp cpi oil irate, lags(4) i1(gdp cpi oil) i0(irate) p1(1 2 3) p0(4)

. mixi01_test, permanent(irate)

Stored results

mixi01_test stores the following in e():

Scalars

e(W_granger) Wald statistic for Granger test

e(df_granger) degrees of freedom for Granger test

e(p_cons) conservative p-value

e(p_lib) liberal p-value (if available)

e(W_wald) Wald statistic for general test

e(df_wald) degrees of freedom

e(p_wald) p-value

e(level) significance level used

Macros

e(test_cmd) mixi01_test

e(test_type) granger, wald, cointegration,
or permanent

References

Phillips, P. C. B. (1995). Fully modified least squares and vector
autoregression. Econometrica, 63(5), 1023–1078.

Toda, H. Y. and T. Yamamoto (1995). Statistical inference in vector
autoregressions with possibly integrated processes.
Journal of Econometrics, 66(1–2), 225–250.

Author

Dr Merwan Roudane

Department of Economics (Independent Researcher)

merwanroudane920@gmail.com

Also see

Master help — mixi01.

Sibling commands — mixi01_fmols, mixi01_fmvar,
mixi01_fmiv, mixi01_acl, mixi01_svar,
mixi01_vecm, mixi01_irf, mixi01_test.