Updates since 5.4 pre-releases

This page explains the changes since 5.4.0-BETA and 5.4.0-BETA 2, and explains any changes required to migrate from these early releases to the stated version of Atoti Market Risk:

Changes since 5.4.0-BETA 2

Changed

Issue Key Details
BAS-1395 Appropriate datastore fields are now typed as LocalDate instead of String.
BAS-1644 Separated the formulas and configuration properties of PnL Explain and Taylor VaR. For details, see Common module properties.
MR-1815 Changed Market Data API code based on feedback on MR 5.4.0-beta2

Removed

Issue Key Details
MR-1811 Removed the FXRates store.

Fixed

Issue Key Details
MR-1520 Querying the PnLExplain measure on the Sensitivity Cube is now faster than on previous versions.
MR-1751 Made native currency measures in the sensitivity summary cubes visible and have the correct names.
MR-1780 The continuous query handler of the FX post-processors is now configurable.

Fixed issues introduced in 5.4.0-BETA 2

Issue Key Details
MR-1776 Properties to configure market data interpolation are available. However, for interpolators using pre- and post-interpolation functions, a custom implementation is needed. An example of such an implementation is provided in the application.
MR-1777 Fixed FX risk computation from FX shifts and FX rates.
MR-1778 The mapping between risk classes and types of market data retrieved is now configurable and is no longer hard-coded.

Migrate to 5.4.0

Upgrading from version 5.4.0-BETA 2, see Atoti Market Risk 5.4 Release Notes.

Atoti Market Risk uses Atoti Server 6.0.14-sb3 and Atoti UI 5.1.x. For new features and fixes included in these releases, please see the Atoti UI documentation and Atoti UI Migration Notes, and the release notes for Atoti Server.

Breaking Changes

  • Default content server startup settings changed to reset its content to the content in mr-application/src/main/resources/mr-bookmarks. No persistence upon restart with new default properties.
  • The properties beginning mr.sensi.rules.<sensitivity-type>... have been renamed mr.sensi.rules.<sensitivity-type>.pnl-explain. This is to accommodate the new mr.sensi.rules.<sensitivity-type>.taylor-var properties that allow Taylor VaR and PnL Explain calculations to be configured independently.
  • The ISensiRuleConfigurationService interface has been replaced by the IPnlExplainRuleConfigurationService and ITaylorVarRuleConfigurationService interfaces.
  • The ISensiRuleConfigurationServicAware interface has been removed.
  • The method getVaRExplainFormula in IPnLExplainFormulaProvider has been renamed to getPnlExplainFormulaForShift as this method is now only used for PnL Explain calculations.
  • The constructor for the PnLExplainFormulaProvider class now requires an IPnlExplainRuleConfigurationService instead of an ISensiRuleConfigurationService.
  • The InputSelector class has been renamed to PnlExplainInputSelector. There is a corresponding TaylorVarInputSelector and they both implement IInputSelector. To autowire these beans you must now use the new qualifiers: SP_QUALIFIER__PNL_EXPLAIN_INPUT_SELECTOR and SP_QUALIFIER__TAYLOR_VAR_INPUT_SELECTOR.
  • The IInputSelectorAware interface has been replaced by the IPnlExplainInputSelectorAware and ITaylorVarInputSelectorAware interfaces.
  • The APnlVectorFromRiskSensiPostProcessor post-processor now implements the ITaylorVarFormulaProviderAware interface instead of the IPnLExplainFormulaProviderAware interface.
  • The market data measures configuration has been changed to fix issues introduced in the MR 5.4.0-BETA 2 release.
  • The Market Data API code has been changed based on feedback on MR 5.4.0-BETA 2. For details about the design and implementation suggestions, see Market Data API.

