Function isda_annuity
fn isda_annuity<R: Scalar>(periods: &[IndexPeriod<R>], lgd: R, s: R) -> RExpand description
The risky annuity from expiry at a quoted spread s, as the ISDA standard
model converts a quote to an upfront: the flat hazard at which the
periods’ protection, at loss lgd, is worth s times their premium, and
the premium’s value per unit spread at that hazard.
The hazard is solved passively by Newton from the credit triangle
s/lgd, then taken one Newton step in the mode, which carries the
implicit function’s first derivatives exactly.