Class OvernightAveragedRateComputation

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

    public final class OvernightAveragedRateComputation
    extends java.lang.Object
    implements OvernightRateComputation, ImmutableBean, java.io.Serializable
    Defines the computation of a rate from a single Overnight index that is averaged daily.

    An interest rate determined directly from an Overnight index by averaging the value of each day's rate over the period. For example, a rate determined averaging values from 'USD-FED-FUND'.

    See Also:
    Serialized Form
    • Method Detail

      • of

        public static OvernightAveragedRateComputation of​(OvernightIndex index,
                                                          java.time.LocalDate startDate,
                                                          java.time.LocalDate endDate,
                                                          ReferenceData refData)
        Creates an instance from an index and accrual period dates

        The dates represent the accrual period.

        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 OvernightAveragedRateComputation of​(OvernightIndex index,
                                                          java.time.LocalDate startDate,
                                                          java.time.LocalDate endDate,
                                                          int rateCutOffDays,
                                                          ReferenceData refData)
        Creates an instance from an index, accrual 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 or zero
        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 java.time.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 java.time.LocalDate getEndDate()
        Gets the fixing date associated with the end date of the accrual period.

        The overnight rate is accrued until the maturity date associated with 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
      • 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