Summary

  • Market Data bookmark removed: The Risk Factor History bookmark under Atoti MR & PL/Story-Telling Target Views has been removed.
  • Content server reset on start: The default behavior driven by the in-memory database properties in application.yaml has been changed to reset the content server on start with the bookmarks folder (mr-application/src/main/resources/mr-bookmarks).
  • Market Data API improvements: The Market Data API has been modified based on feedback:
    • Retriever factories: Retriever factories have been split into containers holding table retrievers and coordinate translators associated with a name and factories leveraging these containers.
    • New interpolation type added: A new interpolation type (InterpolationMode.VOL_TO_VARIANCE) added to support a volatility-to-variance transformation applied to the input data and a variance-to-volatility transformation applied to the results of interpolation.
  • Scalar sensitivities using the Market Data API: The scalar sensitivity measure chains have been migrated to use the new Market Data API:
    • New market data configuration properties: Properties have been added to configure the type of market data and the interpolation for each sensitivity.
    • New measures: Native interpolated market data measures are now created based on the market data configuration properties.
  • Added topic alias AllMarketData: All the market data tables are regrouped under the new topic alias AllMarketData, used for loading the input files.

Input file formats

No changes.

Configuration

Configuration properties

Properties added

A number of properties have been added to the mr-common-config module beginning mr.sensi.rules.<sensitivity-type>.taylor-var. These properties mirror the previous mr.sensi.rules properties, allowing Taylor VaR and PnL Explain calculations to be configured independently. For full details of these properties, please see the mr-common-config properties documentation. The following properties have been added to configure sensitivity calculations with the new Market Data API:

Property Default value Description
mr.sensi.market-data.correlation.any.any.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.correlation.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.correlation.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. correlation
mr.sensi.market-data.correlation.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.correlation.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.cross-gamma1.any.any.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.cross-gamma1.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.cross-gamma1.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. spot
mr.sensi.market-data.cross-gamma1.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.cross-gamma1.any.equity.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.cross-gamma1.any.equity.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.cross-gamma1.any.equity.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. eq spot
mr.sensi.market-data.cross-gamma1.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.cross-gamma2.any.any.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.cross-gamma2.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.cross-gamma2.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. spot
mr.sensi.market-data.cross-gamma2.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.cross-gamma2.any.equity.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.cross-gamma2.any.equity.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.cross-gamma2.any.equity.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. eq spot
mr.sensi.market-data.cross-gamma2.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.custom Custom market data properties for specific sensitivity types, names and risk classes. The first key is the sensitivity type, the second is the sensitivity name, and the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.delta.any.any.interpolate Whether to perform interpolation of market data. true
mr.sensi.market-data.delta.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.delta.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. curve
mr.sensi.market-data.delta.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.delta.any.equity.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.delta.any.equity.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.delta.any.equity.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. eq spot
mr.sensi.market-data.delta.any.fx.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.delta.any.fx.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.delta.any.fx.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. fx spot
mr.sensi.market-data.delta.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.dividend.any.any.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.dividend.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.dividend.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. dividend
mr.sensi.market-data.dividend.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.dividend.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.gamma.any.any.interpolate Whether to perform interpolation of market data. true
mr.sensi.market-data.gamma.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.gamma.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. curve
mr.sensi.market-data.gamma.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.gamma.any.equity.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.gamma.any.equity.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.gamma.any.equity.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. eq spot
mr.sensi.market-data.gamma.any.fx.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.gamma.any.fx.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.gamma.any.fx.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. fx spot
mr.sensi.market-data.gamma.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.vanna1.any.any.interpolate Whether to perform interpolation of market data. true
mr.sensi.market-data.vanna1.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.vanna1.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. surface
mr.sensi.market-data.vanna1.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.vanna1.any.girr.interpolate Whether to perform interpolation of market data. true
mr.sensi.market-data.vanna1.any.girr.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.vanna1.any.girr.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. cube
mr.sensi.market-data.vanna1.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.vanna2.any.any.interpolate Whether to perform interpolation of market data. true
mr.sensi.market-data.vanna2.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.vanna2.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. curve
mr.sensi.market-data.vanna2.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.vanna2.any.equity.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.vanna2.any.equity.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.vanna2.any.equity.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. eq spot
mr.sensi.market-data.vanna2.any.fx.interpolate Whether to perform interpolation of market data. false
mr.sensi.market-data.vanna2.any.fx.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.vanna2.any.fx.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. fx spot
mr.sensi.market-data.vanna2.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.vega.any.any.interpolate Whether to perform interpolation of market data. true
mr.sensi.market-data.vega.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.vega.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. surface
mr.sensi.market-data.vega.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.vega.any.girr.interpolate Whether to perform interpolation of market data. true
mr.sensi.market-data.vega.any.girr.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.vega.any.girr.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. cube
mr.sensi.market-data.vega.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
mr.sensi.market-data.volga.any.any.interpolate Whether to perform interpolation of market data. true
mr.sensi.market-data.volga.any.any.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.volga.any.any.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. surface
mr.sensi.market-data.volga.any.custom Custom market data properties for specific risk classes. The key is the risk class name and the values are the properties for that risk class.
mr.sensi.market-data.volga.any.girr.interpolate Whether to perform interpolation of market data. true
mr.sensi.market-data.volga.any.girr.interpolation-mode The type of interpolator to use: linear, cubic, spline etc. linear
mr.sensi.market-data.volga.any.girr.market-data-type The type of market data. This is used to decide which market data store to retrieve the data from. For example, spot, curve, cube. cube
mr.sensi.market-data.volga.custom Custom market data properties for specific sensitivity names and risk classes. The first key is the sensitivity name, the second is the risk class name and the values are the properties for that sensitivity name and risk class.
Properties modified
Property Name Comment Value
mr.application.content-server.reset The default value has changed to folder to enable resetting the content server by default. folder

