# armairf

Generate or plot ARMA model impulse responses

## Syntax

## Description

The `armairf`

function returns or plots the impulse response functions (IRFs) of the variables in a univariate or vector (multivariate) autoregressive moving average (ARMA) model specified by arrays of coefficients or lag operator polynomials.

Alternatively, you can return an IRF from a fully specified (for example, estimated) model object by using the function in this table.

IRFs trace the effects of an innovation shock to one variable on the response of all variables in the system. In contrast, the forecast error variance decomposition (FEVD) provides information about the relative importance of each innovation in affecting all variables in the system. To estimate FEVDs of univariate or multivariate ARMA models, see `armafevd`

.

`armairf(`

plots, in separate figures, the impulse response function of the `ar0`

,`ma0`

)`numVars`

time series variables that compose an ARMA(*p*,*q*) model. The autoregressive (AR) and moving average (MA) coefficients of the model are `ar0`

and `ma0`

, respectively. Each figure contains `numVars`

line plots representing the responses of a variable from applying a one-standard-deviation shock, at time 0, to all variables in the system over the forecast horizon.

The `armairf`

function:

Accepts vectors or cell vectors of matrices in difference-equation notation

Accepts

`LagOp`

lag operator polynomials corresponding to the AR and MA polynomials in lag operator notationAccommodates time series models that are univariate or multivariate, stationary or integrated, structural or in reduced form, and invertible or noninvertible

Assumes that the model constant

*c*is 0

`armairf(`

plots the `ar0`

,`ma0`

,`Name,Value`

)`numVars`

IRFs with additional options specified by one or more name-value pair arguments. For example, `'NumObs',10,'Method','generalized'`

specifies a 10-period forecast horizon and the estimation of the generalized IRF.

`armairf(`

plots to the axes specified in `ax`

,___)`ax`

instead of
the axes in new figures. The option `ax`

can precede any of the input argument
combinations in the previous syntaxes.

## Examples

## Input Arguments

## Output Arguments

## More About

## Tips

To compute

*forecast error impulse responses*, use the default value of`InnovCov`

, which is a`numVars`

-by-`numVars`

identity matrix. In this case, all available computation methods (see`Method`

) result in equivalent IRFs.To accommodate structural ARMA(

*p*,*q*) models, supply`LagOp`

lag operator polynomials for the input arguments`ar0`

and`ma0`

. To specify a structural coefficient when you call`LagOp`

, set the corresponding lag to 0 by using the`'Lags'`

name-value pair argument.For multivariate orthogonalized IRFs, arrange the variables according to

*Wold causal ordering*[2]:The first variable (corresponding to the first row and column of both

`ar0`

and`ma0`

) is most likely to have an immediate impact (*t*= 0) on all other variables.The second variable (corresponding to the second row and column of both

`ar0`

and`ma0`

) is most likely to have an immediate impact on the remaining variables, but not the first variable.In general, variable

*j*(corresponding to row*j*and column*j*of both`ar0`

and`ma0`

) is the most likely to have an immediate impact on the last`numVars`

–*j*variables, but not the previous*j*– 1 variables.

## Algorithms

If

`Method`

is`"orthogonalized"`

, then the resulting IRF depends on the order of the variables in the time series model. If`Method`

is`"generalized"`

, then the resulting IRF is invariant to the order of the variables. Therefore, the two methods generally produce different results.If

`InnovCov`

is a diagonal matrix, then the resulting generalized and orthogonal IRFs are identical. Otherwise, the resulting generalized and orthogonal IRFs are identical only when the first variable shocks all variables (that is, all else being the same, both methods yield the same`Y(:,1,:)`

).

## Compatibility Considerations

## References

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

[2] Lütkepohl, Helmut. *New Introduction to Multiple Time Series Analysis*. New York, NY: Springer-Verlag, 2007.

[3] Pesaran, H. H., and Y. Shin. "Generalized Impulse Response
Analysis in Linear Multivariate Models." *Economic Letters.* Vol. 58, 1998,
pp. 17–29.

## See Also

**Introduced in R2015b**