Enum NegativeRateMethod
- java.lang.Object
-
- java.lang.Enum<NegativeRateMethod>
-
- com.opengamma.strata.product.swap.NegativeRateMethod
-
- All Implemented Interfaces:
Named
,NamedEnum
,Serializable
,Comparable<NegativeRateMethod>
public enum NegativeRateMethod extends 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(String name)
Obtains an instance from the specified name.String
toString()
Returns the formatted name of the type.static NegativeRateMethod
valueOf(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.
-
-
-
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(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:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
of
public static NegativeRateMethod of(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:
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 String toString()
Returns the formatted name of the type.- Overrides:
toString
in classEnum<NegativeRateMethod>
- Returns:
- the formatted string representing the type
-
-