Changelog

For information on upgrading from previous versions, see the Atoti Market Data Migration Notes.

1.1.2

2024-12-04

Summary

  • Serializable post-processor properties : Objects and interfaces used in post-processor properties are now serializable, allowing Atoti Server applications to run in distributed clusters.

Dependency versions

Component Version
Atoti Server 6.1.0
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Parent POM 2.1.0 (com.activeviam.apps)
Java JDK21

Fixed

Issue Key Details
BAST-1232 Objects and interfaces used in post-processor properties are now serializable, allowing Atoti Server applications to run in distributed clusters.

1.1.1

2024-11-27

Summary

  • Removed hard dependency on market data tables : The retrieval configuration will no longer attempt to create retrievers if the tables required are not part of the database schema.

Dependency versions

Component Version
Atoti Server 6.1.0
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Parent POM 2.1.0 (com.activeviam.apps)
Java JDK21

Fixed

Issue Key Details
BAST-1229 The retrieval configuration will no longer attempt to create retrievers if the tables required are not part of the database schema.

1.1.0

2024-11-14

Summary

  • Standalone interpolation services : All interpolation logic has been moved to standalone interpolation services.
  • Caching improvements : The caching mechanism has been improved to reduce reliance on the IQueryCache interface, improve context-specific caching, and provide more flexibility for cache key creation.
  • Automated Registry injection : Registry injection for post-processors is now automated through the Spring Boot Starter.
  • Reduced API complexity : Removed several API classes and methods that were unnecessarily adding complexity.

Dependency versions

Component Version
Atoti Server 6.1.0
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Parent POM 2.1.0 (com.activeviam.apps)
Java JDK21

Added

Issue Key Details
BAST-1205 Automatic Registry injection of relevant objects into post-processors.

Changed

Issue Key Details
BAST-1183 The interpolation logic is now fully contained within standalone interpolation services.

Removed

Issue Key Details
BAST-1203 Removed the getAvailableCurrencies() method from IFxMarektDataRetriever.
BAST-1209 Removed the IContextualMarketDataRetrieverFactory interface and all remaining implementations.

Fixed

Issue Key Details
BAST-1202 Fixed cache misses when retrieving full market data structures.

1.0.1

2024-10-29

Summary

  • Removed checked exception from the interpolation services: IInterpolationService and ICachingInterpolationService no longer throw ActiveViamException.
  • Changed visibility of MarketDataMeasureBuilderHelper variables: The MarketDataMeasureBuilderHelper instance variables are now private.
  • Interpolation bug fixes and improvements: The interpolation mode is now included in the cache key. The MarketDataRetrieverContext can be used when constructing cache keys for retrievers. The caching interpolation service method parameters have changed.
  • Changed uses of IQueryCache to ConcurrentMap<Object, Object>: For flexibility, all IQueryCache parameters and variables are now ConcurrentMap<Object, Object>.

Dependency versions

Component Version
Atoti Server 6.1.0
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Parent POM 2.1.0 (com.activeviam.apps)
Java JDK21

Changed

Issue Key Details
BAST-1189 Made MarketDataMeasureBuilderHelper instance variables private.
BAST-1193 Changed the interpolation service to ConcurrentMap and CompositeKey.

Fixed

Issue Key Details
BAST-1188 Removed the checked exception from the interpolation service.
BAST-1190 Added the interpolation mode to the retrieval cache key.

1.0.0

2024-10-09

Summary

  • Object[] coordinates: Coordinates are now Object[] instead of List<Object> throughout the module.
  • Measure builders outside post-processors: Builders have been removed from post-processors. Separate classes have been created to build post-processed measures.
  • Refactored AContextualMarketDataRetriever: The executeRetrieval(C translatedCoordinates) and generateMarketData(C translatedCoordinates, MarketDataRetrievalContext context) methods in AContextualMarketDataRetriever have been renamed, with changes to the default behavior of the retriever.
  • Generic APropertyMarketDataPostProcessor: Added the generic retriever type to the signature of APropertyMarketDataPostProcessor<T extends IDefaultMarketDataRetriever> in order to bind the container to a specific type.
  • Setting the FX pivot currency through injection: The FX pivot currency is now injected into the FX post-processors rather than added as a property.
  • Removed retriever factories: Removed retriever factories in favor of explicit instantiation through the container service.
  • Removed support for 3-axis interpolation: Cube (3-axis) market data interpolation is no longer supported through either the API or the default implementations.

