Class IsdaCompliantCreditCurveCalibrator

  • Direct Known Subclasses:
    FastCreditCurveCalibrator, SimpleCreditCurveCalibrator

    public abstract class IsdaCompliantCreditCurveCalibrator
    extends java.lang.Object
    ISDA compliant credit curve calibrator.

    A single credit curve is calibrated for credit default swaps on a legal entity.

    The curve is defined using one or more nodes. Each node primarily defines enough information to produce a reference CDS trade. All of the curve nodes must be based on a common legal entity and currency.

    Calibration involves pricing, and re-pricing, these trades to find the best fit using a root finder. Relevant discount curve and recovery rate curve are required to complete the calibration.

    • Constructor Detail

      • IsdaCompliantCreditCurveCalibrator

        protected IsdaCompliantCreditCurveCalibrator()
      • IsdaCompliantCreditCurveCalibrator

        protected IsdaCompliantCreditCurveCalibrator​(AccrualOnDefaultFormula formula)
    • Method Detail

      • getArbitrageHandling

        protected ArbitrageHandling getArbitrageHandling()
        Obtains the arbitrage handling.

        See ArbitrageHandling for detail.

        Returns:
        the arbitrage handling
      • getTradePricer

        protected IsdaCdsTradePricer getTradePricer()
        Obtains the trade pricer used in this calibration.
        Returns:
        the trade pricer
      • calibrate

        public LegalEntitySurvivalProbabilities calibrate​(IsdaCreditCurveDefinition curveDefinition,
                                                          MarketData marketData,
                                                          ImmutableCreditRatesProvider ratesProvider,
                                                          ReferenceData refData)
        Calibrates the ISDA compliant credit curve to the market data.

        This creates the single credit curve for a legal entity. The curve nodes in IsdaCreditCurveDefinition should be single-name credit default swaps on this legal entity.

        The relevant discount curve and recovery rate curve must be stored in ratesProvider. The day count convention for the resulting credit curve is the same as that of the discount curve.

        Parameters:
        curveDefinition - the curve definition
        marketData - the market data
        ratesProvider - the rates provider
        refData - the reference data
        Returns:
        the ISDA compliant credit curve
      • calibrate

        public abstract NodalCurve calibrate​(java.util.List<ResolvedCdsTrade> calibrationCDSs,
                                             DoubleArray flactionalSpreads,
                                             DoubleArray pointsUpfront,
                                             CurveName name,
                                             java.time.LocalDate valuationDate,
                                             CreditDiscountFactors discountFactors,
                                             RecoveryRates recoveryRates,
                                             ReferenceData refData)
        Calibrate the ISDA compliant credit curve to points upfront and fractional spread.
        Parameters:
        calibrationCDSs - the calibration CDS
        flactionalSpreads - the fractional spreads
        pointsUpfront - the points upfront values
        name - the curve name
        valuationDate - the valuation date
        discountFactors - the discount factors
        recoveryRates - the recovery rates
        refData - the reference data
        Returns:
        the ISDA compliant credit curve