Skip to main content

nds_rung

Function nds_rung 

pub fn nds_rung(
    code: &str,
    template: &AnyTemplate,
    valuation: NaiveDate,
    tenor: Period,
    par_rate: f64,
    notional: f64,
) -> Result<Rung, RungBuildError>
Expand description

The par rung of an NDS on an NDS template value: the swap AnyTemplate::nds drafts at par_rate, receiving fixed, noded at its last payment. It discounts in the settlement currency and reads the local currency’s curve under that collateral for its conversions, so it solves discount(<ref>-CSA-<settle>) past the forward market’s reach, against the floating index’s projection the market already holds.

§Errors

RungBuildError::NotFamily for a template of another family; RungBuildError::Build where the swap does not draft.