ScenarioResult#

class impulso.results.ScenarioResult(*, idata, steps, var_names, mode='density', path_uncertainty='none', conditions=<factory>, adjusting=None, shocks=<factory>)[source]#

Bases: ConditionalForecastResult

Result from structural scenario analysis.

Extends ConditionalForecastResult with the structural ingredients — the adjusting set and any prescribed shock paths; the forecast and plausibility surface (median, hdi, plausibility) is inherited. The per-draw plausibility includes the prescribed shocks’ own magnitude |v_S|^2 in one-standard-deviation units; the chi-squared tail probability in attrs refers to the condition-only part.

Parameters:
adjusting#

Names of the shocks permitted to absorb the conditions, echoed verbatim from the call: None means every shock was free to adjust; an empty list means none were (the pure substitution case).

Type:

list[str] | None

shocks#

The prescribed ShockPath sequences echoed from the call.

Type:

list[impulso.scenario.ShockPath]

model_config = {'arbitrary_types_allowed': True, 'frozen': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

plot()[source]#

Plot the structural scenario fan chart with pinned values marked.

Return type:

Figure