public interface LegalEntityDiscountingMarketDataLookup extends CalculationParameter
The legal entity discounting market lookup provides access to repo and issuer curves.
The lookup implements CalculationParameter and is used by passing it
as an argument to CalculationRules. It provides the link between the
data that the function needs and the data that is available in ScenarioMarketData.
Implementations of this interface must be immutable.
| Modifier and Type | Method and Description |
|---|---|
LegalEntityDiscountingProvider |
discountingProvider(MarketData marketData)
Obtains a discounting provider based on the specified market data.
|
default LegalEntityDiscountingMarketData |
marketDataView(MarketData marketData)
Obtains a filtered view of the complete set of market data.
|
default LegalEntityDiscountingScenarioMarketData |
marketDataView(ScenarioMarketData marketData)
Obtains a filtered view of the complete set of market data.
|
static LegalEntityDiscountingMarketDataLookup |
of(LegalEntityCurveGroup curveGroup,
Map<LegalEntityId,RepoGroup> repoCurveGroups)
Obtains an instance based on a curve group and group map.
|
static LegalEntityDiscountingMarketDataLookup |
of(LegalEntityCurveGroup curveGroup,
Map<LegalEntityId,RepoGroup> repoCurveGroups,
Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups)
Obtains an instance based on a curve group and group maps.
|
static LegalEntityDiscountingMarketDataLookup |
of(LegalEntityCurveGroup curveGroup,
Map<SecurityId,RepoGroup> repoCurveSecurityGroups,
Map<LegalEntityId,RepoGroup> repoCurveGroups,
Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups)
Obtains an instance based on a curve group and group maps.
|
static LegalEntityDiscountingMarketDataLookup |
of(Map<LegalEntityId,RepoGroup> repoCurveGroups,
Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds)
Obtains an instance based on maps for repo curves.
|
static LegalEntityDiscountingMarketDataLookup |
of(Map<LegalEntityId,RepoGroup> repoCurveGroups,
Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds,
Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups,
Map<Pair<LegalEntityGroup,Currency>,CurveId> issuerCurveIds)
Obtains an instance based on a maps for repo and issuer curves.
|
static LegalEntityDiscountingMarketDataLookup |
of(Map<LegalEntityId,RepoGroup> repoCurveGroups,
Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds,
Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups,
Map<Pair<LegalEntityGroup,Currency>,CurveId> issuerCurveIds,
ObservableSource obsSource)
Obtains an instance based on a maps for repo and issuer curves.
|
static LegalEntityDiscountingMarketDataLookup |
of(Map<LegalEntityId,RepoGroup> repoCurveGroups,
Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds,
ObservableSource obsSource)
Obtains an instance based on maps for repo curves.
|
static LegalEntityDiscountingMarketDataLookup |
of(Map<SecurityId,RepoGroup> repoCurveSecurityGroups,
Map<LegalEntityId,RepoGroup> repoCurveGroups,
Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds,
Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups,
Map<Pair<LegalEntityGroup,Currency>,CurveId> issuerCurveIds)
Obtains an instance based on a maps for repo and issuer curves.
|
static LegalEntityDiscountingMarketDataLookup |
of(Map<SecurityId,RepoGroup> repoCurveSecurityGroups,
Map<LegalEntityId,RepoGroup> repoCurveGroups,
Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds,
Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups,
Map<Pair<LegalEntityGroup,Currency>,CurveId> issuerCurveIds,
ObservableSource obsSource)
Obtains an instance based on a maps for repo and issuer curves.
|
default Class<? extends CalculationParameter> |
queryType()
Gets the type that the lookup will be queried by.
|
FunctionRequirements |
requirements(LegalEntityId issuerId,
Currency currency)
Creates market data requirements for the specified issuer.
|
FunctionRequirements |
requirements(SecurityId securityId,
LegalEntityId issuerId,
Currency currency)
Creates market data requirements for the specified security and issuer.
|
filterstatic LegalEntityDiscountingMarketDataLookup of(Map<SecurityId,RepoGroup> repoCurveSecurityGroups, Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds, Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups, Map<Pair<LegalEntityGroup,Currency>,CurveId> issuerCurveIds)
Both the repo and issuer curves are defined in two parts. The first part maps the issuer ID to a group, and the second part maps the group and currency to the identifier of the curve.
repoCurveSecurityGroups - the per security repo curve groups overrides, mapping security ID to grouprepoCurveGroups - the repo curve groups, mapping issuer ID to grouprepoCurveIds - the repo curve identifiersissuerCurveGroups - the issuer curve groups, mapping issuer ID to groupissuerCurveIds - the issuer curves identifiers, keyed by issuer ID and currencystatic LegalEntityDiscountingMarketDataLookup of(Map<SecurityId,RepoGroup> repoCurveSecurityGroups, Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds, Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups, Map<Pair<LegalEntityGroup,Currency>,CurveId> issuerCurveIds, ObservableSource obsSource)
Both the repo and issuer curves are defined in two parts. The first part maps the issuer ID to a group, and the second part maps the group and currency to the identifier of the curve.
repoCurveSecurityGroups - the per security repo curve groups overrides, mapping security ID to grouprepoCurveGroups - the repo curve groups, mapping issuer ID to grouprepoCurveIds - the repo curve identifiersissuerCurveGroups - the issuer curve groups, mapping issuer ID to groupissuerCurveIds - the issuer curves identifiers, keyed by issuer ID and currencyobsSource - the source of market data for quotes and other observable market datastatic LegalEntityDiscountingMarketDataLookup of(Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds, Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups, Map<Pair<LegalEntityGroup,Currency>,CurveId> issuerCurveIds)
Both the repo and issuer curves are defined in two parts. The first part maps the issuer ID to a group, and the second part maps the group and currency to the identifier of the curve.
repoCurveGroups - the repo curve groups, mapping issuer ID to grouprepoCurveIds - the repo curve identifiersissuerCurveGroups - the issuer curve groups, mapping issuer ID to groupissuerCurveIds - the issuer curves identifiers, keyed by issuer ID and currencystatic LegalEntityDiscountingMarketDataLookup of(Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds, Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups, Map<Pair<LegalEntityGroup,Currency>,CurveId> issuerCurveIds, ObservableSource obsSource)
Both the repo and issuer curves are defined in two parts. The first part maps the issuer ID to a group, and the second part maps the group and currency to the identifier of the curve.
repoCurveGroups - the repo curve groups, mapping issuer ID to grouprepoCurveIds - the repo curve identifiersissuerCurveGroups - the issuer curve groups, mapping issuer ID to groupissuerCurveIds - the issuer curves identifiers, keyed by issuer ID and currencyobsSource - the source of market data for quotes and other observable market datastatic LegalEntityDiscountingMarketDataLookup of(LegalEntityCurveGroup curveGroup, Map<SecurityId,RepoGroup> repoCurveSecurityGroups, Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups)
The two maps define mapping from the issuer ID to a group.
curveGroup - the curve group to base the lookup onrepoCurveSecurityGroups - the per security repo curve groups overrides, mapping security ID to grouprepoCurveGroups - the repo curve groups, mapping issuer ID to groupissuerCurveGroups - the issuer curve groups, mapping issuer ID to groupstatic LegalEntityDiscountingMarketDataLookup of(LegalEntityCurveGroup curveGroup, Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups)
The two maps define mapping from the issuer ID to a group.
curveGroup - the curve group to base the lookup onrepoCurveGroups - the repo curve groups, mapping issuer ID to groupissuerCurveGroups - the issuer curve groups, mapping issuer ID to groupstatic LegalEntityDiscountingMarketDataLookup of(Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds)
The repo curves are defined in two parts. The first part maps the issuer ID to a group, and the second part maps the group and currency to the identifier of the curve.
Issuer curves are not defined in the instance.
repoCurveGroups - the repo curve groups, mapping issuer ID to grouprepoCurveIds - the repo curve identifiers, keyed by repo group and currencystatic LegalEntityDiscountingMarketDataLookup of(Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds, ObservableSource obsSource)
The repo curves are defined in two parts. The first part maps the issuer ID to a group, and the second part maps the group and currency to the identifier of the curve.
Issuer curves are not defined in the instance.
repoCurveGroups - the repo curve groups, mapping issuer ID to grouprepoCurveIds - the repo curve identifiers, keyed by repo group and currencyobsSource - the source of market data for quotes and other observable market datastatic LegalEntityDiscountingMarketDataLookup of(LegalEntityCurveGroup curveGroup, Map<LegalEntityId,RepoGroup> repoCurveGroups)
The two maps define mapping from the issuer ID to a group.
Issuer curves are not defined in the instance.
curveGroup - the curve group to base the lookup onrepoCurveGroups - the repo curve groups, mapping issuer ID to groupdefault Class<? extends CalculationParameter> queryType()
This returns LegalEntityDiscountingMarketDataLookup.class.
When querying parameters using CalculationParameters.findParameter(Class),
LegalEntityDiscountingMarketDataLookup.class must be passed in to find the instance.
queryType in interface CalculationParameterFunctionRequirements requirements(SecurityId securityId, LegalEntityId issuerId, Currency currency)
securityId - the security IDissuerId - the legal entity issuer IDcurrency - the currency of the securityIllegalArgumentException - if unable to create requirementsFunctionRequirements requirements(LegalEntityId issuerId, Currency currency)
issuerId - the legal entity issuer IDcurrency - the currency of the securityIllegalArgumentException - if unable to create requirementsdefault LegalEntityDiscountingScenarioMarketData marketDataView(ScenarioMarketData marketData)
This method returns an instance that binds the lookup to the market data.
The input is ScenarioMarketData, which contains market data for all scenarios.
marketData - the complete set of market data for all scenariosdefault LegalEntityDiscountingMarketData marketDataView(MarketData marketData)
This method returns an instance that binds the lookup to the market data.
The input is MarketData, which contains market data for one scenario.
marketData - the complete set of market data for one scenarioLegalEntityDiscountingProvider discountingProvider(MarketData marketData)
This provides a LegalEntityDiscountingProvider suitable for pricing a product.
Although this method can be used directly, it is typically invoked indirectly
via LegalEntityDiscountingMarketData:
// bind the baseData to this lookup LegalEntityDiscountingMarketData view = lookup.marketView(baseData); // pass around RatesMarketData within the function to use in pricing LegalEntityDiscountingProvider provider = view.discountingProvider();
marketData - the complete set of market data for one scenarioCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.