Skip to main content

CmsModel

Struct CmsModel 

struct CmsModel<'v, 'x, R: Scalar> {
    forward: R,
    alpha: R,
    slope: R,
    convention: VolConvention,
    expiry: f64,
    underlying_tenor: f64,
    surface: &'v RateVolView<'x, R>,
}
Expand description

What a CMS payment observes under linear TSR: the index swap’s forward, the annuity mapping α(S) = α₀ + a·(S − S₀), and the swaption smile at the fixing.

Fields§

§forward: R§alpha: R§slope: R§convention: VolConvention§expiry: f64§underlying_tenor: f64§surface: &'v RateVolView<'x, R>

Implementations§

§

impl<R: Scalar> CmsModel<'_, '_, R>

fn variance(&self) -> Result<R, PricingError>

The annuity-measure variance of the swap rate at the fixing.

fn option(&self, strike: f64, kind: OptionKind) -> Result<R, PricingError>

The caplet or floorlet at strike: see cms_option.

Auto Trait Implementations§

§

impl<'v, 'x, R> Freeze for CmsModel<'v, 'x, R>
where R: Freeze,

§

impl<'v, 'x, R> RefUnwindSafe for CmsModel<'v, 'x, R>
where R: RefUnwindSafe,

§

impl<'v, 'x, R> Send for CmsModel<'v, 'x, R>

§

impl<'v, 'x, R> Sync for CmsModel<'v, 'x, R>

§

impl<'v, 'x, R> Unpin for CmsModel<'v, 'x, R>
where R: Unpin,

§

impl<'v, 'x, R> UnsafeUnpin for CmsModel<'v, 'x, R>
where R: UnsafeUnpin,

§

impl<'v, 'x, R> UnwindSafe for CmsModel<'v, 'x, R>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.