Class ConstantCurve
- java.lang.Object
-
- com.opengamma.strata.market.curve.ConstantCurve
-
- All Implemented Interfaces:
Curve
,ParameterizedData
,Serializable
,org.joda.beans.Bean
,org.joda.beans.ImmutableBean
public final class ConstantCurve extends Object implements Curve, org.joda.beans.ImmutableBean, Serializable
A curve based on a single constant value.This class defines a curve in terms of a single parameter, the constant value. When queried,
yValue(double)
always returns the constant value. The sensitivity is 1 and the first derivative is 0.The curve has one parameter, the value of the constant.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ConstantCurve.Meta
The meta-bean forConstantCurve
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
double
firstDerivative(double x)
Computes the first derivative of the curve.CurveMetadata
getMetadata()
Gets the curve metadata.double
getParameter(int parameterIndex)
Gets the value of the parameter at the specified index.int
getParameterCount()
Gets the number of parameters.double
getYValue()
Gets the single y-value.int
hashCode()
static ConstantCurve.Meta
meta()
The meta-bean forConstantCurve
.ConstantCurve.Meta
metaBean()
static ConstantCurve
of(CurveMetadata metadata, double yValue)
Creates a constant curve with a specific value.static ConstantCurve
of(CurveName name, double yValue)
Creates a constant curve with a specific value.static ConstantCurve
of(String name, double yValue)
Creates a constant curve with a specific value.String
toString()
ConstantCurve
withMetadata(CurveMetadata metadata)
Returns a new curve with the specified metadata.ConstantCurve
withParameter(int parameterIndex, double newValue)
Returns a copy of the data with the value at the specified index altered.ConstantCurve
withPerturbation(ParameterPerturbation perturbation)
Returns a perturbed copy of the data.double
yValue(double x)
Computes the y-value for the specified x-value.UnitParameterSensitivity
yValueParameterSensitivity(double x)
Computes the sensitivity of the y-value with respect to the curve parameters.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.opengamma.strata.market.curve.Curve
createParameterSensitivity, createParameterSensitivity, findParameterIndex, getName, getParameterMetadata, split, withUnderlyingCurve
-
-
-
-
Method Detail
-
of
public static ConstantCurve of(String name, double yValue)
Creates a constant curve with a specific value.- Parameters:
name
- the curve nameyValue
- the constant y-value- Returns:
- the curve
-
of
public static ConstantCurve of(CurveName name, double yValue)
Creates a constant curve with a specific value.- Parameters:
name
- the curve nameyValue
- the constant y-value- Returns:
- the curve
-
of
public static ConstantCurve of(CurveMetadata metadata, double yValue)
Creates a constant curve with a specific value.- Parameters:
metadata
- the curve metadatayValue
- the constant y-value- Returns:
- the curve
-
getParameterCount
public int getParameterCount()
Description copied from interface:ParameterizedData
Gets the number of parameters.This returns the number of parameters, which can be used to create a loop to access the other methods on this interface.
- Specified by:
getParameterCount
in interfaceParameterizedData
- Returns:
- the number of parameters
-
getParameter
public double getParameter(int parameterIndex)
Description copied from interface:ParameterizedData
Gets the value of the parameter at the specified index.- Specified by:
getParameter
in interfaceParameterizedData
- Parameters:
parameterIndex
- the zero-based index of the parameter to get- Returns:
- the value of the parameter
-
withParameter
public ConstantCurve withParameter(int parameterIndex, double newValue)
Description copied from interface:ParameterizedData
Returns a copy of the data with the value at the specified index altered.This instance is immutable and unaffected by this method call.
- Specified by:
withParameter
in interfaceCurve
- Specified by:
withParameter
in interfaceParameterizedData
- Parameters:
parameterIndex
- the zero-based index of the parameter to getnewValue
- the new value for the specified parameter- Returns:
- a parameterized data instance based on this with the specified parameter altered
-
withPerturbation
public ConstantCurve withPerturbation(ParameterPerturbation perturbation)
Description copied from interface:ParameterizedData
Returns a perturbed copy of the data.The perturbation instance will be invoked once for each parameter in this instance, returning the perturbed value for that parameter. The result of this method is a new instance that is based on those perturbed values.
This instance is immutable and unaffected by this method call.
- Specified by:
withPerturbation
in interfaceCurve
- Specified by:
withPerturbation
in interfaceParameterizedData
- Parameters:
perturbation
- the perturbation to apply- Returns:
- a parameterized data instance based on this with the specified perturbation applied
-
yValue
public double yValue(double x)
Description copied from interface:Curve
Computes the y-value for the specified x-value.
-
yValueParameterSensitivity
public UnitParameterSensitivity yValueParameterSensitivity(double x)
Description copied from interface:Curve
Computes the sensitivity of the y-value with respect to the curve parameters.This returns an array with one element for each parameter of the curve. The array contains the sensitivity of the y-value at the specified x-value to each parameter.
- Specified by:
yValueParameterSensitivity
in interfaceCurve
- Parameters:
x
- the x-value at which the parameter sensitivity is computed- Returns:
- the sensitivity
-
firstDerivative
public double firstDerivative(double x)
Description copied from interface:Curve
Computes the first derivative of the curve.The first derivative is
dy/dx
.- Specified by:
firstDerivative
in interfaceCurve
- Parameters:
x
- the x-value at which the derivative is taken- Returns:
- the first derivative
-
withMetadata
public ConstantCurve withMetadata(CurveMetadata metadata)
Description copied from interface:Curve
Returns a new curve with the specified metadata.This allows the metadata of the curve to be changed while retaining all other information. If parameter metadata is present, the size of the list must match the number of parameters of this curve.
- Specified by:
withMetadata
in interfaceCurve
- Parameters:
metadata
- the new metadata for the curve- Returns:
- the new curve
-
meta
public static ConstantCurve.Meta meta()
The meta-bean forConstantCurve
.- Returns:
- the meta-bean, not null
-
metaBean
public ConstantCurve.Meta metaBean()
- Specified by:
metaBean
in interfaceorg.joda.beans.Bean
-
getMetadata
public CurveMetadata getMetadata()
Gets the curve metadata.The metadata will not normally have parameter metadata.
- Specified by:
getMetadata
in interfaceCurve
- Returns:
- the value of the property, not null
-
getYValue
public double getYValue()
Gets the single y-value.- Returns:
- the value of the property
-
-