Skip to main content

DefaultTimeMoments

Struct DefaultTimeMoments 

struct DefaultTimeMoments<R: Scalar> {
    shift: R,
    lift: R,
    intensity_mean: R,
    stein: R,
}
Expand description

The rate–credit moments for default at s with the gap read at t ≥ s, each Cov(x_s, ·) carried to t along the factor’s mean reversion. With c₁ = Cov(x_s, ∫₀ˢy), c₂ = Cov(x_s, y_s) and B = B_a(s, t):

E[D_t·λ_s·S_s·g(x_t)] = P(0,t)·S(s)·lift·((h(s) + intensity_mean)·E[g] + stein·E[g′]), the expectations with the factor’s mean moved by −shift from its forward-measure mean, where

  • shift = Cov(x_t, ∫₀ˢy) = e^{−a(t−s)}·c₁;
  • lift = exp(Cov(∫ₛᵗx, ∫₀ˢy)) = exp(B·c₁), the discount past s against the survival to it;
  • intensity_mean = Cov(x_s, ∫₀ˢy) − Cov(y_s, ∫ₛᵗx) = c₁ − B·c₂, what the measure adds to λ_s over the market hazard;
  • stein = Cov(x_t, y_s) = e^{−a(t−s)}·c₂.

At s = t it is the survival-forward measure at t and Stein’s lemma.

Fields§

§shift: R§lift: R§intensity_mean: R§stein: R

Implementations§

§

impl<R: Scalar> DefaultTimeMoments<R>

fn at( params: &HullWhiteParameters<R>, intensity: &GaussianIntensity<R>, s: f64, t: f64, ) -> Self

Auto Trait Implementations§

§

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

§

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

§

impl<R> Send for DefaultTimeMoments<R>

§

impl<R> Sync for DefaultTimeMoments<R>

§

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

§

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

§

impl<R> UnwindSafe for DefaultTimeMoments<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.