Skip to main content

cms_option

Function cms_option 

pub fn cms_option<R: Scalar>(
    index: &SwapIndex,
    fixing: NaiveDate,
    payment: NaiveDate,
    mean_reversion: f64,
    strike: f64,
    kind: OptionKind,
    view: &PricingView<'_, R>,
) -> Result<R, PricingError>
Expand description

A CMS caplet (Call) or floorlet (Put) on index at strike, fixing on fixing and paid on payment, as a rate: what (S − K)⁺ (or (K − S)⁺) observed at the fixing is worth paid on the payment date, per unit of accrual and of the payment date’s discount factor, under the linear terminal swap rate model with mean reversion mean_reversion.

Replicated off the swaption smile: the linear TSR payoff α(S)·(S − K)⁺ is α(K) swaptions at the strike plus 2a times the integral of the swaptions above it, [α(K)·C(K) + 2a·∫ₖ^∞ C]/α₀; the floorlet is [α(K)·P(K) − 2a·∫^K P]/α₀. The caplet less the floorlet is the CMS rate less the strike. A fixing today is the option’s intrinsic value.

§Errors

As cms_rate.