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: f64The floating notional N_f.
strike: RN_f + R·N.
Implementations§
§impl<R: Scalar> ClaimTerms<R>
impl<R: Scalar> ClaimTerms<R>
pub(crate) fn of(
note: &RepackNote,
view: &PricingView<'_, R>,
recovery: R,
) -> Result<Self, PricingError>
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>
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)>
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> 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