Enum NegativeRateMethod

  • All Implemented Interfaces:
    Named, NamedEnum, java.io.Serializable, java.lang.Comparable<NegativeRateMethod>

    public enum NegativeRateMethod
    extends java.lang.Enum<NegativeRateMethod>
    implements NamedEnum
    A convention defining how to handle a negative interest rate.

    When calculating a floating rate, the result may be negative. This convention defines whether to allow the negative value or round to zero.

    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      ALLOW_NEGATIVE
      The "Negative Interest Rate Method", that allows the rate to be negative.
      NOT_NEGATIVE
      The "Zero Rate Method", that prevents the rate from going below zero.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract double adjust​(double rate)
      Adjusts the specified rate according to the rate method rule.
      static NegativeRateMethod of​(java.lang.String name)
      Obtains an instance from the specified name.
      java.lang.String toString()
      Returns the formatted name of the type.
      static NegativeRateMethod valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static NegativeRateMethod[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.opengamma.strata.collect.named.NamedEnum

        getName
    • Enum Constant Detail

      • ALLOW_NEGATIVE

        public static final NegativeRateMethod ALLOW_NEGATIVE
        The "Negative Interest Rate Method", that allows the rate to be negative.

        When calculating a payment, negative rates are allowed and result in a payment in the opposite direction to that normally expected.

        Defined by the 2006 ISDA definitions article 6.4b and 6.4c.

      • NOT_NEGATIVE

        public static final NegativeRateMethod NOT_NEGATIVE
        The "Zero Rate Method", that prevents the rate from going below zero.

        When calculating a payment, or other amount during compounding, the rate is not allowed to go below zero.

        Defined by the 2006 ISDA definitions article 6.4d and 6.4e.

    • Method Detail

      • values

        public static NegativeRateMethod[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (NegativeRateMethod c : NegativeRateMethod.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static NegativeRateMethod valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • of

        public static NegativeRateMethod of​(java.lang.String name)
        Obtains an instance from the specified name.

        Parsing handles the mixed case form produced by toString() and the upper and lower case variants of the enum constant name.

        Parameters:
        name - the name to parse
        Returns:
        the type
        Throws:
        java.lang.IllegalArgumentException - if the name is not known
      • adjust

        public abstract double adjust​(double rate)
        Adjusts the specified rate according to the rate method rule.

        Given a rate, the result will be either the same rate, or zero, depending on the enum constant the method is called on.

        Parameters:
        rate - the rate to adjust
        Returns:
        the adjusted result
      • toString

        public java.lang.String toString()
        Returns the formatted name of the type.
        Overrides:
        toString in class java.lang.Enum<NegativeRateMethod>
        Returns:
        the formatted string representing the type