Skip to main content

ClaimTerms

Struct ClaimTerms 

pub(crate) struct ClaimTerms<R: Scalar> {
    pub(crate) bond_flows: Vec<(NaiveDate, f64)>,
    pub(crate) periods: Vec<(NaiveDate, NaiveDate, NaiveDate, R)>,
    pub(crate) floating_notional: f64,
    pub(crate) strike: R,
}
Expand description

The bank’s claim on the SPV as a riskless coupon bond, per default date: the collateral’s flows after the date, less the spread and today’s projection basis on every floating coupon starting at or after it; struck at N_f + R·N, the N_f being what the floating leg’s index part with its final notional is worth at a reset.

Fields§

§bond_flows: Vec<(NaiveDate, f64)>

The collateral’s flows after today, in currency.

§periods: Vec<(NaiveDate, NaiveDate, NaiveDate, R)>

Each floating coupon still to pay: accrual start, accrual end, payment date, and its spread plus basis amount on the floating notional.

§floating_notional: f64

The floating notional N_f.

§strike: R

N_f + R·N.

Implementations§

§

impl<R: Scalar> ClaimTerms<R>

pub(crate) fn of( note: &RepackNote, view: &PricingView<'_, R>, recovery: R, ) -> Result<Self, PricingError>

The claim terms of note on view, at the issuer’s recovery.

pub(crate) fn default_dates(&self) -> Vec<NaiveDate>

The default dates: each floating period end still to come.

pub(crate) fn flows_after(&self, t_date: NaiveDate) -> Vec<(NaiveDate, R)>

The claim bond’s flows after t_date.

Auto Trait Implementations§

§

impl<R> Freeze for ClaimTerms<R>
where R: Freeze,

§

impl<R> RefUnwindSafe for ClaimTerms<R>
where R: RefUnwindSafe,

§

impl<R> Send for ClaimTerms<R>

§

impl<R> Sync for ClaimTerms<R>

§

impl<R> Unpin for ClaimTerms<R>
where R: Unpin,

§

impl<R> UnsafeUnpin for ClaimTerms<R>
where R: UnsafeUnpin,

§

impl<R> UnwindSafe for ClaimTerms<R>
where R: UnwindSafe,

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.