Computes the impulse response coefficients of a VAR(p) (or transformed
VECM to VAR(p)) or a SVAR for `n.ahead`

steps.

```
# S3 method for varest
irf(x, impulse = NULL, response = NULL, n.ahead = 10,
ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95,
runs = 100, seed = NULL, ...)
# S3 method for svarest
irf(x, impulse = NULL, response = NULL, n.ahead = 10,
ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95,
runs = 100, seed = NULL, ...)
# S3 method for vec2var
irf(x, impulse = NULL, response = NULL, n.ahead = 10,
ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95,
runs = 100, seed = NULL, ...)
# S3 method for svecest
irf(x, impulse = NULL, response = NULL, n.ahead = 10,
ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95,
runs = 100, seed = NULL, ...)
```

x

Object of class ‘`varest`

’; generated by
`VAR()`

, or object of class ‘`svarest`

’; generated by
`SVAR()`

, or object of class ‘`vec2var`

’; generated by
`vec2var()`

, or object of class ‘`svecest`

’;
generated by `SVEC()`

.

impulse

A character vector of the impulses, default is all variables.

response

A character vector of the responses, default is all variables.

n.ahead

Integer specifying the steps.

ortho

Logical, if `TRUE`

(the default) the orthogonalised impulse
response coefficients are computed (only for objects of class
‘`varest`

’).

cumulative

Logical, if `TRUE`

the cumulated
impulse response coefficients are computed. The default value is false.

boot

Logical, if `TRUE`

(the default) bootstrapped error
bands for the imuplse response coefficients are computed.

ci

Numeric, the confidence interval for the bootstrapped errors bands.

runs

An integer, specifying the runs for the bootstrap.

seed

An integer, specifying the seed for the `rng`

of the
bootstrap.

...

Currently not used.

A list of class ‘`varirf`

’ with the following elements is
returned:

A list with matrices for each of the impulse variables containing the impulse response coefficients.

If `boot = TRUE`

, a list with matrices for each of
the impulse variables containing the lower bands.

If `boot = TRUE`

, a list with matrices for each of
the impulse variables containing the upper bands.

Character vector holding the names of the response variables.

Character vector holding the names of the impulse variables.

Logical, if `TRUE`

, orthogonalised impulse reponses
have been computed.

Logical, if `TRUE`

, cumulated impulse reponses
have been computed.

An integer, specifying the number of bootstrap runs.

Numeric, defining the confidence level.

Logical, if `TRUE`

bootstrapped error bands have been
computed.

Character, containing ‘`class(x)`

’.

The impulse response coefficients of a VAR(p) for `n.ahead`

steps
are computed by utilising either the function `Phi()`

or
`Psi()`

. If `boot = TRUE`

(the default), confidence
bands for a given width specified by `ci`

are derived from
`runs`

bootstrap. Hereby, it is at the users leisure to set a
`seed`

for the random number generator.
The standard percentile interval is defined as:
$$
CI_s = [s_{\alpha/2}^*, s_{1 - \alpha/2}^*] \quad ,
$$
with \(s_{\alpha/2}^*\) and \(s_{1 - \alpha/2}^*\) are the
\(\alpha/2\) and \(1 - \alpha/2\) quantiles of the bootstrap
distribution of \(\Psi^*\) or \(\Phi^*\) depending whether
`ortho = TRUE`

. In case `cumulative = TRUE`

, the confidence
bands are calculated from the cumulated impulse response
coefficients.

Efron, B. and R. J. Tibshirani (1993), *An Introduction to the
Bootstrap*, Chapman \& Hall, New York.

Hamilton, J. (1994), *Time Series Analysis*, Princeton
University Press, Princeton.

L<U+34AE5C2F>hl, H. (2006), *New Introduction to Multiple Time Series
Analysis*, Springer, New York.

# NOT RUN { data(Canada) ## For VAR var.2c <- VAR(Canada, p = 2, type = "const") irf(var.2c, impulse = "e", response = c("prod", "rw", "U"), boot = FALSE) ## For SVAR amat <- diag(4) diag(amat) <- NA svar.a <- SVAR(var.2c, estmethod = "direct", Amat = amat) irf(svar.a, impulse = "e", response = c("prod", "rw", "U"), boot = FALSE) # }