public final class InflationEndInterpolatedRateComputation extends Object implements RateComputation, org.joda.beans.ImmutableBean, Serializable
A typical application of this rate computation is payments of a capital indexed bond, where the reference start month is the start month of the bond rather than start month of the payment period.
A price index is typically published monthly and has a delay before publication. The rate observed by this instance will be based on the specified start index value and two index observations relative to the end month. Linear interpolation based on the number of days of the payment month is used to find the appropriate value.
| Modifier and Type | Class and Description |
|---|---|
static class |
InflationEndInterpolatedRateComputation.Meta
The meta-bean for
InflationEndInterpolatedRateComputation. |
| Modifier and Type | Method and Description |
|---|---|
void |
collectIndices(ImmutableSet.Builder<Index> builder)
Collects all the indices referred to by this computation.
|
boolean |
equals(Object obj) |
PriceIndexObservation |
getEndObservation()
Gets the observation at the end.
|
PriceIndexObservation |
getEndSecondObservation()
Gets the observation for interpolation at the end.
|
PriceIndex |
getIndex()
Gets the Price index.
|
double |
getStartIndexValue()
Gets the start index value.
|
double |
getWeight()
Gets the positive weight used when interpolating.
|
int |
hashCode() |
static InflationEndInterpolatedRateComputation.Meta |
meta()
The meta-bean for
InflationEndInterpolatedRateComputation. |
InflationEndInterpolatedRateComputation.Meta |
metaBean() |
static InflationEndInterpolatedRateComputation |
of(PriceIndex index,
double startIndexValue,
YearMonth referenceEndMonth,
double weight)
Creates an instance from an index, start index value and reference end month.
|
String |
toString() |
public static InflationEndInterpolatedRateComputation of(PriceIndex index, double startIndexValue, YearMonth referenceEndMonth, double weight)
The second end observations will be one month later than the end month.
index - the indexstartIndexValue - the start index valuereferenceEndMonth - the reference end monthweight - the weightpublic PriceIndex getIndex()
public void collectIndices(ImmutableSet.Builder<Index> builder)
RateComputationA computation will typically refer to one index, such as 'GBP-LIBOR-3M'. Each index that is referred to must be added to the specified builder.
collectIndices in interface RateComputationbuilder - the builder to usepublic static InflationEndInterpolatedRateComputation.Meta meta()
InflationEndInterpolatedRateComputation.public InflationEndInterpolatedRateComputation.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic double getStartIndexValue()
The published index value of the start month.
public PriceIndexObservation getEndObservation()
The inflation rate is the ratio between the start index value and the interpolated end observations. The end month is typically three months before the end of the period.
public PriceIndexObservation getEndSecondObservation()
The inflation rate is the ratio between the start index value and the interpolated end observations. The month is typically one month after the month of the end observation.
public double getWeight()
Given two price index observations, typically in adjacent months, the weight is used
to determine the adjusted index value. The value is given by the formula
(weight * price_index_1 + (1 - weight) * price_index_2).
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.