public final class InterpolatedNodalCurveDefinition extends Object implements NodalCurveDefinition, org.joda.beans.ImmutableBean, Serializable
A nodal curve is built from a number of parameters and described by metadata.
Calibration is based on a list of CurveNode instances, one for each parameter,
that specify the underlying instruments.
| Modifier and Type | Class and Description |
|---|---|
static class |
InterpolatedNodalCurveDefinition.Builder
The bean-builder for
InterpolatedNodalCurveDefinition. |
static class |
InterpolatedNodalCurveDefinition.Meta
The meta-bean for
InterpolatedNodalCurveDefinition. |
| Modifier and Type | Method and Description |
|---|---|
static InterpolatedNodalCurveDefinition.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
NodalCurve |
curve(LocalDate valuationDate,
CurveMetadata metadata,
DoubleArray parameters)
Creates the curve from an array of parameter values.
|
boolean |
equals(Object obj) |
InterpolatedNodalCurveDefinition |
filtered(LocalDate valuationDate,
ReferenceData refData)
Returns a filtered version of this definition with no invalid nodes.
|
OptionalInt |
getCompoundingPerYear()
Gets the compounding per year, optional.
|
Optional<DayCount> |
getDayCount()
Gets the day count, optional.
|
CurveExtrapolator |
getExtrapolatorLeft()
Gets the extrapolator used to find points to the left of the leftmost point on the curve.
|
CurveExtrapolator |
getExtrapolatorRight()
Gets the extrapolator used to find points to the right of the rightmost point on the curve.
|
CurveInterpolator |
getInterpolator()
Gets the interpolator used to find points on the curve.
|
CurveName |
getName()
Gets the curve name.
|
ImmutableList<CurveNode> |
getNodes()
Gets the nodes in the curve.
|
ValueType |
getXValueType()
Gets the x-value type, providing meaning to the x-values of the curve.
|
ValueType |
getYValueType()
Gets the y-value type, providing meaning to the y-values of the curve.
|
int |
hashCode() |
static InterpolatedNodalCurveDefinition.Meta |
meta()
The meta-bean for
InterpolatedNodalCurveDefinition. |
InterpolatedNodalCurveDefinition.Meta |
metaBean() |
CurveMetadata |
metadata(LocalDate valuationDate,
ReferenceData refData)
Creates the curve metadata.
|
InterpolatedNodalCurveDefinition.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetParameterCount, initialGuesstoCurveParameterSizepublic InterpolatedNodalCurveDefinition filtered(LocalDate valuationDate, ReferenceData refData)
CurveDefinition
A curve is formed of a number of nodes, each of which has an associated date.
To be valid, the curve node dates must be in order from earliest to latest.
Each node has certain rules, CurveNodeDateOrder, that are used to determine
what happens if the date of one curve node is equal or earlier than the date of the previous node.
Filtering occurs in two stages. The first stage looks at each node in turn. The previous and next nodes are checked for clash. If clash occurs, then one of the two nodes is dropped according to the clash action "drop" values. The second stage then looks again at the nodes, and if there are still any invalid nodes, an exception is thrown.
This approach means that in most cases, only those nodes that have fixed dates,
such as futures, need to be annotated with CurveNodeDateOrder.
filtered in interface CurveDefinitionfiltered in interface NodalCurveDefinitionvaluationDate - the valuation daterefData - the reference datapublic CurveMetadata metadata(LocalDate valuationDate, ReferenceData refData)
CurveDefinitionThis method returns metadata about the curve and the curve parameters.
For example, a curve may be defined based on financial instruments.
The parameters might represent 1 day, 1 week, 1 month, 3 months, 6 months and 12 months.
The metadata could be used to describe each parameter in terms of a Period.
The optional parameter-level metadata will be populated on the resulting metadata. The size of the parameter-level metadata will match the number of parameters of this curve.
metadata in interface CurveDefinitionvaluationDate - the valuation daterefData - the reference datapublic NodalCurve curve(LocalDate valuationDate, CurveMetadata metadata, DoubleArray parameters)
CurveDefinitionThe meaning of the parameters is determined by the implementation. The size of the array must match the count of parameters.
curve in interface CurveDefinitioncurve in interface NodalCurveDefinitionvaluationDate - the valuation datemetadata - the curve metadataparameters - the array of parameterspublic static InterpolatedNodalCurveDefinition.Meta meta()
InterpolatedNodalCurveDefinition.public static InterpolatedNodalCurveDefinition.Builder builder()
public InterpolatedNodalCurveDefinition.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic CurveName getName()
getName in interface CurveDefinitionpublic ValueType getXValueType()
This type provides meaning to the x-values. For example, the x-value might
represent a year fraction, as represented using ValueType.YEAR_FRACTION.
If using the builder, this defaults to ValueType.UNKNOWN.
public ValueType getYValueType()
This type provides meaning to the y-values. For example, the y-value might
represent a zero rate, as represented using ValueType.ZERO_RATE.
If using the builder, this defaults to ValueType.UNKNOWN.
getYValueType in interface CurveDefinitionpublic Optional<DayCount> getDayCount()
If the x-value of the curve represents time as a year fraction, the day count can be specified to define how the year fraction is calculated.
public OptionalInt getCompoundingPerYear()
The number of compounding periods per year of the zero-coupon rate. This is used for a zero rate periodically-compounded curve.
public ImmutableList<CurveNode> getNodes()
The nodes are used to find the par rates and calibrate the curve. There must be at least two nodes in the curve.
getNodes in interface CurveDefinitionpublic CurveInterpolator getInterpolator()
public CurveExtrapolator getExtrapolatorLeft()
public CurveExtrapolator getExtrapolatorRight()
public InterpolatedNodalCurveDefinition.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.