public interface LegalEntityDiscountingProvider
This provides the environmental information against which bond pricing occurs,
which is the repo and issuer curves. If the bond is inflation linked, the
price index data is obtained from RatesProvider.
The standard independent implementation is ImmutableLegalEntityDiscountingProvider.
All implementations of this interface must be immutable and thread-safe.
| Modifier and Type | Method and Description |
|---|---|
<T> T |
data(MarketDataId<T> id)
Gets market data of a specific type.
|
<T> Optional<T> |
findData(MarketDataName<T> name)
Finds the market data with the specified name.
|
LocalDate |
getValuationDate()
Gets the valuation date.
|
IssuerCurveDiscountFactors |
issuerCurveDiscountFactors(LegalEntityId issuerId,
Currency currency)
Gets the discount factors from an issuer based on the issuer ID and currency.
|
CurrencyParameterSensitivities |
parameterSensitivity(PointSensitivities pointSensitivities)
Computes the parameter sensitivity.
|
RepoCurveDiscountFactors |
repoCurveDiscountFactors(LegalEntityId issuerId,
Currency currency)
Gets the discount factors from a repo curve based on the issuer ID and currency.
|
RepoCurveDiscountFactors |
repoCurveDiscountFactors(SecurityId securityId,
LegalEntityId issuerId,
Currency currency)
Gets the discount factors from a repo curve based on the security ID, issuer ID and currency.
|
ImmutableLegalEntityDiscountingProvider |
toImmutableLegalEntityDiscountingProvider()
Converts this provider to an equivalent
ImmutableLegalEntityDiscountingProvider. |
LocalDate getValuationDate()
The raw data in this provider is calibrated for this date.
RepoCurveDiscountFactors repoCurveDiscountFactors(SecurityId securityId, LegalEntityId issuerId, Currency currency)
This searches first for a curve associated with the security iD and currency, and then for a curve associated with the issuer ID and currency.
If the valuation date is on or after the specified date, the discount factor is 1.
securityId - the standard ID of security to get the discount factors forissuerId - the standard ID of legal entity to get the discount factors forcurrency - the currency to get the discount factors forIllegalArgumentException - if the discount factors are not availableRepoCurveDiscountFactors repoCurveDiscountFactors(LegalEntityId issuerId, Currency currency)
This searches for a curve associated with the issuer ID and currency.
If the valuation date is on or after the specified date, the discount factor is 1.
issuerId - the standard ID of legal entity to get the discount factors forcurrency - the currency to get the discount factors forIllegalArgumentException - if the discount factors are not availableIssuerCurveDiscountFactors issuerCurveDiscountFactors(LegalEntityId issuerId, Currency currency)
This searches for a curve associated with the issuer ID and currency.
If the valuation date is on or after the specified date, the discount factor is 1.
issuerId - the standard ID to get the discount factors forcurrency - the currency to get the discount factors forIllegalArgumentException - if the discount factors are not availableCurrencyParameterSensitivities parameterSensitivity(PointSensitivities pointSensitivities)
This computes the CurrencyParameterSensitivities associated with the PointSensitivities.
This corresponds to the projection of the point sensitivity to the curve internal parameters representation.
This method handles RepoCurveZeroRateSensitivity and IssuerCurveZeroRateSensitivity.
For other sensitivity objects, see RatesProvider.parameterSensitivity(PointSensitivities).
pointSensitivities - the point sensitivity<T> T data(MarketDataId<T> id)
This is a general purpose mechanism to obtain market data. In general, it is desirable to pass the specific market data needed for pricing into the pricing method. However, in some cases, notably swaps, this is not feasible. It is strongly recommended to clearly state on pricing methods what data is required.
T - the type of the valueid - the identifier to findIllegalArgumentException - if the data is not available<T> Optional<T> findData(MarketDataName<T> name)
This is most commonly used to find a Curve using a CurveName.
If the market data cannot be found, empty is returned.
T - the type of the market data valuename - the name to findImmutableLegalEntityDiscountingProvider toImmutableLegalEntityDiscountingProvider()
ImmutableLegalEntityDiscountingProvider.Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.