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
CalculationParameter
and 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 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, ObservableSource obsSource)
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<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.-
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.class
must be passed in to find the instance.- Specified by:
queryType
in 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
LegalEntityDiscountingProvider
suitable 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
-
-