Dependency versions

Component Version
Atoti Server 6.1.0
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Parent POM 2.1.0 (com.activeviam.apps)
Java JDK21

Changed

Issue Key Details
BAST-1145 Post-processor builders are now standalone classes rather than embedded in the post-processors themselves.
BAST-1147 Refactored the AContextualMarketDataRetriever to have a single overloaded retrieval method.
BAST-1148 Coordinates are now Object[] instead of List<Object> throughout the module.
BAST-1172 The FX pivot currency is now set through injection.
BAST-1174 Generic APropertyMarketDataPostProcessor.

Removed

Issue Key Details
BAST-1164 Removed support for 3-axis interpolation.
BAST-1173 Removed retriever factories.

0.9.0

2024-09-23

Summary

  • Upgrade to Atoti Server 6.1.0: Atoti Market Data has been upgraded to Atoti Server 6.1.0.
  • Java 21: Atoti Market Data 0.9.0 requires Java 21.
  • Improvements to overridden store values in post-processors: Overridden store values can now be the same length as the required levels and are declared as an array.
  • Added FX rate post-processors: Two FX rate post-processors have been added to the library.
  • FX rate on a currency against itself: The contextual FX rate retriever returns 1.0 when an FX rate is requested for a currency against itself.
  • Extensible SingleMarketDataPostProcessor: The SingleMarketDataPostProcessor is now extensible, allowing the static measure() method to be replaced with an appropriate one for the extension.
  • Store name suffix A suffix can be defined for all store names. By default, that suffix is the empty string.
  • SingleMarketDataPostProcessor split: The selection of a market data container based on a post-processor property has been moved into a new post-processor, APropertyMarketDataPostProcessor.

Dependency versions

Component Version
Atoti Server 6.1.0
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Parent POM 2.1.0 (com.activeviam.apps)
Java JDK21

Added

Issue Key Details
BAST-1134 Two FX rate post-processors have been added to the library.
BAST-1141 Added property to append suffix to store names.

Changed

Issue Key Details
BAST-1117 Updated Atoti Market Data to Atoti Server 6.1.0.
BAST-1131 Changed overriddenStoreValues to array instead of list to match requiredLevels in ADefaultMarketDataPostProcessor
BAST-1140 Allowed the possibility to have no interpolation mode defined in the CurveMarketDataPostProcessor, SurfaceMarketDataPostProcessor and CubeMarketDataPostProcessor classes.
BAST-1146 The selection of a market data container based on a post-processor property has been moved into a new post-processor, APropertyMarketDataPostProcessor.
BAST-1158 The AContextualMarketDataRetriever#createCacheKey method now returns CompositeKey.

Fixed

Issue Key Details
BAST-1129 Allowed the retrieval of a market data when overriddenStoreValues has the same length as requiredLevels in ADefaultMarketDataPostProcessor.
BAST-1130 Removed the setting of the DATASTORE_TICK continuous query handler and allowed the list of continuous query handlers to be passed on instead.
BAST-1133 Return 1.0 when an FX rate is requested for a currency against itself.
BAST-1138 The SingleMarketDataPostProcessor is now extensible, allowing the static measure() method to be replaced with an appropriate one for the extension.
BAST-1139 The Common Lib dependency has been removed, removing NoClassDefFound errors.

0.1.0

2024-08-28

Summary

  • Standalone Market Data module: Atoti Market Data is now a standalone module, with a release cycle independent of Atoti Market Risk.

Dependency versions

Component Version
Atoti Server 6.0.14-sb3
Common Dependencies BOM 2.0.0 (com.activeviam.apps)
Common Parent POM 2.0.0 (com.activeviam.apps)
Java JDK17

Changed

Issue Key Details
MR-1801 Extracted Atoti Market Data from the Atoti Market Risk codebase.