Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Convert VEC model to VAR model

Econometrics
Toolbox™ VAR model functions such as `simulate`

, `forecast`

, and `armairf`

are appropriate for vector autoregression
(VAR) models. To simulate, forecast, or generate impulse responses
from a vector error-correction
(VEC) model using `simulate`

, `forecast`

,
or `armairf`

, respectively, convert the VEC model
to its equivalent VAR model representation.

`VAR = vec2var(VEC,C)`

returns
the coefficient matrices (`VAR`

= vec2var(`VEC`

,`C`

)`VAR`

) of the vector autoregressive
model equivalent to the vector error-correction model with coefficient
matrices (`VEC`

). If the number of lags in the input
vector error-correction model is *q*, then the number
of lags in the output vector error-correction model is *p* = *q* +
1.

To accommodate structural VEC models, specify the input argument

`VEC`

as a`LagOp`

lag operator polynomial.To access the cell vector of the lag operator polynomial coefficients of the output argument

`VAR`

, enter`toCellArray(VAR)`

.To convert the model coefficients of the output argument from lag operator notation to the model coefficients in difference-equation notation, enter

VARDEN = toCellArray(reflect(VAR));

`VARDEN`

is a cell vector containing*q*+ 1 coefficients corresponding to the response terms in`VAR.Lags`

in difference-equation notation. The first element is the coefficient of*y*, the second element is the coefficient of_{t}*y*_{t–1}, and so on.The constant offset of the converted VAR model is the same as the constant offset of the VEC model.

`vec2var`

does not impose stability requirements on the coefficients. To check for stability, use`isStable`

.`isStable`

requires a`LagOp`

lag operator polynomial as input. For example, to check whether`VAR`

, the cell array of-by`n`

numeric matrices, composes a stable time series, enter`n`

varLagOp = LagOp([eye(

*n*) var]); isStable(varLagOp)A

`0`

indicates that the polynomial is not stable. If`VAR`

is a`LagOp`

lag operator polynomial, then pass it to`isStable`

.

[1] Hamilton, J. D. *Time Series Analysis*.
Princeton, NJ: Princeton University Press, 1994.

[2] Lutkepohl, H. "New Introduction to Multiple Time Series Analysis." Springer-Verlag, 2007.