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>
impl<R: Scalar> CmsModel<'_, '_, R>
fn variance(&self) -> Result<R, PricingError>
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>
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>where
R: UnwindSafe + RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more