Main Content

Impulse response function (IRF) of state-space model

uses additional options specified by one or more name-value pair arguments. For example, `ResponseY`

= irf(`Mdl`

,`Name,Value`

)`'NumPeriods',10,'Cumulative',true`

specifies a 10-period cumulative IRF starting at time 1, during which `irf`

applies the shock to a state-disturbance variable in the system, and ending at period 10.

`[`

also returns, for each period, the lower and upper 95% Monte Carlo confidence bounds of each measurement variable IRF ([`ResponseY`

,`ResponseX`

,`LowerY`

,`UpperY`

,`LowerX`

,`UpperX`

] = irf(___,`'Params'`

,estParams,`'EstParamCov'`

,EstParamCov)`LowerY`

,`UpperY`

]) and each state variable IRF ([`LowerX`

,`UpperX`

]). `EstParamCov`

specifies the estimated covariance matrix of the parameter estimates, as returned by the `estimate`

function, and is required for confidence interval estimation.

If you specify

`'eigendecomposition'`

for the`'Method'`

name-value pair argument,`irf`

attempts to diagonalize the state-transition matrix*A*by using the spectral decomposition.`irf`

resorts to recursive multiplication instead under at least one of these circumstances:An eigenvalue is complex.

The rank of the matrix of eigenvectors is less than the number of states

`Mdl`

is time varying.

If you do not supply

`'EstParamCov'`

, confidence bounds of each period overlap.`irf`

uses Monte Carlo simulation to compute confidence intervals.`irf`

randomly draws`NumPaths`

variates from the asymptotic sampling distribution of the unknown parameters in`Mdl`

, which is N_{p}(`Params`

,`EstParamCov`

), where*p*is the number of unknown parameters.For each randomly drawn parameter set

*j*,`irf`

:Creates a state-space model that is equal to

`Mdl`

, but substitutes in parameter set*j*Computes the random IRF of the resulting model

*ψ*_{j}(*t*), where*t*= 1 through`NumPaths`

For each time

*t*, the lower bound of the confidence interval is the`(1 –`

quantile of the simulated IRF at period)/2`c`

*t**ψ*(*t*), where

=`c`

`Confidence`

. Similarly, the upper bound of the confidence interval at time*t*is the`(1 –`

upper quantile of)/2`c`

*ψ*(*t*).