Skip to main content

index_skew

Function index_skew 

pub fn index_skew(
    indices: &[IndexCreditDefaultSwap],
    constituents: &[(ReferenceEntity, f64)],
    market: &MarketContext,
) -> Result<IndexSkew, PricingError>
Expand description

Solves the skew that makes an index’s constituents reprice it.

indices are the index contracts at strictly ascending maturities, each valued on the index’s own curve in market; constituents are as index_intrinsic takes them. Tenor by tenor, the factor on the segment ending at the k-th maturity is the root at which the scaled constituents’ intrinsic value equals the k-th index’s value. The contract at maturity T_k reads no factor beyond it, so the system is triangular, and each root is bracketed from [0, 1] outward, since the protection value is monotone in the hazard. A pool that already reprices the index solves to factors of one.

§Errors

PricingError::Curve for no contracts, maturities that do not ascend, or a value no non-negative factor reaches; index_intrinsic’s errors; a pricer’s error valuing an index.