Function optioned
fn optioned<R: Scalar, C: CurveByIndex<R> + ?Sized>(
payoff: &RatePayoff,
rate: R,
terms: &OptionTerms,
curves: &C,
) -> Result<R, CashflowError>Expand description
A coupon rate rate = g·F + s still to fix, with payoff on it: each
option an optionlet on the index at (K − s)/g, times |g|, a negative
gearing swapping calls for puts; Bachelier or Black-76 by the surface’s
convention, the vol read in the mode at terms.expiry and the tenor, its
variance over terms.variance. A collar is r − caplet(cap) + floorlet(floor); a digital is its call spread (see Digital).