Struct Stores
struct Stores<'a, R: Scalar> {
fixings: &'a FixingStore,
fixing_params: &'a [R],
fx: &'a FxRates,
fx_params: &'a [R],
fixed_discount: Option<&'a ResolvedCurve<'a, R>>,
fixed_foreign: Option<&'a ResolvedCurve<'a, R>>,
inflation: Option<ResolvedInflation<'a, R>>,
credit: Option<ResolvedCredit<'a, R>>,
collateral: Option<&'a CollateralCurves<'a, R>>,
base_correlation: Option<&'a BaseCorrelation>,
}Expand description
The lifted stores a pass prices against, borrowed by every valuation.
Generic over the mode because two of them read it: the solve seeds one
pillar at a time in Jet1, and the Jacobian seeds a block of them in
JetK. Lifting once per pass rather than once per valuation is the point
— a store that does not move should not be re-lifted for every rung.
Fields§
§fixings: &'a FixingStore§fixing_params: &'a [R]§fx: &'a FxRates§fx_params: &'a [R]§fixed_discount: Option<&'a ResolvedCurve<'a, R>>§fixed_foreign: Option<&'a ResolvedCurve<'a, R>>The foreign curve held fixed beside fixed_discount, for a
non-deliverable rung’s conversions; None for every other form.
inflation: Option<ResolvedInflation<'a, R>>The inflation curve a rung reads. None for a rate ladder, whose rungs
name no price index; Some for an inflation ladder, where it is the
curve under solve.
credit: Option<ResolvedCredit<'a, R>>The credit curve a rung reads. None for a rate or inflation ladder;
Some for a credit ladder, where it is the curve under solve.
collateral: Option<&'a CollateralCurves<'a, R>>The fixed curves of a collateral ladder, whose curve under solve is a
cross-currency rung’s receive-leg discount. None for every other form.
base_correlation: Option<&'a BaseCorrelation>The base-correlation curve a tranche reads. Passive in every mode —
correlation is never lifted — and Some only for the tranche
bootstrap, where it is the curve under solve.