Class IsdaCreditCurveDefinition

  • All Implemented Interfaces:
    Serializable, org.joda.beans.Bean, org.joda.beans.ImmutableBean

    public final class IsdaCreditCurveDefinition
    extends Object
    implements org.joda.beans.ImmutableBean, Serializable
    Provides the definition of how to calibrate an ISDA compliant curve for credit.

    An ISDA compliant curve is built from a number of parameters and described by metadata. Calibration is based on a list of IsdaCreditCurveNode instances, one for each parameter, that specify the underlying instruments.

    See Also:
    Serialized Form
    • Method Detail

      • of

        public static IsdaCreditCurveDefinition of​(CurveName name,
                                                   Currency currency,
                                                   LocalDate curveValuationDate,
                                                   DayCount dayCount,
                                                   List<? extends IsdaCreditCurveNode> curveNodes,
                                                   boolean computeJacobian,
                                                   boolean storeNodeTrade)
        Obtains an instance.
        Parameters:
        name - the name
        currency - the currency
        curveValuationDate - the curve valuation date
        dayCount - the day count
        curveNodes - the curve nodes
        computeJacobian - the Jacobian flag
        storeNodeTrade - the node trade flag
        Returns:
        the instance
      • curve

        public InterpolatedNodalCurve curve​(DoubleArray yearFractions,
                                            DoubleArray zeroRates)
        Creates the ISDA compliant curve.

        The parameter metadata is not stored in the metadata of the curve.

        Parameters:
        yearFractions - the year fraction values
        zeroRates - the zero rate values
        Returns:
        the curve
      • getName

        public CurveName getName()
        Gets the curve name.
        Returns:
        the value of the property, not null
      • getCurrency

        public Currency getCurrency()
        Gets the curve currency.

        The resultant curve will be used for discounting based on this currency. This is typically the same as the currency of the curve node instruments in curveNodes.

        Returns:
        the value of the property, not null
      • getCurveValuationDate

        public LocalDate getCurveValuationDate()
        Gets the curve valuation date.

        The date on which the resultant curve is used for pricing. This date is not necessarily the same as the valuationDate of MarketData on which the market data was snapped.

        Returns:
        the value of the property, not null
      • getDayCount

        public DayCount getDayCount()
        Gets the day count.

        If the x-value of the curve represents time as a year fraction, the day count can be specified to define how the year fraction is calculated.

        Returns:
        the value of the property, not null
      • getCurveNodes

        public ImmutableList<IsdaCreditCurveNode> getCurveNodes()
        Gets the curve nodes.

        The nodes are used to find the par rates and calibrate the curve.

        Returns:
        the value of the property, not null
      • isComputeJacobian

        public boolean isComputeJacobian()
        Gets the flag indicating if the Jacobian matrices should be computed and stored in metadata or not.
        Returns:
        the value of the property, not null
      • isStoreNodeTrade

        public boolean isStoreNodeTrade()
        Gets the flag indicating if the node trade should be stored or not.

        This property is used only for credit curve calibration.

        Returns:
        the value of the property, not null
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object