Skip to main content
The Atoti Market Data Library can retrieve the following:
  • a single market data corresponding to a key defining the market data
  • all the market data corresponding to a curve, a surface, or a cube

Market data retrieval interfaces

Interfaces for market data retrieval are defined in the packages com.activeviam.marketdata.lib.retrievers.intf and com.activeviam.marketdata.lib.retrievers.contextual.intf.

Market data retrieval implementations

Implementations for market data retrieval are defined in the com.activeviam.marketdata.lib.retrievers.impl and com.activeviam.marketdata.lib.retrievers.contextual.impl packages. All retrievers provide Lombok builders.

Market data retrieval containers

All contextual market data retrievers are built using a name, table retriever, and coordinate translator. To facilitate their instantiation, we provide containers for the components and a service for their collection.

MarketDataDateShift

The MarketDataDateShift defined in the package com.activeviam.marketdata.lib.dates.impl is an enum with the following values:

Retrieval context

The market data retrieval context is defined in the class MarketDataRetrieverContext in the package com.activeviam.marketdata.lib.retrievers.intf. It is used to define:
  • the name of the retrieval
  • the query cache that is used
  • the MarketDataDateShift (see above).

Date retrieval interfaces

Interfaces for date retrieval are defined in the package com.activeviam.marketdata.lib.dates.intf.

Date retrieval implementations

Implementations for date retrieval are defined in the package com.activeviam.marketdata.lib.dates.impl.

Coordinate Translator Interface

The interface for translating market data coordinates used to retrieve market data is defined in the package com.activeviam.marketdata.lib.translators.intf. This interface modifies the coordinates based on a given MarketDataRetrieverContext (see Retrieval context). The translation is meant to modify the asOfDate passed in the coordinates in order to return a key containing the previous or next day with regard to the original asOfDate.

Key Translator Implementation

The implementation used to translate a coordinates used to retrieve market data is defined in the package com.activeviam.marketdata.lib.translators.impl.

Spring configuration classes

To configure the retrieval from a market data store, we now create:
  • The store, as a @Bean extending AMarketDataStore<T>, used by the IDatastoreConfigurator
  • A TableDateRetriever on the configured store
  • A DateShiftingDateRetriever wrapping the TableDateRetriever with caching and date shifting
  • An IMarketDataCoordinateTranslator<List<Object>>, usually an implementation of DateShiftingTranslator, using the DateShiftingDateRetriever, to shift the market data retrieval coordinates to the correct date
  • A retriever of the appropriate type (e.g. a CubeTableMarketDataRetriever as an ICubeMarketDataRetriever<String, String, String>)
  • A container wrapping the retriever and translator, with a name.
In cases where the components held in a container are sufficient for instantiating a contextual retriever, the IMarketDataRetrievalContainerService should be used (e.g. for retrieving a point on a curve without interpolation, the SingleMarketDataPostProcessor can be instantiated with the CURVE_MARKET_DATA_RETRIEVER property). Several Spring configuration classes are provided in the com.activeviam.marketdata.config.retrievers package of the market-data-config module, providing Datastore Helper (DaSH) stores and retrievers as Spring beans. When you add the market-data-spring-boot-starter as a dependency in your project, the CubeMarketDataRetrievalConfig, CurveMarketDataRetrievalConfig, FxRateMarketDataRetrievalConfig, InstrumentMarketDataRetrievalConfig, and SurfaceMarketDataRetrievalConfig classes will be auto-configured.