public interface NodalCurveDefinition extends CurveDefinition
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||Method and Description|
Creates the curve from an array of parameter values.
Returns a filtered version of this definition with no invalid nodes.
Gets the number of parameters in the curve.
Gets the list of all initial guesses.
default int getParameterCount()
This returns the number of parameters in the curve, which is not necessarily equal the size of
NodalCurveDefinition filtered(LocalDate valuationDate, ReferenceData refData)
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
NodalCurve curve(LocalDate valuationDate, CurveMetadata metadata, DoubleArray parameters)
The meaning of the parameters is determined by the implementation. The size of the array must match the count of parameters.
default ImmutableList<Double> initialGuess(MarketData marketData)
This returns initial guess for the curve parameters. The valuation date is defined by the market data.
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.