Migration notes 1.0

This page explains the changes required to migrate to the stated version of the Atoti Market Data.

Migrate to 1.0.0

Upgrading from Atoti Market Data 0.9.0 - See Atoti Market Data 1.0.0 Release Notes.

Summary

API changes

  • Coordinates are now Object[] instead of List<Object> throughout the module. The following classes have been updated to bind to the correct generics:
    • Coordinate translators
    • Retrievers
  • The executeRetrieval(C translatedCoordinates) and generateMarketData(C translatedCoordinates, MarketDataRetrievalContext context) methods in AContextualMarketDataRetriever have been renamed to doGetMarketData(C translatedCoordinates) and doGetMarketData(C translatedCoordinates, MarketDataRetrieverContext context) respectively. The default behavior has changed as follows:
    • getMarketData(C coordinates, MarketDataRetrievalContext context) handles key translation and caching and calls doGetMarketData(C translatedCoordinates, MarketDataRetrieverContext context).
    • doGetMarketData(C translatedCoordinates, MarketDataRetrieverContext context) calls doGetMarketData(C translatedCoordinates).
    • doGetMarketData(C translatedCoordinates) is abstract.
    • For extensions, the expectation is to:
      • implement doGetMarketData(C translatedCoordinates) for custom behavior that doesn’t require the context.
      • implement both methods when the context is required. The SingleContextualMarketDataRetriever implements doGetMarketData(Object[] translatedCoordinates) as a simple call to retriever.getMarketData(translatedCoordinates).
  • Removed all 3-axis interpolation interfaces and implementations:
    • 3-axis market data representation (ICubeMarketData, CubeMarketData, CubeInterpolationData).
    • Trivariate interpolators and their factories (ITrivariate, TricubicInterpolator, ITricubicInterpolatorFactory, ITrilinearInterpolatorFactory, TricubicInterpolatorFactory, TrilinearInterpolatorFactory).
    • Interpolating retrievers (InterpolatingCubeContextualMarketDataRetriever).
    • Configuration classes (TricubicInterpolatorConfig, TrilinearInterpolatorConfig).
  • Removed retriever factories for all types of market data except FX retrieval.
  • Added the generic retriever type to the signature of APropertyMarketDataPostProcessor<T extends IDefaultMarketDataRetriever> to bind the container to a specific type.
  • Builders have been removed from post-processors: instead of static methods present in the post-processor classes themselves, separate classes have been created to build post-processed measures. Examples on how to use the new builders can be found in this page: Market data post-processors
  • The FX pivot currency is now injected into the FX post-processors via the setPivotCurrency rather than added as a property.

Behavior changes

  • All support for cube market data interpolation has been removed in:
    • market data retrieval.
    • the interpolation services.
    • the API.