Enum Overlay
enum Overlay<'a, R: Scalar> {
Product(ResolvedCurve<'a, R>),
Simple(Vec<ResolvedCurve<'a, R>>),
}Expand description
What resolution composes onto a curve.
Two rules, on purpose. A security spread multiplies discount factors,
so logs add. A repo
spread is a desk’s simple spread and adds in simple-rate space:
1/P = 1/P_base + Σ s_k·τ_k. Under the product rule a base move with the
spread held would drift the spread the desk marked; under this one it holds
exactly, and the spreads of a special-over-GC chain simply add. Neither rule
is stored: both exist only here, at resolution.
Variants§
Product(ResolvedCurve<'a, R>)
A security spread: the discount factor is the product of the two.
Simple(Vec<ResolvedCurve<'a, R>>)
A repo spread chain, each a RepoSpread
resolved on its own key, so its parameters keep their own risk rows.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'a, R> !Freeze for Overlay<'a, R>
impl<'a, R> !RefUnwindSafe for Overlay<'a, R>
impl<'a, R> !Sync for Overlay<'a, R>
impl<'a, R> Send for Overlay<'a, R>
impl<'a, R> Unpin for Overlay<'a, R>where
R: Unpin,
impl<'a, R> UnsafeUnpin for Overlay<'a, R>where
R: UnsafeUnpin,
impl<'a, R> UnwindSafe for Overlay<'a, 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