Function strip_vol
fn strip_vol(
passive: &MarketView<'_, f64>,
currency: Currency,
point: StripPoint,
u: &Underlying,
forward: f64,
) -> Result<(f64, bool), CalibrationError>Expand description
A strip point’s normal vol, and whether the surface supplied it: the flat
vol pinned under the point’s label where one is, else the at-the-money vol
the currency’s swaption surface reads at the point’s expiry and tenor. A
lognormal surface’s read is its at-the-money normal equivalent, the vol
whose Bachelier price is the Black one: F·(2N(σ√T/2) − 1) / (√T·φ(0)).
§Errors
CalibrationError::MissingQuote naming the label where neither is held;
CalibrationError::SurfaceNotNormal for a lognormal surface over a
forward that is not positive, where Black has no price.