Function shocked_vols
fn shocked_vols(
market: MarketContext,
leg: &ScenarioLeg,
) -> Result<MarketContext, ScenarioError>Expand description
market with every vol surface leg selects moved node by node: the
leg’s shape read at each node’s expiry, applied relatively (the default)
or in vol points, every surface re-pinned under its own key.
§Errors
ScenarioError::NonPositiveVol when the move takes any node to zero or
below — up front for a relative parallel move of −100% or more, so the
refusal does not depend on which surfaces the market holds.