Enum RecoveryModel
pub enum RecoveryModel {
Constant,
AmraouiHitier {
floor: f64,
},
}Expand description
How a tranche’s pool recovers from a default under the one-factor Gaussian copula.
The model shapes only the pool’s conditional loss: every name’s expected
loss stays its CDS’s, p·(1 − R̄), under either.
Variants§
Constant
One recovery R̄ in every state of the factor: the pool loses
(1 − R̄)·p(m), never more than 1 − R̄.
AmraouiHitier
Amraoui–Hitier stochastic recovery: recovery falls with the
common factor towards floor, the conditional loss at factor m
being (1 − R̃)·Φ((Φ⁻¹(p·(1 − R̄)/(1 − R̃)) − √ρ·m)/√(1 − ρ)) with
R̃ = floor. It integrates to p·(1 − R̄) at every correlation, and
the pool can lose up to 1 − R̃, so a senior tranche above
1 − R̄ carries loss. A floor equal to R̄ is the constant model.
Implementations§
§impl RecoveryModel
impl RecoveryModel
pub(crate) fn lhp_marginal<R: Scalar>(&self, pd: R, recovery: R) -> (R, R)
pub(crate) fn lhp_marginal<R: Scalar>(&self, pd: R, recovery: R) -> (R, R)
The (pd, lgd) pair the LHP kernel reads for unconditional default
probability pd and mean recovery recovery: the pair itself under
Constant, the Amraoui–Hitier substitution
otherwise.
Trait Implementations§
§impl Clone for RecoveryModel
impl Clone for RecoveryModel
§fn clone(&self) -> RecoveryModel
fn clone(&self) -> RecoveryModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more