Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt

Use this file to discover all available pages before exploring further.

This page provides implementation details about the usage of the Datastore Helper 3.4.0-AS6.1 library within Atoti Market Risk, focusing on the wiring between different datastore definitions and customizations. For documentation of the library itself, see the Datastore Helper Documentation.

Implementations of the AConfigurableSchema class

All the MR libraries datastores are provided as extensions of the AConfigurableSchema and ATenorAwareSchema classes. These classes are exposed as individual beans or annotated as @Configuration, then collected and applied to the IDatastoreConfigurator object in the DatastoreConfiguratorSetup class. The full list of store definitions is as follows:
ClassDatastore contentsExposed as
CubeMarketDataStoreCube market data.A bean in the CubeMarketDataRetrievalConfig class.
CurveMarketDataStoreCurve market data.A bean in the CurveMarketDataRetrievalConfig class.
FxRateMarketDataStoreFX rates.A bean in the FxRateMarketDataRetrievalConfig class.
SpotMarketDataStoreSpot market data.A bean in the SpotMarketDataRetrievalConfig class.
SurfaceMarketDataStoreSurface market data.A bean in the SurfaceMarketDataRetrievalConfig class.
BookHierarchyStoreConfigA multi-level book hierarchy.@Configuration class wired directly.
BookParentChildStoreConfigA parent-child book hierarchy.@Configuration class wired directly.
CounterpartyHierarchyStoreConfigA multi-level counterparty hierarchy.@Configuration class wired directly.
CounterpartyParentChildStoreConfigA parent-child counterparty hierarchy.@Configuration class wired directly.
CounterpartyStoreConfigCounterparty information.@Configuration class wired directly.
CountryStoreConfigCountry information.@Configuration class wired directly.
LegalEntityHierarchyStoreConfigA multi-level legal entity hierarchy.@Configuration class wired directly.
LegalEntityParentChildStoreConfigA parent-child legal entity hierarchy.@Configuration class wired directly.
MarketShiftStoreConfigMarket shifts.@Configuration class wired directly.
RiskFactorsCatalogueStoreConfigRisk factors information.@Configuration class wired directly.
ScenariosStoreConfigScenarios per set.@Configuration class wired directly.
TradeAttributesStoreConfigTrade attributes.@Configuration class wired directly.
CounterpartyToCountryReferenceConfigReferences between the Counterparty and Country stores.@Configuration class wired directly.
TradeAttributesToBookHierarchyReferenceConfigReferences between the Trade Attributes and Book Hierarchy stores.@Configuration class wired directly.
TradeAttributesToCounterpartyHierarchyReferenceConfigReferences between the Trade Attributes and Counterparty Hierarchy stores.@Configuration class wired directly.
TradeAttributesToCounterpartyReferenceConfigReferences between the Trade Attributes and Counterparty stores.@Configuration class wired directly.
TradeAttributesToLegalEntityHierarchyReferenceConfigReferences between the Trade Attributes and Legal Entity Hierarchy stores.@Configuration class wired directly.
PnLStoreConfigStandard PnL store.@Configuration class wired directly.
PnLAggregatedStoreConfigDenormalized store for PnL aggregated imports.@Configuration class wired directly.
CorrelationMarketDataStoreCorrelation market data.A bean in the CorrelationMarketDataRetrievalConfig class.
DividendMarketDataStoreDividend market data.A bean in the CorrelationMarketDataRetrievalConfig class.
DynamicTenorsStoreConfigDynamic tenors for rebucketing.@Configuration class wired directly.
SensiLaddersStoreConfigSensitivity ladders.@Configuration class wired directly.
SplitRatioMarketDataStoreSplit ratios for equity instruments.A bean in the CorporateActionMarketDataRetrievalConfig class.
TradeSensitivitiesStoreConfigStandard sensitivity data.@Configuration class wired directly.
SensiAggregatedStoreConfigDenormalized store for sensitivity aggregated imports.@Configuration class wired directly.
SensiFlatStoreConfigDenormalized store for sensitivity store-level imports.@Configuration class wired directly.
TradeSensitivitiesToRiskFactorsCatalogueReferenceConfigReferences between the Trade Sensitivities and Risk Factors Catalogue stores.@Configuration class wired directly.
TradeSensitivitiesToTradeAttributesReferenceConfigReferences between the Trade Sensitivities and Trade Attributes stores.@Configuration class wired directly.
VaRStoreConfigStandard VaR data.@Configuration class wired directly.
VaRAggregatedStoreConfigDenormalized store for VaR aggregated imports.@Configuration class wired directly.
VaRFlatStoreConfigDenormalized store for VaR store-level imports.@Configuration class wired directly.
Several additional classes are provided to allow groups of stores and references to be imported together:
ClassDetailsImported classes
AllCommonStoresConfigStores used in multiple cubes.MarketShiftStoreConfig.
AllStandardStoresConfigStores used regardless of cube.BookHierarchyStoreConfig, BookParentChildStoreConfig, CounterpartyHierarchyStoreConfig, CounterpartyParentChildStoreConfig, CounterpartyStoreConfig, LegalEntityHierarchyStoreConfig, LegalEntityParentChildStoreConfig, MarketDataSetStoreConfig, RiskFactorsCatalogueStoreConfig, ScenariosStoreConfig, TradeAttributesStoreConfig.
AllStandardReferencesConfigReferences used regardless of cube.CounterpartyToCountryReferenceConfig, TradeAttributesToBookHierarchyReferenceConfig, TradeAttributesToCounterpartyReferenceConfig, TradeAttributesToCounterpartyHierarchyReferenceConfig, TradeAttributesToLegalEntityHierarchyReferenceConfig.
AllSensiStoresConfigStores used for the sensitivity cube.DynamicTenorsStoreConfig, SensiLaddersStoreConfig, TradeSensitivitiesStoreConfig.
AllSensiReferencesConfigReferences used for the sensitivity cube.TradeSensitivitiesToRiskFactorsCatalogueReferenceConfig, TradeSensitivitiesToTradeAttributesReferenceConfig.

The DatastoreConfiguratorSetup class

All Spring beans are collected in the DatastoreConfiguratorSetup class. The@Configuration classes are expected to be made conditional on application properties and thus result in the correct set of datastores for each run mode. Customizations should be created as DatastoreConfiguratorConsumer beans, which are then collected by the class constructor:
        public DatastoreConfiguratorSetup(
            List<IConfigurableSchema> schemas,
            @Autowired(required = false) List<DatastoreConfiguratorConsumer> customisations) {
        this.schemas = schemas;
        this.customisations = customisations;
    }

Customizations classes

Atoti Market Risk contains two customization classes that instantiate DatastoreConfiguratorConsumer beans.
ClassUsage
DatastoreCustomisationsEmpty class intended to provide a place to define simple customizations.
ProductControlDatastoreCustomisationsOperates on the PnL base store. Makes the Type field a key field and adds Monthly, Yearly and Lifetime value fields.