The multivariate time series models used in Econometrics Toolbox™ functions are based on linear, autoregressive models. The basic models are:

Model Name | Abbreviation | Equation |
---|---|---|

Vector Autoregressive | VAR(p) | $${y}_{t}=a+{\displaystyle \sum _{i=1}^{p}{A}_{i}{y}_{t-i}}+{\epsilon}_{t}$$ |

Vector Moving Average | VMA(q) | $${y}_{t}=a+{\displaystyle \sum _{j=1}^{q}{B}_{j}{\epsilon}_{t-j}}+{\epsilon}_{t}$$ |

Vector Autoregressive Moving Average | VARMA(p, q) | $${y}_{t}=a+{\displaystyle \sum _{i=1}^{p}{A}_{i}{y}_{t-i}}+{\displaystyle \sum _{j=1}^{q}{B}_{j}{\epsilon}_{t-j}}+{\epsilon}_{t}$$ |

Vector Autoregressive Moving Average with eXogenous inputs | VARMAX(p, q, r) | $${y}_{t}=a+{X}_{t}\cdot b+{\displaystyle \sum _{i=1}^{p}{A}_{i}{y}_{t-i}}+{\displaystyle \sum _{j=1}^{q}{B}_{j}{\epsilon}_{t-j}}+{\epsilon}_{t}$$ |

Structural Vector Autoregressive Moving Average with eXogenous inputs | SVARMAX(p, q, r) | $${A}_{0}{y}_{t}=a+{X}_{t}\cdot b+{\displaystyle \sum _{i=1}^{p}{A}_{i}{y}_{t-i}}+{\displaystyle \sum _{j=1}^{q}{B}_{j}{\epsilon}_{t-j}}+{B}_{0}{\epsilon}_{t}$$ |

The following variables appear in the equations:

*y*is the vector of_{t}*response*time series variables at time*t*.*y*has_{t}*n*elements.*a*is a constant vector of offsets, with*n*elements.*A*are_{i}*n*-by-*n*matrices for each*i*. The*A*are autoregressive matrices. There are_{i}*p*autoregressive matrices.*ε*is a vector of serially uncorrelated innovations, vectors of length_{t}*n*. The*ε*are multivariate normal random vectors with a covariance matrix_{t}*Q*, where*Q*is an identity matrix, unless otherwise specified.*B*are_{j}*n*-by-*n*matrices for each*j*. The*B*are moving average matrices. There are_{j}*q*moving average matrices.*X*is an_{t}*n*-by-*r*matrix representing exogenous terms at each time*t*.*r*is the number of exogenous series. Exogenous terms are data (or other unmodeled inputs) in addition to the response time series*y*._{t}*b*is a constant vector of regression coefficients of size*r*. So the product*X*is a vector of size_{t}·b*n*.

Generally, the time series *y*_{t} and *X _{t}* are
observable. In other words, if you have data, it represents one or
both of these series. You do not always know the offset

`vgxvarx`

function reference page for ways
to estimate unknown parameters. The innovations There
is an equivalent representation of the linear autoregressive equations
in terms of lag operators. The lag operator *L* moves
the time index back by one: *L**y*_{t} = *y*_{t–1}.
The operator *L ^{m}* moves
the time index back by

In lag operator form, the equation for a SVARMAX(*p*, *q*, *r*)
model becomes

$$\left({A}_{0}-{\displaystyle \sum _{i=1}^{p}{A}_{i}{L}^{i}}\right){y}_{t}=a+{X}_{t}b+\left({B}_{0}+{\displaystyle \sum _{j=1}^{q}{B}_{j}{L}^{j}}\right){\epsilon}_{t}.$$

This equation can be written as

$$A(L){y}_{t}=a+{X}_{t}b+B(L){\epsilon}_{t},$$

where

$$A(L)={A}_{0}-{\displaystyle \sum _{i=1}^{p}{A}_{i}{L}^{i}}\text{and}B(L)={B}_{0}+{\displaystyle \sum _{j=1}^{q}{B}_{j}{L}^{j}}.$$

$$\mathrm{det}\left({I}_{n}-{A}_{1}z-{A}_{2}{z}^{2}-\mathrm{...}-{A}_{p}{z}^{p}\right)\ne 0\text{for}\left|z\right|\le 1,$$

This condition implies that, with all innovations equal to zero,
the VAR process converges to *a* as time goes on.
See Lütkepohl [74] Chapter 2 for
a discussion.

$$\mathrm{det}\left({I}_{n}+{B}_{1}z+{B}_{2}{z}^{2}+\mathrm{...}+{B}_{q}{z}^{q}\right)\ne 0\text{for}\left|z\right|\le 1.$$

This condition implies that the pure VAR representation of the process is stable. For an explanation of how to convert between VAR and VMA models, see Changing Model Representations. See Lütkepohl [74] Chapter 11 for a discussion of invertible VMA models.

A VARMA model is stable if its VAR part is stable. Similarly, a VARMA model is invertible if its VMA part is invertible.

There is no well-defined notion of stability or invertibility for models with exogenous inputs (e.g., VARMAX models). An exogenous input can destabilize a model.

To understand a multiple time series model, or multiple time series data, you generally perform the following steps:

Import and preprocess data.

Specify a model.

Specifying Models to set up a model using

`vgxset`

:Specification Structures with Known Parameters to specify a model with known parameters

Specification Structures with No Parameter Values to specify a model when you want MATLAB

^{®}to estimate the parametersSpecification Structures with Selected Parameter Values to specify a model where you know some parameters, and want MATLAB to estimate the others

Determining an Appropriate Number of Lags to determine an appropriate number of lags for your model

Fit the model to data.

Fitting Models to Data to use

`vgxvarx`

to estimate the unknown parameters in your models. This can involve:Changing Model Representations to change your model to a type that

`vgxvarx`

handlesEstimating Structural Matrices

Analyze and forecast using the fitted model. This can involve:

Examining the Stability of a Fitted Model to determine whether your model is stable and invertible.

VAR Model Forecasting to forecast directly from models or to forecast using a Monte Carlo simulation.

Calculating Impulse Responses to calculate impulse responses, which give forecasts based on an assumed change in an input to a time series.

Compare the results of your model's forecasts to data held out for forecasting. For an example, see VAR Model Case Study.

Your application need not involve all of the steps in this workflow. For example, you might not have any data, but want to simulate a parameterized model. In that case, you would perform only steps 2 and 4 of the generic workflow.

You might iterate through some of these steps.

`vgxget`

| `vgxpred`

| `vgxset`

| `vgxsim`

| `vgxvarx`

- Fit a VAR Model
- Implement Seemingly Unrelated Regression Analyses
- Estimate the Capital Asset Pricing Model Using SUR
- Forecast a VAR Model
- Forecast a VAR Model Using Monte Carlo Simulation
- Simulate Responses of Estimated VARX Model
- VAR Model Case Study

Was this topic helpful?