Migration notes 0.9
This page explains the changes required to migrate to the stated version of the Atoti Market Data.
Migrate to 0.9.0
Upgrading from Atoti Market Data 0.1.0 - See Atoti Market Data 0.9.0 Release Notes.
Summary
Java 21
Atoti Market Data 0.9.0 requires Java 21.
API changes
-
The
AContextualMarketDataRetriever#createCacheKeymethod now returnsCompositeKey. -
The selection of a market data container based on a post-processor property has been moved into a new post-processor,
APropertyMarketDataPostProcessor. -
The
withOverriddenValuesin the post-processor builders now takes varargs as input instead of aList<Object>to be consistent with the signature of thewithRequiredLevelsmethod. -
The functional interface
CoordinatesToMapperhas been renamed toMapperFactory. -
To reflect that change, the following class attributes have been modified:
Class New attribute name Old attribute name InterpolatingCurveContextualMarketDataRetrievertenorMapperFactorytenorCoordinatesToMapperInterpolatingSurfaceContextualMarketDataRetrievertenorMapperFactorytenorCoordinatesToMappermoneynessMapperFactorymoneynessCoordinatesToMapperInterpolatingCubeContextualMarketDataRetrievertenorMapperFactorytenorCoordinatesToMappermoneynessMapperFactorymoneynessCoordinatesToMappermaturityMapperFactorymaturityCoordinatesToMapper -
The
IMaturityConverterinterface is not used anymore in post-processors. Instead,MapperFactoryneeds to be defined:
| Post-processor class | Changes |
|---|---|
CurveMarketDataPostProcessor |
Does not implement IMaturityConverterAware anymore. Added property TENOR_MAPPER_FACTORY_PROPERTY for the MapperFactory handling tenors.Added method withTenorMapperFactory in the builder to define the tenor MapperFactory. |
SurfaceMarketDataPostProcessor |
Does not implement IMaturityConverterAware anymore. Added property TENOR_MAPPER_FACTORY_PROPERTY for the MapperFactory handling tenors.Added property MONEYNESS_MAPPER_FACTORY_PROPERTY for the MapperFactory handling moneyness.Added method withTenorMapperFactory in the builder to define the tenor MapperFactory.Added method withMoneynessMapperFactory in the builder to define the moneyness MapperFactory. |
CubeMarketDataPostProcessor |
Does not implement IMaturityConverterAware anymore. Added property TENOR_MAPPER_FACTORY_PROPERTY for the MapperFactory handling tenors.Added property MONEYNESS_MAPPER_FACTORY_PROPERTY for the MapperFactory handling moneyness.Added property MATURITY_MAPPER_FACTORY_PROPERTY for the MapperFactory handling moneyness. Added method withTenorMapperFactory in the builder to define the tenor MapperFactory.Added method withMoneynessMapperFactory in the builder to define the moneyness MapperFactory.Added method withMaturityMapperFactory in the builder to define the maturity MapperFactory. |
-
The following store classes have been updated to add a constructor with a
nameparameter:SpotMarketDataStoreCurveMarketDataStoreSurfaceMarketDataStoreCubeMarketDataStoreFxRateMarketDataStore
-
A new argument
StoreProperties storeProperties, corresponding to theConfigurationPropertiesused to define the store name suffix, has been added to the constructors of the beans in the following classes:SpotMarketDataRetrievalConfigCurveMarketDataRetrievalConfigSurfaceMarketDataRetrievalConfigCubeMarketDataRetrievalConfigFxRateMarketDataRetrievalConfig
-
The
*MarketDataRetrievalConfigbeans of typeAConfigurableSchemaare now published as the concrete type. For example, the bean for the Spot store is now of typeSpotMarketDataStore. These beans are then used by the other beans in the configuration to keep the store name consistent.
Behavior changes
- Market data retrieval when
overriddenStoreValueshas the same length asrequiredLevelsis now allowed inADefaultMarketDataPostProcessor. - An interpolation mode is no longer mandatory in
CurveMarketDataPostProcessor,SurfaceMarketDataPostProcessor, andCubeMarketDataPostProcessor. If no interpolation mode is provided, the market data retrieved by these post-processors is not interpolated.
Properties
Added
| Property | Default value | Description |
|---|---|---|
| market-data.store.suffix | "" | Suffix added to store names. That suffix is added to the name of all the stores. |