Properties in the mr-common-config module beginning mr.sensi.rules have been renamed to mr.sensi.rules.<sensitivity-type>.pnl-explain. Along with the new mr.sensi.rules.<sensitivity-type>.taylor-var properties, this allows Taylor VaR and PnL Explain calculations to be configured independently. For full details of these properties, please see the mr-common-config properties documentation

Property files

Files Modified
application.yaml

New properties:

Property Name Value Description
mr.application.content-server.db.file.name null Specifies the name of the file to which content server is persisted.

Datastores

Modified stores

The types of the following store fields have been changed:

Store Field Old type New type Old default New default Note
TradeAttributes MaturityDate String Date N/A 1970-01-01
TradeAttributes TradeDate String Date N/A 1970-01-01
TradeSensitivities MaturityDates String Date N/A 1970-01-01 This change does not apply to the vectorized TradeSensitivities store.
TradeSensitivities TenorDates String Date N/A 1970-01-01 This change does not apply to the vectorized TradeSensitivities store.

Deleted stores

Name Type Module Affected Class
FXRates Store Store configuration for FX rates that is not used anymore mr-common-config FxRateStoreConfig

Database

Modified tables

The types of the following database table fields have been changed:

Table Field Old type New type Old default New default Note
TRADE_ATTRIBUTES MATURITY_DATE String Date N/A 1970-01-01
TRADE_ATTRIBUTES TRADE_DATE String Date N/A 1970-01-01
TRADE_SENSITIVITIES MATURITY_DATES String Date N/A 1970-01-01
TRADE_SENSITIVITIES TENOR_DATES String Date N/A 1970-01-01
TRADE_SENSITIVITIES_VECTOR MATURITY_DATES String Date N/A 1970-01-01
TRADE_SENSITIVITIES_VECTOR TENOR_DATES String Date N/A 1970-01-01

Deleted tables

FXRATES has been removed and replaced by the new Market Data API store FxRateMarketData.

Cube schema

No changes.

Measures

No changes.

Context values

No changes.

Other changes

Changes since 5.4.0-BETA

Added

Issue Key Details
MR-1715 Added a post-processor to retrieve data from the SpotMarketData store.
MR-1716 Added a post-processor to retrieve data from the CurveMarketData store.
MR-1717 Added a post-processor to retrieve data from the SurfaceMarketData store.
MR-1718 Added a post-processor to retrieve data from the CubeMarketData store.
MR-1739 Added support for DirectQuery with Databricks.
MR-1740 Added scenario-indexed adjustments for the VaR-ES cube PnL vectors.
MR-1749 Corporate Actions have been migrated to the new Market Data API.

