Class RepoCurveDiscountFactors
- java.lang.Object
-
- com.opengamma.strata.pricer.bond.RepoCurveDiscountFactors
-
- All Implemented Interfaces:
Serializable
,org.joda.beans.Bean
,org.joda.beans.ImmutableBean
public final class RepoCurveDiscountFactors extends Object implements org.joda.beans.ImmutableBean, Serializable
Provides access to discount factors for a repo curve.The discount factor represents the time value of money for the specified security, issuer and currency when comparing the valuation date to the specified date.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RepoCurveDiscountFactors.Meta
The meta-bean forRepoCurveDiscountFactors
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description double
discountFactor(LocalDate date)
Gets the discount factor.boolean
equals(Object obj)
Currency
getCurrency()
Gets the currency.DiscountFactors
getDiscountFactors()
Gets the underlying discount factors for a single currency.RepoGroup
getRepoGroup()
Gets the repo group.LocalDate
getValuationDate()
Gets the valuation date.int
hashCode()
static RepoCurveDiscountFactors.Meta
meta()
The meta-bean forRepoCurveDiscountFactors
.RepoCurveDiscountFactors.Meta
metaBean()
static RepoCurveDiscountFactors
of(DiscountFactors discountFactors, RepoGroup group)
Obtains an instance based on discount factors and group.CurrencyParameterSensitivities
parameterSensitivity(RepoCurveZeroRateSensitivity pointSensitivity)
Calculates the curve parameter sensitivity from the point sensitivity.String
toString()
RepoCurveZeroRateSensitivity
zeroRatePointSensitivity(LocalDate date)
Calculates the zero rate point sensitivity at the specified date.RepoCurveZeroRateSensitivity
zeroRatePointSensitivity(LocalDate date, Currency sensitivityCurrency)
Calculates the zero rate point sensitivity at the specified date specifying the currency of the sensitivity.
-
-
-
Method Detail
-
of
public static RepoCurveDiscountFactors of(DiscountFactors discountFactors, RepoGroup group)
Obtains an instance based on discount factors and group.- Parameters:
discountFactors
- the discount factorsgroup
- the group- Returns:
- the repo curve discount factors
-
getCurrency
public Currency getCurrency()
Gets the currency.The currency that discount factors are provided for.
- Returns:
- the currency
-
getValuationDate
public LocalDate getValuationDate()
Gets the valuation date.The raw data in this provider is calibrated for this date.
- Returns:
- the valuation date
-
discountFactor
public double discountFactor(LocalDate date)
Gets the discount factor.The discount factor represents the time value of money for the specified currency and bond when comparing the valuation date to the specified date.
If the valuation date is on or after the specified date, the discount factor is 1.
- Parameters:
date
- the date to discount to- Returns:
- the discount factor
-
zeroRatePointSensitivity
public RepoCurveZeroRateSensitivity zeroRatePointSensitivity(LocalDate date)
Calculates the zero rate point sensitivity at the specified date.This returns a sensitivity instance referring to the zero rate sensitivity of the curve used to determine the discount factor. The sensitivity typically has the value
(-discountFactor * relativeYearFraction)
. The sensitivity refers to the result ofdiscountFactor(LocalDate)
.- Parameters:
date
- the date to discount to- Returns:
- the point sensitivity of the zero rate
- Throws:
RuntimeException
- if the result cannot be calculated
-
zeroRatePointSensitivity
public RepoCurveZeroRateSensitivity zeroRatePointSensitivity(LocalDate date, Currency sensitivityCurrency)
Calculates the zero rate point sensitivity at the specified date specifying the currency of the sensitivity.This returns a sensitivity instance referring to the zero rate sensitivity of the curve used to determine the discount factor. The sensitivity typically has the value
(-discountFactor * relativeYearFraction)
. The sensitivity refers to the result ofdiscountFactor(LocalDate)
.This method allows the currency of the sensitivity to differ from the currency of the curve.
- Parameters:
date
- the date to discount tosensitivityCurrency
- the currency of the sensitivity- Returns:
- the point sensitivity of the zero rate
- Throws:
RuntimeException
- if the result cannot be calculated
-
parameterSensitivity
public CurrencyParameterSensitivities parameterSensitivity(RepoCurveZeroRateSensitivity pointSensitivity)
Calculates the curve parameter sensitivity from the point sensitivity.This is used to convert a single point sensitivity to curve parameter sensitivity. The calculation typically involves multiplying the point and unit sensitivities.
- Parameters:
pointSensitivity
- the point sensitivity to convert- Returns:
- the parameter sensitivity
- Throws:
RuntimeException
- if the result cannot be calculated
-
meta
public static RepoCurveDiscountFactors.Meta meta()
The meta-bean forRepoCurveDiscountFactors
.- Returns:
- the meta-bean, not null
-
metaBean
public RepoCurveDiscountFactors.Meta metaBean()
- Specified by:
metaBean
in interfaceorg.joda.beans.Bean
-
getDiscountFactors
public DiscountFactors getDiscountFactors()
Gets the underlying discount factors for a single currency.This contains curve, curve currency, valuation date and day count convention. The discount factor, its point sensitivity and curve sensitivity are computed by this
DiscountFactors
.- Returns:
- the value of the property, not null
-
getRepoGroup
public RepoGroup getRepoGroup()
Gets the repo group.This defines the group that the discount factors are for.
- Returns:
- the value of the property, not null
-
-