public interface IborIndexRates extends MarketDataView, ParameterizedData
This provides historic and forward rates for a single IborIndex, such as 'GBP-LIBOR-3M'.
| Modifier and Type | Method and Description |
|---|---|
CurrencyParameterSensitivities |
createParameterSensitivity(Currency currency,
DoubleArray sensitivities)
Creates the parameter sensitivity when the sensitivity values are known.
|
default double |
explainRate(IborIndexObservation observation,
ExplainMapBuilder builder,
Consumer<ExplainMapBuilder> consumer)
Explains the calculation of the historic or forward rate at the specified fixing date.
|
LocalDateDoubleTimeSeries |
getFixings()
Gets the time-series of fixings for the index.
|
IborIndex |
getIndex()
Gets the Ibor index.
|
static IborIndexRates |
of(IborIndex index,
LocalDate valuationDate,
Curve forwardCurve)
Obtains an instance from a forward curve, with an empty time-series of fixings.
|
static IborIndexRates |
of(IborIndex index,
LocalDate valuationDate,
Curve forwardCurve,
LocalDateDoubleTimeSeries fixings)
Obtains an instance from a curve and time-series of fixings.
|
CurrencyParameterSensitivities |
parameterSensitivity(IborRateSensitivity pointSensitivity)
Calculates the parameter sensitivity from the point sensitivity.
|
double |
rate(IborIndexObservation observation)
Gets the historic or forward rate at the specified fixing date.
|
double |
rateIgnoringFixings(IborIndexObservation observation)
Ignores the time-series of fixings to get the forward rate at the specified
fixing date, used in rare and special cases.
|
PointSensitivityBuilder |
rateIgnoringFixingsPointSensitivity(IborIndexObservation observation)
Ignores the time-series of fixings to get the forward rate point sensitivity at the
specified fixing date, used in rare and special cases.
|
PointSensitivityBuilder |
ratePointSensitivity(IborIndexObservation observation)
Calculates the point sensitivity of the historic or forward rate at the specified fixing date.
|
IborIndexRates |
withParameter(int parameterIndex,
double newValue) |
IborIndexRates |
withPerturbation(ParameterPerturbation perturbation) |
findData, getValuationDatefindParameterIndex, getParameter, getParameterCount, getParameterMetadatastatic IborIndexRates of(IborIndex index, LocalDate valuationDate, Curve forwardCurve)
The curve is specified by an instance of Curve, such as InterpolatedNodalCurve.
The curve must have x-values of year fractions with
the day count specified. The y-values must be zero rates
or discount factors.
index - the indexvaluationDate - the valuation date for which the curve is validforwardCurve - the forward curvestatic IborIndexRates of(IborIndex index, LocalDate valuationDate, Curve forwardCurve, LocalDateDoubleTimeSeries fixings)
The curve is specified by an instance of Curve, such as InterpolatedNodalCurve.
The curve must have x-values of year fractions with
the day count specified. The y-values must be zero rates
or discount factors.
index - the indexvaluationDate - the valuation date for which the curve is validforwardCurve - the forward curvefixings - the time-series of fixingsIborIndex getIndex()
The index that the rates are for.
LocalDateDoubleTimeSeries getFixings()
The time-series contains historic fixings of the index. It may be empty if the data is not available.
IborIndexRates withParameter(int parameterIndex, double newValue)
withParameter in interface ParameterizedDataIborIndexRates withPerturbation(ParameterPerturbation perturbation)
withPerturbation in interface ParameterizedDatadouble rate(IborIndexObservation observation)
The rate of the Ibor index, such as 'GBP-LIBOR-3M', varies over time. This method obtains the actual or estimated rate for the fixing date.
This retrieves the actual rate if the fixing date is before the valuation date, or the estimated rate if the fixing date is after the valuation date. If the fixing date equals the valuation date, then the best available rate is returned.
observation - the rate observation, including the fixing dateRuntimeException - if the value cannot be obtaineddouble rateIgnoringFixings(IborIndexObservation observation)
rate(IborIndexObservation).
An instance of IborIndexRates is typically based on a forward curve and a historic time-series.
The rate(LocalDate) method uses either the curve or time-series, depending on whether the
fixing date is before or after the valuation date. This method only queries the forward curve,
totally ignoring the time-series, which is needed for rare and special cases only.
observation - the rate observation, including the fixing datePointSensitivityBuilder ratePointSensitivity(IborIndexObservation observation)
This returns a sensitivity instance referring to the points that were queried in the market data.
If a time-series was used, then there is no sensitivity.
The sensitivity refers to the result of rate(IborIndexObservation).
observation - the rate observation, including the fixing dateRuntimeException - if the result cannot be calculatedPointSensitivityBuilder rateIgnoringFixingsPointSensitivity(IborIndexObservation observation)
ratePointSensitivity(IborIndexObservation).
An instance of IborIndexRates is typically based on a forward curve and a historic time-series.
The ratePointSensitivity(LocalDate) method uses either the curve or time-series, depending on whether the
fixing date is before or after the valuation date. This method only queries the forward curve,
totally ignoring the time-series, which is needed for rare and special cases only.
observation - the rate observation, including the fixing datedefault double explainRate(IborIndexObservation observation, ExplainMapBuilder builder, Consumer<ExplainMapBuilder> consumer)
This adds information to the ExplainMapBuilder to aid understanding of the computation.
It does this by adding a populated ExplainKey.OBSERVATIONS entry.
The actual rate is also returned.
observation - the rate observation, including the fixing datebuilder - the builder to populateconsumer - the consumer that receives the list entry builder and adds to itRuntimeException - if the value cannot be obtainedCurrencyParameterSensitivities parameterSensitivity(IborRateSensitivity pointSensitivity)
This is used to convert a single point sensitivity to parameter sensitivity. The calculation typically involves multiplying the point and unit sensitivities.
pointSensitivity - the point sensitivity to convertRuntimeException - if the result cannot be calculatedCurrencyParameterSensitivities createParameterSensitivity(Currency currency, DoubleArray sensitivities)
In most cases, parameterSensitivity(IborRateSensitivity) should be used and manipulated.
However, it can be useful to create parameter sensitivity from pre-computed sensitivity values.
There will typically be one CurrencyParameterSensitivity for each underlying data
structure, such as a curve. For example, if the rates are based on a single forward
curve, then there will be one CurrencyParameterSensitivity in the result.
currency - the currencysensitivities - the sensitivity values, which must match the parameter countRuntimeException - if the result cannot be calculatedCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.