PanelVARResult.irf#

PanelVARResult.irf(horizon=20, *, orthogonalized=True, cumulative=False)[source]#

Impulse responses to a one-standard-deviation shock.

Parameters:
  • horizon (int) – Largest lead to return.

  • orthogonalized (bool) – When True, post-multiply by the Cholesky factor of sigma_u so the shocks are mutually uncorrelated. This is a structural assumption, not a reduced-form fact. The Cholesky factor is lower-triangular, so it imposes a recursive ordering: the first variable in names responds to no shock but its own on impact, the second to the first and its own, and so on. Permuting names changes the answer. An orthogonalized impulse response reported from a reduced-form VAR is a recursive SVAR whose identifying restriction happens to be undeclared; cultivars.var.structural is where that restriction gets stated rather than assumed. With False you get the raw Psi_h, whose columns are responses to correlated innovations and are therefore not interpretable one at a time.

  • cumulative (bool) – Return running sums, which is what you want when the data are differences and the question is about levels.

Return type:

NDArray[double]

Returns:

An array of shape (horizon + 1, k, k); entry [h, i, j] is the response of variable i at lead h to shock j.