Class ResetSchedule

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

    public final class ResetSchedule
    extends java.lang.Object
    implements ImmutableBean, java.io.Serializable
    Defines the schedule of fixing dates relative to the accrual periods.

    This defines the data necessary to create a schedule of reset periods. Most accrual periods only contain a single reset period. This schedule is used when there is more than one reset period in each accrual period, or where the rules around the reset period are unusual.

    The rate will be observed once for each reset period. If an accrual period contains more than one reset period then an averaging method will be used to combine the floating rates.

    This class defines reset periods using a periodic frequency. The frequency must match or be smaller than the accrual periodic frequency. The reset schedule is calculated forwards, potentially with a short stub at the end.

    See Also:
    Serialized Form
    • Method Detail

      • meta

        public static ResetSchedule.Meta meta()
        The meta-bean for ResetSchedule.
        Returns:
        the meta-bean, not null
      • builder

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

        public Frequency getResetFrequency()
        Gets the periodic frequency of reset dates.

        Reset dates will be calculated within each accrual period based on unadjusted dates. The frequency must be the same as, or smaller than, the accrual periodic frequency. When calculating the reset dates, the roll convention of the accrual periods will be used. Once the unadjusted date calculation is complete, the business day adjustment specified here will be used.

        Averaging applies if the reset frequency does not equal the accrual frequency.

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

        public BusinessDayAdjustment getBusinessDayAdjustment()
        Gets the business day adjustment to apply to each reset date.

        This adjustment is applied to each reset date to ensure it is a valid business day.

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

        public IborRateResetMethod getResetMethod()
        Gets the rate reset method, defaulted to 'Unweighted'.

        This is used when more than one fixing contributes to the accrual period.

        Averaging may be weighted by the number of days that the fixing is applicable for. The number of days is based on the reset period, not the period between two fixing dates.

        Defined by the 2006 ISDA definitions article 6.2a.

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

        public ResetSchedule.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