Class IsdaCdsTradePricer


  • public class IsdaCdsTradePricer
    extends Object
    Pricer for single-name credit default swaps (CDS) trade based on ISDA standard model.

    The implementation is based on the ISDA model versions 1.8.2.

    • Constructor Detail

      • IsdaCdsTradePricer

        public IsdaCdsTradePricer()
        The default constructor.

        The default pricers are used.

      • IsdaCdsTradePricer

        public IsdaCdsTradePricer​(AccrualOnDefaultFormula formula)
        The constructor with the accrual-on-default formula specified.
        Parameters:
        formula - the accrual-on-default formula
    • Method Detail

      • getAccrualOnDefaultFormula

        public AccrualOnDefaultFormula getAccrualOnDefaultFormula()
        Gets the accrual-on-default formula used in this pricer.
        Returns:
        the formula
      • priceSensitivity

        public PointSensitivities priceSensitivity​(ResolvedCdsTrade trade,
                                                   CreditRatesProvider ratesProvider,
                                                   ReferenceData refData)
        Calculates the price sensitivity of the underlying product.

        The price sensitivity of the product is the sensitivity of price to the underlying curves.

        Parameters:
        trade - the trade
        ratesProvider - the rates provider
        refData - the reference data
        Returns:
        the present value sensitivity
      • parSpreadSensitivity

        public PointSensitivities parSpreadSensitivity​(ResolvedCdsTrade trade,
                                                       CreditRatesProvider ratesProvider,
                                                       ReferenceData refData)
        Calculates the par spread sensitivity of the underling product.

        The par spread sensitivity of the product is the sensitivity of par spread to the underlying curves.

        Parameters:
        trade - the trade
        ratesProvider - the rates provider
        refData - the reference data
        Returns:
        the present value sensitivity
      • presentValue

        public CurrencyAmount presentValue​(ResolvedCdsTrade trade,
                                           CreditRatesProvider ratesProvider,
                                           PriceType priceType,
                                           ReferenceData refData)
        Calculates the present value of the trade.

        The present value of the product is based on the valuation date.

        This method can calculate the clean or dirty present value, see PriceType. If calculating the clean value, the accrued interest is calculated based on the step-in date.

        Parameters:
        trade - the trade
        ratesProvider - the rates provider
        priceType - the price type
        refData - the reference data
        Returns:
        the price
      • presentValueSensitivity

        public PointSensitivities presentValueSensitivity​(ResolvedCdsTrade trade,
                                                          CreditRatesProvider ratesProvider,
                                                          ReferenceData refData)
        Calculates the present value sensitivity of the trade.

        The present value sensitivity of the trade is the sensitivity of present value to the underlying curves.

        Parameters:
        trade - the trade
        ratesProvider - the rates provider
        refData - the reference data
        Returns:
        the present value sensitivity
      • presentValueOnSettle

        public CurrencyAmount presentValueOnSettle​(ResolvedCdsTrade trade,
                                                   CreditRatesProvider ratesProvider,
                                                   PriceType priceType,
                                                   ReferenceData refData)
        Calculates the present value of the underlying product.

        The present value is computed based on the settlement date rather than the valuation date.

        Parameters:
        trade - the trade
        ratesProvider - the rates provider
        priceType - the price type
        refData - the reference data
        Returns:
        the price
      • rpv01OnSettle

        public CurrencyAmount rpv01OnSettle​(ResolvedCdsTrade trade,
                                            CreditRatesProvider ratesProvider,
                                            PriceType priceType,
                                            ReferenceData refData)
        Calculates the risky PV01 of the underlying product.

        RPV01 is defined as minus of the present value sensitivity to coupon rate.

        This is computed based on the settlement date rather than the valuation date.

        Parameters:
        trade - the trade
        ratesProvider - the rates provider
        priceType - the price type
        refData - the reference date
        Returns:
        the RPV01
      • recovery01OnSettle

        public CurrencyAmount recovery01OnSettle​(ResolvedCdsTrade trade,
                                                 CreditRatesProvider ratesProvider,
                                                 ReferenceData refData)
        Calculates the recovery01 of the underlying product.

        The recovery01 is defined as the present value sensitivity to the recovery rate. Since the ISDA standard model requires the recovery rate to be constant throughout the lifetime of the CDS, one currency amount is returned by this method.

        This is computed based on the settlement date rather than the valuation date.

        Parameters:
        trade - the trade
        ratesProvider - the rates provider
        refData - the reference data
        Returns:
        the recovery01
      • jumpToDefault

        public JumpToDefault jumpToDefault​(ResolvedCdsTrade trade,
                                           CreditRatesProvider ratesProvider,
                                           ReferenceData refData)
        Calculates the jump-to-default of the underlying product.

        The jump-to-default is the value of the product in case of immediate default.

        Parameters:
        trade - the trade
        ratesProvider - the rates provider
        refData - the reference data
        Returns:
        the jump-to-default
      • expectedLoss

        public CurrencyAmount expectedLoss​(ResolvedCdsTrade trade,
                                           CreditRatesProvider ratesProvider)
        Calculates the expected loss of the underlying product.

        The expected loss is the (undiscounted) expected default settlement value paid by the protection seller. The resulting value is always positive.

        Parameters:
        trade - the trade
        ratesProvider - the rates provider
        Returns:
        the expected loss