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.
For information on upgrading from previous versions, see the Atoti Market Data Migration Notes.
Summary
- DirectQuery Cache migration: The DirectQuery cache that was included in Atoti Market Data 1.3.0 has been removed and Atoti Market Data has been updated to support the DirectQuery Local Cache in Atoti Server 6.1.9. This cache is available for use in all projects.
Dependency versions
| Component | Version |
|---|
| Atoti Server | 6.1.9 |
| Common Dependencies BOM | 2.2.1 (com.activeviam.apps) |
| Common Parent POM | 2.2.1 (com.activeviam.apps) |
| Java | JDK21 |
Changed
| Issue Key | Details |
|---|
| BAST-1400 | Replace the Atoti Market Data DirectQuery cache with the DirectQuery Local Cache in Atoti Server 6.1.9. |
Known issues
| Issue Key | Details |
|---|
| BAST-1398 | When applying a date shift for a market data retrieval, the TableDateRetriever queries the market data store to get all distinct AsOfDates. This query cannot be handled by the DirectQuery Local Cache and so, when using DirectQuery, it will be sent to the database. This introduces an overhead to market data retrievals with DirectQuery. We will address this in a future release of Atoti Market Data. |
Summary
- DirectQuery Cache compatibility update: The DirectQuery cache that was included in Atoti Market Data 1.3.0 has been updated to be compatible with Atoti Server 6.1.9. This cache remains an internal feature intended for beta testing in Atoti Market Risk.
Atoti Server 6.1.9 contains a full, production-ready version of the DirectQuery cache that was included in Atoti Market Data 1.3.0. However, Atoti Market Data 1.3.2 has not been updated to work with the Atoti Server version. Atoti Market Data will be migrated to use this new cache in a future release.
Dependency versions
| Component | Version |
|---|
| Atoti Server | 6.1.9 |
| Common Dependencies BOM | 2.2.1 (com.activeviam.apps) |
| Common Parent POM | 2.2.1 (com.activeviam.apps) |
| Java | JDK21 |
Changed
| Issue Key | Details |
|---|
| BAST-1387 | Update to Atoti Server 6.1.9. |
Summary
- Deprecation of constant:
MarketDataConstants.STORE_DATE_FIELD_FORMAT is deprecated. ILiteralType.LOCAL_DATE should be used instead. Market data stores have been updated with this release.
Dependency versions
| Component | Version |
|---|
| Atoti Server | 6.1.4 |
| Common Dependencies BOM | 2.2.1 (com.activeviam.apps) |
| Common Parent POM | 2.2.1 (com.activeviam.apps) |
| Java | JDK21 |
Changed
| Issue Key | Details |
|---|
| BAST-1294 | MarketDataConstants.STORE_DATE_FIELD_FORMAT is deprecated with this release. ILiteralType.LOCAL_DATE should be used instead. |
Summary
- Upgrade to Atoti Server 6.1.4: Atoti Market Data has been upgraded to Atoti Server 6.1.4.
- DirectQuery cache: This release adds support for a DirectQuery cache that is being beta tested in Atoti Market Risk.
- Make post-processor distributed by default: All post-processors extending
ADefaultMarketDataPostProcessor now implement IDistributedPostProcessor, with the canBeDistributedMethod returning true.
Dependency versions
| Component | Version |
|---|
| Atoti Server | 6.1.4 |
| Common Dependencies BOM | 2.2.1 (com.activeviam.apps) |
| Common Parent POM | 2.2.1 (com.activeviam.apps) |
| Java | JDK21 |
Added
| Issue Key | Details |
|---|
| MR-1993 | This release adds support for a DirectQuery cache that is being beta-tested in Atoti Market Risk. |
Fixed
| Issue Key | Details |
|---|
| BAST-1252 | All post-processors extending ADefaultMarketDataPostProcessor now implement IDistributedPostProcessor, with the canBeDistributedMethod returning true. This prevents these post-processors from executing on a query node that does not contain a market data retriever container or a database. |
Summary
- Introduce configuration module : All classes previously in the
market-data-spring-boot-starter module have been moved to a new market-data-config module enabling their use without auto-configuration.
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-1251 | All classes previously in the market-data-spring-boot-starter module have been moved to a new market-data-config module enabling their use without auto-configuration. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |