Interface LegalEntityDiscountingMarketDataLookup
-
- All Superinterfaces:
CalculationParameter
public interface LegalEntityDiscountingMarketDataLookup extends CalculationParameter
The lookup that provides access to legal entity discounting in market data.The legal entity discounting market lookup provides access to repo and issuer curves.
The lookup implements
CalculationParameterand is used by passing it as an argument toCalculationRules. It provides the link between the data that the function needs and the data that is available inScenarioMarketData.Implementations of this interface must be immutable.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description LegalEntityDiscountingProviderdiscountingProvider(MarketData marketData)Obtains a discounting provider based on the specified market data.default LegalEntityDiscountingMarketDatamarketDataView(MarketData marketData)Obtains a filtered view of the complete set of market data.default LegalEntityDiscountingScenarioMarketDatamarketDataView(ScenarioMarketData marketData)Obtains a filtered view of the complete set of market data.static LegalEntityDiscountingMarketDataLookupof(LegalEntityCurveGroup curveGroup, Map<LegalEntityId,RepoGroup> repoCurveGroups)Obtains an instance based on a curve group and group map.static LegalEntityDiscountingMarketDataLookupof(LegalEntityCurveGroup curveGroup, Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups)Obtains an instance based on a curve group and group maps.static LegalEntityDiscountingMarketDataLookupof(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 LegalEntityDiscountingMarketDataLookupof(Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds)Obtains an instance based on maps for repo curves.static LegalEntityDiscountingMarketDataLookupof(Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds, ObservableSource obsSource)Obtains an instance based on maps for repo curves.static LegalEntityDiscountingMarketDataLookupof(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 LegalEntityDiscountingMarketDataLookupof(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 LegalEntityDiscountingMarketDataLookupof(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 LegalEntityDiscountingMarketDataLookupof(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.FunctionRequirementsrequirements(LegalEntityId issuerId, Currency currency)Creates market data requirements for the specified issuer.FunctionRequirementsrequirements(SecurityId securityId, LegalEntityId issuerId, Currency currency)Creates market data requirements for the specified security and issuer.-
Methods inherited from interface com.opengamma.strata.calc.runner.CalculationParameter
filter
-
-
-
-
Method Detail
-
of
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.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.
- Parameters:
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 currency- Returns:
- the rates lookup containing the specified curves
-
of
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.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.
- Parameters:
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 data- Returns:
- the rates lookup containing the specified curves
-
of
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.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.
- Parameters:
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 currency- Returns:
- the rates lookup containing the specified curves
-
of
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.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.
- Parameters:
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 data- Returns:
- the rates lookup containing the specified curves
-
of
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.The two maps define mapping from the issuer ID to a group.
- Parameters:
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 group- Returns:
- the rates lookup containing the specified curves
-
of
static LegalEntityDiscountingMarketDataLookup of(LegalEntityCurveGroup curveGroup, Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<LegalEntityId,LegalEntityGroup> issuerCurveGroups)
Obtains an instance based on a curve group and group maps.The two maps define mapping from the issuer ID to a group.
- Parameters:
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 group- Returns:
- the rates lookup containing the specified curves
-
of
static LegalEntityDiscountingMarketDataLookup of(Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds)
Obtains an instance based on maps for repo curves.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.
- Parameters:
repoCurveGroups- the repo curve groups, mapping issuer ID to grouprepoCurveIds- the repo curve identifiers, keyed by repo group and currency- Returns:
- the rates lookup containing the specified curves
-
of
static LegalEntityDiscountingMarketDataLookup of(Map<LegalEntityId,RepoGroup> repoCurveGroups, Map<Pair<RepoGroup,Currency>,CurveId> repoCurveIds, ObservableSource obsSource)
Obtains an instance based on maps for repo curves.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.
- Parameters:
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 data- Returns:
- the rates lookup containing the specified curves
-
of
static LegalEntityDiscountingMarketDataLookup of(LegalEntityCurveGroup curveGroup, Map<LegalEntityId,RepoGroup> repoCurveGroups)
Obtains an instance based on a curve group and group map.The two maps define mapping from the issuer ID to a group.
Issuer curves are not defined in the instance.
- Parameters:
curveGroup- the curve group to base the lookup onrepoCurveGroups- the repo curve groups, mapping issuer ID to group- Returns:
- the rates lookup containing the specified curves
-
queryType
default Class<? extends CalculationParameter> queryType()
Gets the type that the lookup will be queried by.This returns
LegalEntityDiscountingMarketDataLookup.class. When querying parameters usingCalculationParameters.findParameter(Class),LegalEntityDiscountingMarketDataLookup.classmust be passed in to find the instance.- Specified by:
queryTypein interfaceCalculationParameter- Returns:
- the type of the parameter implementation
-
requirements
FunctionRequirements requirements(SecurityId securityId, LegalEntityId issuerId, Currency currency)
Creates market data requirements for the specified security and issuer.- Parameters:
securityId- the security IDissuerId- the legal entity issuer IDcurrency- the currency of the security- Returns:
- the requirements
- Throws:
IllegalArgumentException- if unable to create requirements
-
requirements
FunctionRequirements requirements(LegalEntityId issuerId, Currency currency)
Creates market data requirements for the specified issuer.- Parameters:
issuerId- the legal entity issuer IDcurrency- the currency of the security- Returns:
- the requirements
- Throws:
IllegalArgumentException- if unable to create requirements
-
marketDataView
default LegalEntityDiscountingScenarioMarketData marketDataView(ScenarioMarketData marketData)
Obtains a filtered view of the complete set of market data.This method returns an instance that binds the lookup to the market data. The input is
ScenarioMarketData, which contains market data for all scenarios.- Parameters:
marketData- the complete set of market data for all scenarios- Returns:
- the filtered market data
-
marketDataView
default LegalEntityDiscountingMarketData marketDataView(MarketData marketData)
Obtains a filtered view of the complete set of market data.This method returns an instance that binds the lookup to the market data. The input is
MarketData, which contains market data for one scenario.- Parameters:
marketData- the complete set of market data for one scenario- Returns:
- the filtered market data
-
discountingProvider
LegalEntityDiscountingProvider discountingProvider(MarketData marketData)
Obtains a discounting provider based on the specified market data.This provides a
LegalEntityDiscountingProvidersuitable for pricing a product. Although this method can be used directly, it is typically invoked indirectly viaLegalEntityDiscountingMarketData:// 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();
- Parameters:
marketData- the complete set of market data for one scenario- Returns:
- the discounting provider
-
-