Function cash_annuity
fn cash_annuity<R: Scalar>(
underlying: &SwaptionUnderlying,
expiry: NaiveDate,
forward: R,
view: &PricingView<'_, R>,
) -> Result<R, PricingError>Expand description
The par-yield cash annuity: DF(S)·N·Σ τₖ·(1 + F/f)^(−f·tₖ) over the
fixed periods entered on or after the expiry, with S the first entered
period’s accrual start, tₖ the fixed day count’s year fraction from S
to each payment and f the fixed leg’s periods a year — the fixed leg
discounted at the forward swap rate itself, as the ISDA cash-settlement
par yield curve method defines it. In the mode, so its
rate sensitivity flows through the forward.
S rather than the expiry: ISDA 2006 §18.2 values the cash settlement
amount as of the Cash Settlement Payment Date, the swap’s effective date,
so the annuity anchors on the first fixed coupon’s accrual start. The two coincide for a swap starting on the expiry; for the
market’s spot-starting underlying they differ by the spot lag.