Class SwapIsdaCreditCurveNode

  • All Implemented Interfaces:
    IsdaCreditCurveNode, java.io.Serializable, Bean, ImmutableBean

    public final class SwapIsdaCreditCurveNode
    extends java.lang.Object
    implements IsdaCreditCurveNode, ImmutableBean, java.io.Serializable
    An ISDA compliant curve node whose instrument is a standard Fixed-Ibor interest rate swap.

    This node contains the information on the fixed leg of the swap. It is assumed that the compounding not involved, the common business day adjustment is applied to start date, end date and accrual schedule, and the fixed rate is paid on the end date of each payment period.

    observableId is used to access the market data value of the swap par rate.

    See Also:
    Serialized Form
    • Method Detail

      • of

        public static SwapIsdaCreditCurveNode of​(ObservableId observableId,
                                                 DaysAdjustment spotDateOffset,
                                                 BusinessDayAdjustment businessDayAdjustment,
                                                 Tenor tenor,
                                                 DayCount dayCount,
                                                 Frequency paymentFrequency)
        Returns a curve node for a standard fixed-Ibor swap.

        The label will be created from tenor.

        Parameters:
        observableId - the observable ID
        spotDateOffset - the spot date offset
        businessDayAdjustment - the business day adjustment
        tenor - the tenor
        dayCount - the day count
        paymentFrequency - the payment frequency
        Returns:
        the curve node
      • date

        public java.time.LocalDate date​(java.time.LocalDate tradeDate,
                                        ReferenceData refData)
        Description copied from interface: IsdaCreditCurveNode
        Calculates the date associated with the node.

        Each curve node has an associated date which defines the x-value in the curve. This is typically the adjusted end date of the instrument.

        Specified by:
        date in interface IsdaCreditCurveNode
        Parameters:
        tradeDate - the trade date
        refData - the reference data
        Returns:
        the node date
      • builder

        public static SwapIsdaCreditCurveNode.Builder builder()
        Returns a builder used to create an instance of the bean.
        Returns:
        the builder, not null
      • getLabel

        public java.lang.String getLabel()
        Gets the label to use for the node, defaulted.

        When building, this will default based on the tenor if not specified.

        Specified by:
        getLabel in interface IsdaCreditCurveNode
        Returns:
        the value of the property, not empty
      • getObservableId

        public ObservableId getObservableId()
        Gets the identifier of the market data value that provides the rate.
        Specified by:
        getObservableId in interface IsdaCreditCurveNode
        Returns:
        the value of the property, not null
      • getTenor

        public Tenor getTenor()
        Gets the tenor of the swap.

        This is the period from the first accrual date to the last accrual date.

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

        public DaysAdjustment getSpotDateOffset()
        Gets the offset of the start date from the trade date.

        The offset is applied to the trade date and is typically plus 2 business days.

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

        public BusinessDayAdjustment getBusinessDayAdjustment()
        Gets the business day adjustment to apply to the start date, end date and accrual schedule.

        The date property is an unadjusted date and as such might be a weekend or holiday. The adjustment specified here is used to convert a relevant date to a valid business day.

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

        public DayCount getDayCount()
        Gets the day count convention applicable.

        This is used to convert schedule period dates to a numerical value.

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

        public Frequency getPaymentFrequency()
        Gets the periodic frequency of payments, optional with defaulting getter.

        Regular payments will be made at the specified periodic frequency. The compounding is not allowed in this node. Thus the frequency is the same as the accrual periodic frequency.

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

        public SwapIsdaCreditCurveNode.Builder toBuilder()
        Returns a builder that allows this bean to be mutated.
        Returns:
        the mutable builder, not null
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object