MarkovSwitchingSVARResult.impact#

MarkovSwitchingSVARResult.impact(regime)[source]#

One regime’s structural impact matrix.

Parameters:

regime (int) – Regime label in 0..M-1.

Return type:

NDArray[double]

Returns:

The (k, s) impact matrix of that regime’s identification.

Raises:

SpecificationError – If regime is out of range.

Example

The recursive impact is lower-triangular in every regime:

>>> import numpy as np
>>> rng = np.random.default_rng(0)
>>> s = np.repeat([0, 1, 0, 1], 100)
>>> y = np.array([[-1.0, -0.5], [1.5, 1.0]])[s] + 0.4 * rng.standard_normal((400, 2))
>>> res = MarkovSwitchingVAR(y, order=1, n_regimes=2).fit(seed=0)
>>> svar = MarkovSwitchingSVAR(res).identify()
>>> [float(svar.impact(m)[0, 1]) for m in range(2)]
[0.0, 0.0]