Changed

Issue Key Details
MR-1721 Implemented FX post-processor with new market data API.
MR-1723 Added MeasureCreator for new post-processors in ISensitivityMarketDataMeasures.
MR-1725 Updated FX measures to use the new FX post-processor.
MR-1731 The sensitivities vector data model format has been deprecated.
MR-1732 The default data model for sensitivities changed from vector model to scalar model.
MR-1742 Used fluent API for market data post-processor.
MR-1750 Dividends have been migrated to the new Market Data API for scalar sensitivities.
MR-1772 Updated SQL scripts for DirectQuery with Microsoft SQL Server and Snowflake, to match the schema of the new Market Data API.
MR-1773 Rename INSTRUMENT_MARKET_DATA_STORE to SPOT_MARKET_DATA_STORE, along with all classes that refer to the INSTRUMENT_MARKET_DATA_STORE.
MR-1775 Removed “store” suffix in market data store names.

Removed

Issue Key Details
MR-1726 Removed the debug market data measures.
MR-1774 Removed market data cube.

Fixed

Issue Key Details
MR-1743 Upgraded to Solutions Tools BOM 2.2-AS6.0 to fix bug in DoctorPivot, leading to a failure to retrieve the measures in the application cubes.

Fixed issues introduced in 5.4.0-BETA

None.

Migrate to 5.4.0-BETA 2

Upgrading from version 5.4.0-beta, see Atoti Market Risk 5.4 Release Notes.

Atoti Market Risk uses Atoti Server 6.0.12-sb3 and Atoti UI 5.1.x. For new features and fixes included in these releases, please see the Atoti UI documentation and Atoti UI Migration Notes, and the release notes for Atoti Server.

Breaking Changes

  • Vectorized sensitivities have been deprecated: scalar sensitivities should be used instead of vectorized sensitivities.
  • The default data model for sensitivities changed from vector model to scalar model.
  • The CorporateAction store has been removed for scalar sensitivities, and deprecated for vectorized sensitivities: it is still used to handle dividends for vectorized sensitivities, but is not used anymore for scalar sensitivities.
  • Stock splits are handled in a new store: the SplitRatioMarketData store is used for the handling of stock split ratios both for vectorized and scalar sensitivities.
  • New input files for Dividends and stock Split Ratios have been created.
  • New Market Data input files: spot, curve, surface, cube, and correlation market data files have been created to replace the previous market data input file.
  • The Market Data Cube has been deleted : Market data measures in the Sensitivities Cube need to be used to display market data instead of the Market Data Cube.
  • The debug market data measures have been removed.
  • The modules mr-market-data-lib and mr-market-data-config have been removed. They were used for the configuration of the Market Data Cube.
  • In the ThetaCopper class, some methods have been renamed. The marketDataPostProcessor and scalarMarketDataPostProcessor methods have been renamed.
  • The com.activeviam.accelerator.common.dates.IMaturityConverter interface has been removed from the module mr-common-lib and has been replaced by the interface com.activeviam.accelerator.common.dates.IMaturityConverter.
  • Some methods have been added to the ISensitivityMarketDataMeasures interface and the following methods have been changed: scalarNativeIntermediateInterpolatedDividend, scalarNativeIntermediateInterpolatedTheta, vectorNativeIntermediateInterpolatedTheta
  • For the market data measure chains configuration: the classes names *CurrentDateMarketDataChain, *NextDateMarketDataChain and *PreviousDateMarketDataChain hae been changed to use the new market data API.
  • The SQL scripts to create and load data for DirectQuery with Microsoft SQL Server and Snowflake have been modified to match the schema of the new Market Data API.

Summary

Input file formats

Added

New files

File Purpose
Correlation_Market_Data.csv Stores the correlation market data.
Dividend.csv Stores the dividend market data.
FX_Rate_Market_Data.csv Stores the FX rate market data.
SplitRatio.csv Stores the stock split ratio market data.

Modified

The file Instrument_Market_Data.csv has been renamed to Spot_Market_Data.csv

Removed

File Details
FXRates.csv The input file FX_Rate_Market_Data.csv has to be used instead.

