SVARResult#

class cultivars.multivariate.structural.zero_restrictions.SVARResult(*, source, impact, shock_names, scheme, restriction, diagnostics=())[source]#

A point-identified structural view of a fitted reduced-form system.

Carries exactly as many shock columns as the scheme identified: all k under a recursive or long-run ordering, one under a proxy instrument. The surface is the same either way – structural impulse responses, variance shares, the recovered shock series, and each shock’s historical contribution – and every method is computed per identified column, so a partially identified result never reports a number its restrictions do not support.

Variables:
  • source – The reduced-form result the identification was applied to.

  • impact – (k, s) impact columns; entry [i, j] is variable i’s response on impact to one standard deviation of shock j.

  • shock_names – One label per identified shock column.

  • scheme – Short name of the identification scheme.

  • restriction – The identifying restriction, stated as a sentence.

  • diagnostics – Scheme-specific metadata pairs shown in the summary – a proxy’s first-stage strength, for instance.

Attributes#

source

impact

shock_names

scheme

restriction

diagnostics

is_complete

Whether every structural shock is identified.

k_endog

Number of variables.

k_shocks

Number of identified shocks.

long_run_impact

Cumulated response of each variable to each identified shock, (k, s).

names

Variable labels, from the reduced form.

Methods#

fevd([horizon])

Share of forecast-error variance carried by each identified shock.

historical_decomposition()

Each identified shock's cumulative contribution to each variable.

irf([horizon, cumulative])

Structural impulse responses of every variable to the identified shocks.

structural_shocks()

The identified shock series, (nobs, s), unit variance by construction.

summary()

The estimation summary, renderable as text, HTML, or a dataframe.