*! version 1.0.1 21aug2026

Title

gvar estimate -- reduced-rank ML of every VECMX* country model

Syntax

gvar estimate [, options]

options

vce(string) ols, robust (White) or nwest (Newey-West). Affects the reported standard errors, not the point estimates.

beta print the normalised cointegrating vectors.

betarestr(name) impose restrictions on beta; see gvar overid.

detail(unit) full equation-by-equation output for one unit.

solve run gvar solve immediately afterwards.

nosummary suppress the fit table.

Description

gvar estimate fits each country model by Johansen reduced-rank maximum
likelihood, conditional on the foreign variables being I(1) and weakly
exogenous, at the rank, lag orders and deterministic case currently declared.
It then recovers the VARX* levels representation that
gvar solve stacks.

Options

vce(ols|robust|nwest) chooses the standard errors reported for the
short-run coefficients. ols is the default;
robust is White; nwest is Newey-West.

The choice affects the reported standard errors only. It does not change
the coefficients, the cointegrating vectors, or anything
gvar solve does downstream -- reduced-rank ML is what it is.
Note also that these are conditional on the estimated cointegrating vectors
being the true ones; they carry no allowance for rank uncertainty, which is
usually the larger problem.

beta prints the normalised cointegrating vectors for every unit. Worth
reading before any persistence profile or over-identification test, since both
are defined on them.

betarestr(name) imposes restrictions on beta from a matrix rather
than letting Johansen normalisation pick the basis. Use it when theory names the
relations -- a real interest-rate parity, a PPP condition -- and use
gvar overid afterwards to test whether the data accept them.

detail(unit) prints the full equation-by-equation table for one unit:
coefficients, standard errors, and the diagnostics for each equation. Give the
unit name as it appears in gvar describe. With 26 country
models the summary table is the only readable default, so this is how you look
inside one of them.

solve runs gvar solve immediately afterwards, which is
convenient in a do-file but hides gvar solve's own report unless you also
read r(). Prefer two separate commands when the stability check matters.

nosummary suppresses the report. The model is still estimated and
r() is still filled.

Remarks

What to check first. The fit table reports the log likelihood, AIC and
SBC per unit. A missing log likelihood means the residual covariance was
singular for that unit, which almost always traces back to a constant or
duplicated series in its block - look at
gvar setup's report of absent and partially observed
series.

The three standard errors. OLS, White and Newey-West are computed from
the same coefficients. The Toolbox reports all three; which you quote is a
judgement about the residuals, and gvar diag is where you
form it.

Examples

. gvar estimate, vce(nwest)
. gvar estimate, vce(nwest) beta
. gvar estimate, detail(usa)
. gvar estimate, vce(nwest) solve

Stored results

gvar estimate stores the following in r():

r(fit) log likelihood, AIC and SBC per unit

r(rank) the ranks used

r(lags) the lag orders used

r(vce) the standard-error type

r(N) units

r(pmax) the GVAR lag order, max over units of (p,q)

Source

Toolbox mlcoint.m, vecx2varx.m, neweywest.m.

Author

Dr Merwan Roudane

merwanroudane920@gmail.com

https://github.com/merwanroudane