Configuration

Configuration properties

Properties added

The following properties have been created in the mr-sensi-config module:

Property Default value Description
mr.sensi.file-patterns.split-ratio “*SplitRatio.csv” Pattern for the Split Ratio input file.
mr.sensi.file-patterns.dividends “*Dividends.csv” Pattern for the Dividend input file.
mr.sensi.file-patterns.correlation-market-data “*Correlation_Market_Data.csv” Pattern for the Correlation market data input file.
Properties modified
Property Name Comment Value
mr.enable.data-model.scalar-sensitivities The default value has changed to true from false. true
mr.sign-off.extractionTemplates.defaultMapping The default value has changed to true from false. true
mr.sign-off.extractionTemplatesScalar.defaultMapping The default value has changed to CubeAdjustmentExport, FXRateExport, FxRateMarketDataExport, "BookParentChildExport from CubeAdjustmentExport, FXRateExport, BookParentChildExport. CubeAdjustmentExport, FXRateExport, FxRateMarketDataExport, "BookParentChildExport
Properties removed

the "mr.enable.cubes.market-data property has been removed.

Property files

No changes.

Datastores

Added store configurations

Store Class Details
CorrelationMarketData CorrelationMarketDataStore Contains Correlation market data.
DividendMarketData DividendMarketDataStore Contains split ratio market data.
FxRateMarketData FxRateMarketDataStore A store that is part of the new Market Data API for FX Rate market data.
SplitRatioMarketData SplitRatioMarketDataStore Contains dividend market data.
  • The CorporateAction store has been deprecated. It is still used to handle dividends for vectorized sensitivities, but not for scalar sensitivities. The stores DividendMarketData and SplitRatioMarketData should be used instead.
  • The MarketData store has been deprecated. It is still used to handle dividends for vectorized sensitivities, but not for scalar sensitivities. The stores SpotMarketData, CurveMarketData, SurfaceMarketData, CubeMarketData and CorrelationMarketData should be used instead.
  • The FXRates store has been deprecated. It is not used anymore, and will be removed. The store FxRateMarketData needs to be used instead.

*For details, see New Dividend and Split Ratio stores.

Modified store configurations

Marked for removal

Name Type Module Affected Class
Market Data Store Store configuration for vectors format mr-sensi-config VectorMarketDataStoreConfig
Trade Sensitivities Store Store configuration for vectors format mr-sensi-config VectorTradeSensitivitiesStoreConfig
Sensitivities Aggregated Store Store configuration for vectors format mr-sensi-config VectorSensiAggregatedStoreConfig
Sensitivities Flat Store Store configuration for vectors format mr-sensi-config VectorSensiFlatStoreConfig
FXRates Store Store configuration for FX rates that is not used any more t mr-common-config FxRateStoreConfig

Database

Added tables

Table Details
CORRELATION_MARKET_DATA Market data related to the correlation between risk factors
CUBE_MARKET_DATA Market data defined along three axes (tenors, moneyness and underlying maturities).
CURVE_MARKET_DATA Market data defined along a tenor axis.
DIVIDEND_MARKET_DATA Market data related to dividends.
FX_RATE_MARKET_DATA FX rates.
SPLIT_RATIO_MARKET_DATA Market data related to stock splits.
SPOT_MARKET_DATA Spot price market data.
SURFACE_MARKET_DATA Market data defined along two axes (tenors and moneyness).

Cube schema

The Market Data Cube has been deleted.

Measures

Added

Cube Measure Details
Sensitivity Cube Split Ratio 2 Current Split of the secondary underlying instrument as of current date
Sensitivity Cube Split Ratio 2 Previous Split of the secondary underlying instrument as of previous date

Removed

The following debug market data measures found in the mr-sensi-config module were removed:

