Class ValueStepSequence

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

    public final class ValueStepSequence
    extends java.lang.Object
    implements ImmutableBean, java.io.Serializable
    A sequence of steps that vary a value over time.

    A financial value, such as the notional or interest rate, may vary over time. This class represents a sequence of changes in the value within ValueSchedule.

    The sequence is defined by a start date, end date and frequency. The adjustment at each step is defined using ValueAdjustment.

    See Also:
    Serialized Form
    • Method Detail

      • of

        public static ValueStepSequence of​(java.time.LocalDate firstStepDate,
                                           java.time.LocalDate lastStepDate,
                                           Frequency frequency,
                                           ValueAdjustment adjustment)
        Obtains an instance from the dates, frequency and change.
        Parameters:
        firstStepDate - the first date of the sequence
        lastStepDate - the last date of the sequence
        frequency - the frequency of changes
        adjustment - the adjustment at each step
        Returns:
        the varying step
      • meta

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

        public java.time.LocalDate getFirstStepDate()
        Gets the first date in the sequence.

        This sequence will change the value on this date, but not before. This must be one of the unadjusted dates in the schedule period schedule.

        For example, consider a 5 year swap from 2012-02-01 to 2017-02-01 with 6 month frequency. The date '2013-02-01' is an unadjusted schedule period boundary, and so may be specified here.

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

        public java.time.LocalDate getLastStepDate()
        Gets the last date in the sequence.

        This sequence will change the value on this date, but not after. This must be one of the unadjusted dates in the schedule period schedule.

        For example, consider a 5 year swap from 2012-02-01 to 2017-02-01 with 6 month frequency. The date '2015-02-01' is an unadjusted schedule period boundary, and so may be specified here.

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

        public Frequency getFrequency()
        Gets the frequency of the sequence.

        This sequence will change the value on each date between the start and end defined by this frequency. The frequency is interpreted relative to the frequency of a Schedule. It must be equal or greater than the related schedule.

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

        public ValueAdjustment getAdjustment()
        Gets the adjustment representing the change that occurs at each step.

        The adjustment type must not be 'Replace'.

        Returns:
        the value of the property, 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