Struct SurvivalRefit
pub struct SurvivalRefit {
pub reference: NaiveDate,
pub discount: Curve,
pub rungs: Vec<Rung>,
pub tolerance: Tolerance,
pub day_count: DayCountFraction,
pub family: SurvivalFamily,
}Expand description
The inputs a survival curve was calibrated from, less the recovery and the published data a market carries: enough to solve the same ladder again.
This is what a quote-held recovery sensitivity needs. A recovery move with the curve held changes what a default pays; the market’s CDS quotes were struck against the old recovery, so held quotes imply a different curve, and this measure re-solves it.
Fields§
§reference: NaiveDateThe curve’s reference date.
discount: CurveThe discount curve the ladder was priced against.
rungs: Vec<Rung>The rungs, in solve order.
tolerance: ToleranceHow hard each pillar was solved.
day_count: DayCountFractionThe hazard day count.
family: SurvivalFamilyThe family the ladder was solved in, and is solved in again.
Implementations§
§impl SurvivalRefit
impl SurvivalRefit
pub fn solve(
&self,
recovery: Option<f64>,
fixings: &FixingStore,
fx: &FxRates,
) -> Result<PinnedSurvival, CalibrationError>
pub fn solve( &self, recovery: Option<f64>, fixings: &FixingStore, fx: &FxRates, ) -> Result<PinnedSurvival, CalibrationError>
The same ladder solved again, in the same family, at recovery,
against fixings and fx — pinned with its own ladder and refit.
§Errors
§impl SurvivalRefit
impl SurvivalRefit
pub fn requoted(&self, quotes: &[f64]) -> Result<Self, CalibrationError>
pub fn requoted(&self, quotes: &[f64]) -> Result<Self, CalibrationError>
The same ladder at other quotes, one per rung in solve order — every
rung requoted, the rest of the refit kept.
§Errors
CalibrationError::Malformed when quotes does not hold one quote
per rung, or a rung cannot be requoted.
Trait Implementations§
§impl Clone for SurvivalRefit
impl Clone for SurvivalRefit
§fn clone(&self) -> SurvivalRefit
fn clone(&self) -> SurvivalRefit
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more