Measure removed File location
Current Market Data Native Intermediate Int Debug CorrelationCurrentDateMarketDataChain.java, DeltaCurrentDateMarketDataChain.java, GammaCurrentDateMarketDataChain.java, VannaCurrentDateMarketDataChain.java, VegaCurrentDateMarketDataChain.java, VolgaCurrentDateMarketDataChain.java
Current Market Data 2 Native Intermediate Int Debug CorrelationCurrentDateMarketDataChain.java, VannaCurrentDateMarketDataChain.java
Current Market Data Native Intermediate Filtered Int Debug CorrelationCurrentDateMarketDataChain.java, DeltaCurrentDateMarketDataChain.java, GammaCurrentDateMarketDataChain.java, VannaCurrentDateMarketDataChain.java, VegaCurrentDateMarketDataChain.java, VolgaCurrentDateMarketDataChain.java
Current Market Data 2 Native Intermediate Filtered Int Debug CorrelationCurrentDateMarketDataChain.java, VannaCurrentDateMarketDataChain.java
Current Market Data Native Expand Intermediate Int Debug CorrelationCurrentDateMarketDataChain.java, DeltaCurrentDateMarketDataChain.java, GammaCurrentDateMarketDataChain.java, VannaCurrentDateMarketDataChain.java, VegaCurrentDateMarketDataChain.java, VolgaCurrentDateMarketDataChain.java
Current Market Data 2 Native Expand Intermediate Int Debug CorrelationCurrentDateMarketDataChain.java, VannaCurrentDateMarketDataChain.java
Current Market Native Debug CorrelationCurrentDateMarketDataChain.java, DeltaCurrentDateMarketDataChain.java, GammaCurrentDateMarketDataChain.java, VannaCurrentDateMarketDataChain.java, VegaCurrentDateMarketDataChain.java, VolgaCurrentDateMarketDataChain.java
Current Market Native 2 Debug CorrelationCurrentDateMarketDataChain.java, VannaCurrentDateMarketDataChain.java
Previous Market Native Debug CorrelationPreviousDateMarketDataChain.java, DeltaPreviousDateMarketDataChain.java, GammaPreviousDateMarketDataChain.java, VannaPreviousDateMarketDataChain.java, VegaPreviousDateMarketDataChain.java, VolgaPreviousDateMarketDataChain.java
Previous Market Native 2 Debug CorrelationPreviousDateMarketDataChain.java, VannaPreviousDateMarketDataChain.java

For additional changes related to this, see Removal of debug market data measures.

Context values

Removed

Name Details
EnableMDStringDebug The context value was removed as part of removing the Debug measures.

Modules removed

The modules mr-market-data-lib and mr-market-data-config have been removed. They were used for the configuration of the Market Data Cube.

Other changes

Maven dependencies

The following test dependency has been added to the mr-sensi-lib module:

    <dependency>
        <groupId>com.activeviam.apps</groupId>
        <artifactId>market-data-api</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
    </dependency>

IMaturityConverterAware class

The com.activeviam.accelerator.common.dates.IMaturityConverter interface has been removed from the module mr-common-lib and has been replaced by the interface com.activeviam.accelerator.common.dates.IMaturityConverter.

Theta: methods renamed

In the class ThetaCopper, the following methods have been renamed:

New method name Old method name
vectorTimeToMaturity marketDataPostProcessor
scalarTimeToMaturity scalarMarketDataPostProcessor

Market Data retriever names

The market data retriever names have been renamed as follows in the *MarketDataRetrievalConfig configuration classes:

Configuration class New value of constant RETRIEVER_NAME Old value of constant RETRIEVER_NAME
SpotMarketDataRetrievalConfig (previously InstrumentMarketDataRetrievalConfig) SPOT_MARKET_DATA_RETRIEVER DEFAULT_DATE_SHIFTING_INSTRUMENT_RETRIEVER
SpotMarketDataRetrievalConfig CURVE_MARKET_DATA_RETRIEVER DEFAULT_DATE_SHIFTING_CURVE_RETRIEVER
SpotMarketDataRetrievalConfig SURFACE_MARKET_DATA_RETRIEVER DEFAULT_DATE_SHIFTING_SURFACE_RETRIEVER
SpotMarketDataRetrievalConfig CUBE_MARKET_DATA_RETRIEVER DEFAULT_DATE_SHIFTING_CUBE_RETRIEVER