Class OvernightCompoundedRateComputation

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

    public final class OvernightCompoundedRateComputation
    extends Object
    implements OvernightRateComputation, org.joda.beans.ImmutableBean, Serializable
    Defines the computation of a rate from a single Overnight index that is compounded daily.

    An interest rate determined directly from an Overnight index with daily compounding. For example, a rate determined by compounding values from 'GBP-SONIA'.

    See Also:
    Serialized Form
    • Method Detail

      • of

        public static OvernightCompoundedRateComputation of​(OvernightIndex index,
                                                            LocalDate startDate,
                                                            LocalDate endDate,
                                                            ReferenceData refData)
        Creates an instance from an index and period dates

        No rate cut-off applies.

        Parameters:
        index - the index
        startDate - the first date of the accrual period
        endDate - the last date of the accrual period
        refData - the reference data to use when resolving holiday calendars
        Returns:
        the rate computation
      • of

        public static OvernightCompoundedRateComputation of​(OvernightIndex index,
                                                            LocalDate startDate,
                                                            LocalDate endDate,
                                                            int rateCutOffDays,
                                                            ReferenceData refData)
        Creates an instance from an index, period dates and rate cut-off.

        Rate cut-off applies if the cut-off is 2 or greater. A value of 0 or 1 should be used if no cut-off applies.

        Parameters:
        index - the index
        startDate - the first date of the accrual period
        endDate - the last date of the accrual period
        rateCutOffDays - the rate cut-off days offset, not negative
        refData - the reference data to use when resolving holiday calendars
        Returns:
        the rate computation
      • getIndex

        public OvernightIndex getIndex()
        Gets the Overnight index.

        The rate to be paid is based on this index. It will be a well known market index such as 'GBP-SONIA'.

        Specified by:
        getIndex in interface OvernightRateComputation
        Returns:
        the value of the property, not null
      • getStartDate

        public LocalDate getStartDate()
        Gets the fixing date associated with the start date of the accrual period.

        This is also the first fixing date. The overnight rate is observed from this date onwards.

        In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.

        Specified by:
        getStartDate in interface OvernightRateComputation
        Returns:
        the value of the property, not null
      • getEndDate

        public LocalDate getEndDate()
        Gets the fixing date associated with the end date of the accrual period.

        The overnight rate is observed until this date.

        In general, the fixing dates and accrual dates are the same for an overnight index. However, in the case of a Tomorrow/Next index, the fixing period is one business day before the accrual period.

        Specified by:
        getEndDate in interface OvernightRateComputation
        Returns:
        the value of the property, not null
      • getRateCutOffDays

        public int getRateCutOffDays()
        Gets the number of business days before the end of the period that the rate is cut off.

        When a rate cut-off applies, the final daily rate is determined this number of days before the end of the period, with any subsequent days having the same rate.

        The amount must be zero or positive. A value of zero or one will have no effect on the standard calculation. The fixing holiday calendar of the index is used to determine business days.

        For example, a value of 3 means that the rate observed on (periodEndDate - 3 business days) is also to be used on (periodEndDate - 2 business days) and (periodEndDate - 1 business day).

        If there are multiple accrual periods in the payment period, then this should typically only be non-zero in the last accrual period.

        Returns:
        the value of the property
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object