Updates since 6.0 pre-releases

This page lists the changes between pre-releases and explains any changes required to migrate from these early releases to the stated version of Atoti Market Risk:

Changelogs:

Migration notes:

Changes since 6.0.0-beta

Added

Issue Key Details
MR-1956 The Atoti Limits auto-configuration dependency has been added to the mr-application pom.xml to make it easier for projects using the two products together. To include the dependency, run Maven with the limits profile, i.e. mvn <command> -P limits.
MR-2101 The Scenario Set default filter is now configurable.

Changed

Issue Key Details
MR-1766 Sensitivity input files in reference data now use scalar format and this is referred to in the documentation.
MR-1953 The APM dependency atoti-server-apm-starter has been added to mr-application/pom.xml and replaces the dependency apm in market-risk\pom.xml.
MR-1977 Added support for loading data from Azure. This necessitated a change in the application properties. Instead of one dlc Spring profile there are now two profiles: dlc-local-csv (default) and dlc-azure-csv.
MR-2050 Updates to supported adjustments to improve UI interactions.
MR-2059 Upgraded Sign-Off API and Adjustments Services versions, to provide compatibility with Sign-Off 6.0.
MR-2086 Scenario Index is now used as a measure instead of a hierarchy.
MR-2089 Removed *_adjusted measures for cube-level adjustments and modified configuration of initial measures if sign-off features are enabled.
MR-2092 The functionality previously provided by Doctor Pivot is now available through Atoti Admin UI in the Measure dependencies tab. The Doctor Pivot app no longer exists.
MR-2124 Update to the full released version of Data Connectors 5.0.
MR-2089 Removed *_adjusted measures for cube-level adjustments and modified configuration of initial measures if sign-off features are enabled.
MR-2129 Reusable column calculators are now published as beans that can be used in DLC properties.
MR-2136 Use a GetByKey query instead of a ListQuery to retrieve cube-level adjustments

Removed

Issue Key Details
MR-2140 Removed the jwt.properties and reporting.properties files. The properties from jwt.properties are now in the main application.yaml file.

Fixed

Issue Key Details
MR-2024 Data Connectors 5.0: The What-If file upload service FileUploadWhatIfRestfulService is now correctly handled by Data Connectors.
MR-2037 Regex file patterns are again supported for data loading.
MR-2103 Updated store field types to prevent a DLC log message at startup referring to multiple parser keys.
MR-2110 Removed final modifier on methods in VaRMetricParametersAndNames allowing extensions of the class to change the naming for any measure.
MR-2123 Added runtime dependency required by DEE.
MR-2125 Resolved startup failures that occur when setting dlc.enabled=false. Specifically, the InitialDataLoadConfig now requires this property set to true.
MR-2139 Rewrote filtering of DrillUpBasedOnUnderlying to correctly process slicing hierarchies.
MR-2147 For Correlation sensitivities, PnL Explain formula configuration was taken into account instead of Taylor VaR.

Fixed issues introduced in 6.0.0-beta

Issue Key Details
MR-2098 Tuple publishers used for loading summary data into the main cubes no longer define their own file format, simplifying customization using the new DLC APIs.

Migrate to 6.0.0

Upgrading from version 6.0.0-beta, see Atoti Market Risk 6.0 Release Notes.

Atoti Market Risk uses Atoti Server 6.1.5 and Atoti UI 5.2.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

  • Removed datastore constant : DatastoreConstants.STORE_DATE_FIELD_FORMAT has been removed. ILiteralType.LOCAL_DATE should be used instead.
  • TRADE_KEY for PNL table: The value of the TRADE_KEY column of the PNL table for summary data is now the concatenation of “Book#VaR Inclusion#PLDriver” to avoid collision on the PLDriver field.
  • Data Connectors 5.0.1: Update to the full released version of Data Connectors 5.0.1 This version has some breaking changes from the milestone version previously released. For details on the changes between the milestone and the final release, see Migrate from 5.0.0-M2 to 5.0.0.
  • DLC supports UNLOAD command: The DLC supports now the UNLOAD command. On the same time a cleanup has been done on the related Spring configuration files to provide a clearer architecture.
  • Removed file format details from tuple publisher: The MultipleStoreTuplePublisher no longer contains methods related to file columns and column calculators.
  • Cube-level adjustments: Measures with the suffix _Adjusted have been removed. The configuration of the initial measures for which cube-level adjustments are now modified to take into account the add-on values, and new measures with the suffix Add-on have been created to display those add-on values. For details, see Cube-level adjustments.
  • Removed properties files : jwt.properties has been removed. The properties from this file have been moved to the main application.yaml file. reporting.properties has been removed. These properties were used for a feature that is no longer present in the application. Both files were previously imported in MarketRiskConfig with an @PropertySource annotation. This too has been removed.

Summary

  • Re-enable Azure loading : Loading data from Azure Blob Storage is now supported again having migrated to DLC 5.0.
  • DoctorPivot: The functionality previously provided by DoctorPivot is now available through Atoti Admin UI in the Measure dependencies tab. The DoctorPivot app no longer exists.
  • Regex file patterns : Regex file patterns are again supported for data loading.

Data Connectors cleanup

Since the 6.0.0-Beta version, more Spring configuration files have been changed.

Click to see the list of removed classes since 6.0.0-Beta.

Certain Spring Configuration and classes have been renamed to follow a common naming pattern:

Click to see the full list of renamed classes.

The topics are defined for csv file upload and unload queries in the following spring configuration regrouped in the *.topics packages:

Click to see the full list of new classes.

In addition:

  • The DLC aliases are now defined in the main application.yaml configuration file. The application-dlc.yaml file is removed.
  • The file VaRSummaryCsvSourceConfig from the module mr-var-config is back.
  • The following column calculators are published as beans, allowing them to be used in DLC properties. They can also be wired into other Spring beans by matching the bean name.
Calculator Details Bean name
TradeKey Fills in the TradeKey column with the contents of the TradeId column. tradeKeyFromTradeIdColumnCalculator
TradeKeyFromBookVarInclusionAndCurrency Fills in the TradeKey column with the contents of the Book, VaR inclusion type and Ccy columns. tradeKeyFromBookColumnCalculator
Ladder Concatenates the two sensitivity ladder columns (Ladder1 and Ladder2) in pre-5.1 file formats into a single Ladder column. ladderFieldMergerColumnCalculator

Input file formats

Modified

Modification File Field Optional Description
Changed field type cubeAdjustments.csv Value No Changed type from String to Double.
Changed field type cubeAdjustments.csv TaskId No Not a key field anymore.

Configuration

Configuration Properties

Properties added

mr-application module:

Property Default value Description
mr.whatif.file-upload.data.upload-source local-csv-source The local scv source used to perform the file upload. For security reason, the uploaded files must be inside the root-base-dir folder of the source.

mr-common-config module:

Property Default value Description
mr.data-load.initial-load-source If set, the specified source will be used during the initial load.
mr.var.scenario-sets Historical, Stressed Defines the [Risk][Scenario Sets] hierarchy default value and the member order.
Properties modified

mr-application module:

Property Name Comment New Value Old Value
mr.whatif.file-upload.data.whatif Default value changed to be on line with the FRTB solution. what-if whatif

mr-common-config module:

Property Name Comment New Value Old Value
mr.sparse-vectors.enable-for-sensi-stores Updated the default value from [TradeSensitivities:Values, TradeSensitivities:Ladder] to TradeSensitivities:Ladder as the value field of the TradeSensitivities store is now a scalar value rather than a vector. 6.0 5.1
mr.common.file-patterns.market-data Reverted to a regex pattern now that this is once again supported regex:(?=.*MarketData)(?:(?!Sets).)+.csv glob:*MarketData.csv

mr-sensi-config:

Property Name Comment New Value Old Value
mr.sensi.file-patterns.gamma Reverted to a regex pattern now that this is once again supported regex:(?i).Gamma(?<!CrossGamma)Sensitivities.\.csv.* glob:*GammaSensitivities.csv
Properties removed

mr-application module:

Property Name Comment
mr.whatif.file-upload.data.input The input directory is defined by the root-base-dir property of the upload-source source.

mr-sensi-config:

Property name Comment
mr.sensi.file-patterns.corporate-action Coporate action is divided in Dividend and Split ratio, the unified file is no longer supported.
mr.sensi.file-patterns.gamma Reverted to a regex pattern now that this is once again supported

Properties files

Files Added
File Name Details
application-dlc-azure-csv.yaml This file provides a default set of properties to configure a local CSV source with DLC.
application-dlc-local-csv.yaml This file provides a default set of properties to configure an Azure source with DLC.
Files Deleted
  • azureCredentials.properties has been replaced by the application-dlc-azure-csv.yaml profile.
  • application-dlc.yaml has been replaced by the application-dlc-local-csv.yaml and application-dlc-azure-csv.yaml profiles.
  • jwt.properties has been removed and the properties from this file are now in the main application.yaml
  • reporting.properties has been removed. These properties were used for a feature that is no longer present in the application.
  • apm.properties has been removed. This file is currently not used in the application.

Datastores

Modified stores

Modification Store Field Type Description
Changed field type CubeLevelAdjustments Value String -> Double This field contains the adjusted value which should be a double in all cases.
Changed field configuration CubeLevelAdjustments TaskId. Not a key field anymore String The name of the task for which the adjustment was created.

Database

Modified tables

Modification Table Field Type Description
Changed field type CUBE_LEVEL_ADJUSTMENTS Value String -> Double This field contains the adjusted value which should be a double in all cases.
Changed field configuration CUBE_LEVEL_ADJUSTMENTS TaskId. Not a key field anymore String The name of the task for which the adjustment was created.
Changed value PNL TRADE_KEY String The value is now the concatenation of “Book#VaR Inclusion#PLDriver” to avoid collision on the PLDriver field.

Cube schema

Removed

Cube Dimension Hierarchy Levels
VaR-ES Cube Risk ScenarioIndex [All, ScenarioIndex]
Sensitivity Cube Risk ScenarioIndex [All, ScenarioIndex]

Measures

Added

Cube Measure Details
PLCube DTD PnL Add-on Measure present only if sign-off features are enabled. Manual add-ons for DTD PnL for cube-level adjustments (if any).
PLCube PnL Notional The notional of the trade, in the PLCube.
PLCube PnL Notional Native The notional of the trade, in the native currency, in the PLCube.
PLCube PnL Original Notional The notional at trade date, in the PLCube. If the trade is amended or partially terminated, the changed value will be sent to Notional.
PLCube PnL Original Notional Native The notional at trade date, in the native currency, in the PLCube.
Sensitivity Cube __ScenarioIndex_Sensi Hidden measure replacing the deleted [Risk].[ScenarioIndex] hierarchy. This measure is also defined within a bean with the qualifier SCENARIO_VECTOR_INDEX_SENSI.
Sensitivity Cube Delta Add-on Measure present only if sign-off features are enabled. Manual add-ons for Delta for cube-level adjustments (if any).
Sensitivity Cube Gamma Add-on Measure present only if sign-off features are enabled. Manual add-ons for Gamma for cube-level adjustments (if any).
Sensitivity Cube PnL Explain Add-on Measure present only if sign-off features are enabled. Manual add-ons for PnL Explain for cube-level adjustments (if any).
Sensitivity Cube Vega Add-on Measure present only if sign-off features are enabled. Manual add-ons for Vega for cube-level adjustments (if any).
Sensitivity Cube Sensitivity Notional The notional of the trade, in the Sensitivity cube. If the trade is amended or partially terminated, the changed value will be sent to Notional.
Sensitivity Cube Sensitivity Notional Native The notional of the trade, in the native currency, in the Sensitivity cube.
Sensitivity Cube Sensitivity Original Notional The notional at trade date, in the Sensitivity cube. If the trade is amended or partially terminated, the changed value will be sent to Notional.
Sensitivity Cube Sensitivity Original Notional Native The notional at trade date, in the native currency, in the Sensitivity cube.
VaR-ES Cube __ScenarioIndex_VaR Hidden measure replacing the deleted [Risk].[ScenarioIndex] hierarchy. This measure is also defined within a bean with the qualifier SCENARIO_VECTOR_INDEX_VAR.
VaR-ES Cube ES Add-on Measure present only if sign-off features are enabled. Manual add-ons for ES for cube-level adjustments (if any).
VaR-ES Cube ETG Add-on Measure present only if sign-off features are enabled. Manual add-ons for ETG for cube-level adjustments (if any).
VaR-ES Cube VaE Add-on Measure present only if sign-off features are enabled. Manual add-ons for VaE for cube-level adjustments (if any).
VaR-ES Cube VaR Add-on Measure present only if sign-off features are enabled. Manual add-ons for VaR for cube-level adjustments (if any).

Modified

Cube Measure Details
PLCube DTD PnL Measure modified only if sign-off features are enabled. Manual add-ons for cube-level adjustments are added to DTD PnL value (if any).
Sensitivity Cube Delta Measure modified only if sign-off features are enabled. Manual add-ons for cube-level adjustments are added to Delta value (if any).
Sensitivity Cube Gamma Measure modified only if sign-off features are enabled. Manual add-ons for cube-level adjustments are added to Gamma value (if any).
Sensitivity Cube PnL Explain Measure modified only if sign-off features are enabled. Manual add-ons for cube-level adjustments are added to PnL Explain value (if any).
Sensitivity Cube Vega Measure modified only if sign-off features are enabled. Manual add-ons for cube-level adjustments are added to Vega value (if any).
VaR-ES Cube ES Measure modified only if sign-off features are enabled. Manual add-ons for cube-level adjustments are added to ES value (if any).
VaR-ES Cube ETG Measure modified only if sign-off features are enabled. Manual add-ons for cube-level adjustments are added to ETG value (if any).
VaR-ES Cube VaE Measure modified only if sign-off features are enabled. Manual add-ons for cube-level adjustments are added to VaE value (if any).
VaR-ES Cube VaR Measure modified only if sign-off features are enabled. Manual add-ons for cube-level adjustments are added to VaR value (if any).

Removed

Cube Measure Details
PLCube DTD PnL_Adjusted Manual add-ons for cube-level adjustments are now added directly to DTD PnL value (if any).
Sensitivity Cube Delta_Adjusted Manual add-ons for cube-level adjustments are now added directly to Delta value (if any).
Sensitivity Cube Gamma_Adjusted Manual add-ons for cube-level adjustments are now added directly to Gamma value (if any).
Sensitivity Cube PnL Explain_Adjusted Manual add-ons for cube-level adjustments are now added directly to PnL Explain value (if any).
Sensitivity Cube Vega_Adjusted Manual add-ons for cube-level adjustments are now added directly to Vega value (if any).
VaR-ES Cube ES_Adjusted Manual add-ons for cube-level adjustments are now added directly to ES value (if any).
VaR-ES Cube VaR_Adjusted Manual add-ons for cube-level adjustments are now added directly to VaR value (if any).

Other changes

Changes since 6.0.0-M2

Added

Issue Key Details
MR-1993 Adds a new caching mechanism to improve the performance of market data retrievals in DirectQuery.
MR-2045 Base stores and aggregate providers are now partitioned by AsOfDate. Properties have been added to configure the partitioning.

Changed

Issue Key Details
MR-2099 Dashboards have been migrated to use Atoti UI’s Investigation feature instead of the story-telling feature, which has been decommissioned.
MR-2127 Update to Atoti 6.1.5 to pick up bug fixes.
MR-2132 Update to Data Connectors 5.0.1 to pick up bug fixes.

Fixed

Issue Key Details
MR-2039 Fixed post-processors failing with horizontal distribution.
MR-2048 Differential measures didn’t work with non-fact VaR.
MR-2049 Liquidity Horizon: VaR was missing on the non-fact locations, such as multi-jurisdiction FX leg.
MR-2077 Risk class measures are now correctly created when the mr.risk.risk-class-members property is used.
MR-2079 Measures related to a fixed confidence level are now put in the folders related to fixed confidence levels
MR-2083 The trailing white space incorrectly added to measure names when an empty string is used for the suffix has been removed
MR-2087 During the initial data load (within the InitialDataLoadConfig class), market data is now loaded for all available dates, without taking the DLC scope into account. This allows date-shifted market data measures to be queried in a horizontal distribution context.
MR-2130 Ensure that all default load and unload topics can be overridden with configuration properties.

Fixed issues introduced in 6.0.0-M2

Issue Key Details
MR-2078 Measures for which the folder configuration was incorrectly removed in version 6.0.0-M1 have been placed back into correct folders, and measures incorrectly made visible are now hidden.
MR-2080 Fixed bug preventing the creation of What-if configuration due to clashes with other beans of the same generic functional type.
MR-2082 Removed references of Liquidity Horizon from SummaryVarPublisher and VaR Summary export files following the fields move to the Scenario store.
MR-2134 SplitRatioMarketData, CorrelationMarketData, and DividendMarketData stores are no longer part of the migrated DirectQuery schema if sensitivity cubes are disabled.
MR-2135 BookParentChild, CounterpartyParentChild, and LegalEntityParentChild stores are no longer part of the migrated DirectQuery schema.

Migrate to 6.0.0-BETA

Upgrading from version 6.0.0-M2, see Atoti Market Risk 6.0.0-BETA Release Notes.

Atoti Market Risk uses Atoti Server 6.1.4 and Atoti UI 5.2.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

  • Introduced aliases for Suppliers in What-if configuration : What-if configuration beans that were previously Supplier are now provided with specific aliases (AddressSupplier for Supplier<Set<String>> and AuthenticatorSupplier for Supplier<AAuthenticator>. Custom beans created with the Supplier types will need to be updated to use the new aliases.
  • Updated MarketRiskConfig imports : CorporateActionMarketDataRetrievalConfig, DividendMarketDataRetrievalConfig, and CorrelationMarketDataRetrievalConfig are no longer imported in MarketRiskConfig. They are instead imported in SensiCompleteConfig and SensiSummaryConfig.

Summary

  • New DirectQuery Cache : This release includes a new DirectQuery caching mechanism that pulls slices of market data into memory when required to improve the performance of market data retrievals. This is a preview feature, disabled by default. See 6.0 Migration Notes for details.
  • Measure folders: Measures related to a fixed confidence level are now placed in the folders related to fixed confidence levels.
  • Data node market data: During the initial data load (within the InitialDataLoadConfig class), market data is now loaded for all available dates, without taking the DLC scope into account.
  • Removed Atoti Server patches: Removed the Atoti Server patches added for bugs present in Atoti Server 6.1.2.
  • Base stores and aggregate providers are now partitioned by AsOfDate: Added the new String property mr.partitioning.as-of-date.partition-type to configure the type of partitioning used for the field AsOfDate and the Integer property mr.partitioning.as-of-date.number-of-partitions to configure the number of partitions for the field AsOfDate when modulo partitioning is used. AsOfDate uses value partitioning by default.
  • Updated dashboards: Dashboards have been migrated to use Atoti UI’s Investigation feature instead of the story-telling feature, which has been decommissioned. For details, see Updated dashboards. For more information on the Investigation feature, see Investigations.

Configuration

Configuration properties

Properties added

mr-common-config module:

Property Default value Description
mr.enable.preview.directquery-cache false Set to true to enable a new DirectQuery cache that is available for preview. This caches slices of standalone tables in memory to improve the performance of getByKeyQueries. The number of slices held at any one time can be configured to optimize memory usage. Currently, this is only available for market data stores.
directquery.cache.max-slice-count The maximum number of table slices that will be cached in memory for a DirectQuery application. This is a map of table name (from the internal Atoti schema rather than the database) to number of slices.
directquery.cache.max-slice-count-default 5 The maximum number of table slices that will be cached in memory for a DirectQuery application. This default is used for any tables not explicitly mentioned in the directquery.cache.max-slice-count property.
mr.partitioning.as-of-date.partition-type value Used to configure the type of partitioning used on the field AsOfDate for base stores and aggregate providers. Set this property to modulo if modulo partitioning should be used.
mr.partitioning.as-of-date.number-of-partitions 0 Used to configure the number of partitions on the field AsOfDate for base stores and aggregate providers when mr.partitioning.as-of-date.partition-type equals modulo. This property is ignored when mr.partitioning.as-of-date.partition-type equals value.
Properties modified

mr-sensi-config module:

Property Name Comment New Value Old Value
mr.sign-off.sensi.sensi-cube-adjustments.adjustable-measures Updated the default value to add the PnL Explain measure. [Delta, Gamma, Vega, PnL Explain] [Delta, Gamma, Vega]

Measures

Confidence level-specific measures can now be found in the correct folders corresponding to the associated confidence level. The default implementation of methods in the interface IFixedConfidenceMeasures has been changed accordingly.

Other changes

Supported adjustments definitions

  • The Instrument Type level has been added to the SupportedAdjustmentDTO SupportedAdjustmentsPnLConfig.pnlCubeLevelAdjustment() and SupportedAdjustmentDTO SupportedAdjustmentsSensiConfig.sensiCubeLevelAdjustment().

See the Atoti Market Risk 6.0 Migration notes for details on:

Changes since 6.0.0-M1

Added

Issue Key Details
MR-1859 Added new trade attributes Trade Source, Trade Status, and Original Notional.
MR-2025 Added the optional attribute LegId and the hierarchy Legs to the PLCube. Only available when the property mr.pnl.enable.leg-id is set to true.
MR-2051 Added feature to enable/disable Sign-Off REST services. This prevents the Sign-Off server from sending successful REST requests before the end of the initial load.

Changed

Issue Key Details
MR-1861 Schema rebuilds now occur once a day, as opposed to every 30 minutes. This is now configurable with new properties (mr.application.rebuild...).
MR-1946 Data Connectors 5.0: Designed simplified source configuration.
MR-1973 When computing FX risk, the risk factor will no longer be considered half of a currency pair if it cannot be parsed as a full XXX/YYY pair. Cash sensitivities have been removed.
MR-1981 Data Connectors 5.0: Decoupled source configuration from CSV source.
MR-1982 SupportedAdjustment and AdjustmentExecution config classes have moved from mr-pnl/sensi/var-config modules to mr-application to make it easier to disable specific adjustments.
MR-1989 The LiquidityHorizon field has been moved from the TradePnL table to the Scenarios table. This way the Liquidity Horizon parameter is taken into account when computing VaR/Es metrics.
MR-1992 Atoti Market Data dependencies have the provided scope within Atoti Market Risk libraries. This allows projects to use their own compatible version of Atoti Market Data.
MR-2001 Improved the configuration of market data file formats with sensible defaults and explicit backwards compatibility options.
MR-2008 Changed the logic for cube-level adjustments.
MR-2018 Data Connectors 5.0: Removed service classes no longer needed.
MR-2019 Data Connectors 5.0: Created channel beans.
MR-2020 Data Connectors 5.0: Fixed column calculators.
MR-2021 Data Connectors 5.0: Fixed tuple publishers.
MR-2023 Data Connectors 5.0: Checked Initial Load sequence.
MR-2028 Upgraded to the latest version of What-if.
MR-2030 Data Connectors 5.0: Created aliases configuration.

Removed

Issue Key Details
MR-1990 Removed the attributes RiskFactor, RiskFactorType,RiskFactorCcy, CurveType, RiskClass and Qualifier from PnL stores, cubes and input files.

Fixed

Issue Key Details
MR-2047 Taylor measures have moved from the folders Value at Risk/Earnings to Value At Risk/Earnings to match measures from the VaR-ES cube and ensure a consistent folder structure in the MR Combined Cube.

Migrate to 6.0.0-M2

Upgrading from version 6.0.0-M1, see Atoti Market Risk 6.0.0-M2 Release Notes.

Atoti Market Risk uses Atoti Server 6.1.2 and Atoti UI 5.2.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

See the Atoti Market Risk 6.0 Migration notes for details on:

  • Atoti Market Data dependencies: The way Atoti Market Risk specifies the Atoti Market Data dependency has changed. For the full details, see Migration to Atoti Market Data.
  • Measure chain changes related to Atoti Market Data: FX conversions and market data retrieval are now done through Atoti Market Data APIs, leading to several measure chain changes.
  • Rebuild schedule change: Previously the Atoti schemas would be rebuilt every 30 minutes. This has now changed to once a day, and we have added properties to configure this for your requirements.
  • Removed risk factor FX pair fallback logic: Removed logic that would default to using the risk factor as a base currency and the display currency as a counter currency when the risk factor did not contain a currency pair in the XXX/YYY format.
  • Removed Cash sensitivities: Cash sensitivities were dependent on risk factor FX pair fallback logic and have therefore been removed.
  • Adjustment Config classes moved: SupportedAdjustment and AdjustmentExecution config classes have moved from mr-pnl/sensi/var-config modules to mr-application to make it easier to disable specific adjustments.
  • Cube-level adjustments: The implementation of cube-level adjustments has been changed: now only add-ons are supported for cube-level adjustments, and the add-ons are aggregated. For details, see Cube-level adjustments.
  • Data Connectors 5.0: This version of Atoti Market Risk uses Atoti Data Connectors 5.0.0, which has a completely reworked API.
  • Removal of obsolete DispatcherServlet configuration classes: Removed a configuration class and two utility classes setting up a DispatcherServletRegistrationBean as a workaround to Spring Boot incompatibilities in previous versions of Atoti Server.
  • Market data set changes: MarketDataSet is now a field on all base stores ensuring each fact is specifically associated to a set.
  • Liquidity Horizon: The parameter has moved to the Scenario table. See VaRTimePeriod context value for the behavior of the field.
  • Removed fields from PnL Actual tables: The attributes RiskFactor, RiskFactorType,RiskFactorCcy, CurveType, RiskClass and Qualifier have been removed from the stores PnL and PnLBaseStore and the cubes PLCube and PL Summary cube.

Summary

See the Atoti Market Risk 6.0 Migration notes for details on:

  • Market data file format configuration clean-up: Market data file formats now default to the Atoti Market Data 1.1.0 market data files, no longer requiring explicit file naming patterns to be declared. Backwards compatibility has been maintained by matching the configured file naming pattern to the deprecated file formats. For details, see Market data API data loading.
  • Measure chain changes related to Atoti Market Data: FX conversions and market data retrieval are now done through Atoti Market Data APIs, leading to several measure chain changes.
  • Data Connectors 5.0: This version of Atoti Market Risk uses Atoti Data Connectors 5.0.0, which has a completely reworked API. For details, see Data Connectors upgrade.
  • Removal of obsolete DispatcherServlet configuration classes: Removed a configuration class and two utility classes setting up a DispatcherServletRegistrationBean as a workaround to Spring Boot incompatibilities in previous versions of Atoti Server. For details, see DispatcherServlet configuration removal.
  • Removed fields from PnL Actual tables: The attributes RiskFactor, RiskFactorType,RiskFactorCcy, CurveType, RiskClass and Qualifier have been removed from the stores PnL and PnLBaseStore and the cubes PLCube and PL Summary cube. The input files PLCube.csv, PLActuals.csv, PLPCActuals.csv and SummaryPL.csv have been modified accordingly to remove the attributes. RiskFactor was a primary key. Please amend your input files accordingly to avoid primary key collisions.
  • Liquidity Horizon: The Liquidity Horizon parameter is now taken into account when computing VaR/Es metrics. To achieve this, the parameter has been moved to the Scenario table.

Input file formats

Modified

Modification File Field Optional Description
Added field PLActuals.csv LegId Yes Leg Ids under a single Trade Id to enable sending in trades with multiple legs. Only available when the property mr.pnl.enable.leg-id is set to true
Added field PLPCActuals.csv LegId Yes Leg Ids under a single Trade Id to enable sending in trades with multiple legs. Only available when the property mr.pnl.enable.leg-id is set to true.
Added field TradeAttributes.csv TradeSource No Identifier of the source system the trade was executed in.
Added field TradeAttributes.csv TradeStatus No Status representing the step in the trade lifecycle.
Added field TradeAttributes.csv OriginalNotional No Represents the notional at trade date.
Added field VaR-ES Cube.csv TradeSource No Identifier of the source system the trade was executed in.
Added field VaR-ES Cube.csv TradeStatus No Status representing the step in the trade lifecycle.
Added field Sensitivity Cube.csv TradeSource No Identifier of the source system the trade was executed in.
Added field Sensitivity Cube.csv TradeStatus No Status representing the step in the trade lifecycle.
Added field PLCube.csv TradeSource No Identifier of the source system the trade was executed in.
Added field PLCube.csv TradeStatus No Status representing the step in the trade lifecycle.
Added field Scenarios.csv Liquidity Horizon Yes The liquidity horizon corresponding to the depicted scenario. It has been moved from the main VaR-ES store.
Removed field SummaryVaR.csv Liquidity Horizon Yes The liquidity horizon has moved to the Scenarios file.
Removed field TradePnL.csv Liquidity Horizon Yes The liquidity horizon has moved to the Scenarios file.
Removed field VaR-ESCube.csv Liquidity Horizon Yes The liquidity horizon has moved to the Scenarios file.
Removed field cubeAdjustments.csv Digest The location digest is no longer used for cube-level adjustments.
Changed meaning of field cubeAdjustments.csv Id No The value of this field is now equal to the value of the adjustment source field in the base store, and not to the adjustment execution ID, like before.
Removed field PLActuals.csv RiskFactor No This field is no longer required.
Removed field PLActuals.csv RiskClass No This field is no longer required.
Removed field PLCube.csv RiskFactor No This field is no longer required.
Removed field PLCube.csv RiskFactorType No This field is no longer required.
Removed field PLCube.csv RiskFactorCcy No This field is no longer required.
Removed field PLCube.csv CurveType No This field is no longer required.
Removed field PLCube.csv Qualifier No This field is no longer required.
Removed field PLCube.csv RiskClass No This field is no longer required.
Removed field PLPCActuals.csv RiskFactorId No This field is no longer required.
Removed field PLPCActuals.csv RiskClass No This field is no longer required.
Removed field Summary PL.csv RiskFactor No This field is no longer required.
Removed field Summary PL.csv RiskClass No This field is no longer required.

Configuration

Configuration properties

Properties added

mr-application module:

Property Default value Description
mr.application.rebuild.initial-delay 1440 The delay (in minutes) between the application start up and the first rebuild of the Atoti schemas.
mr.application.rebuild.interval 1440 After the first rebuild of the Atoti schemas (determined by the initial-delay), this is the interval (in minutes) between ensuing rebuilds.

mr-common-config module:

Property Default value Description
mr.cubes.levels.liquidity-horizon-level Liquidity Horizon@Liquidity Horizons@Risk The level that contains the liquidity horizon related to the current scenario.

mr-pnl-config module:

Property Default value Description
mr.pnl.enable.leg-id false When true, this adds the hierarchy Legs with the level LegId to the Booking dimension. LegId is an optional field, which can be added to the PLActuals.csv and PLPCActuals.csv input files.
Properties modified

mr-common-config module:

Property Name Comment New Value Old Value
mr.common.file-patterns.spot-market-data Added a default value to this pattern, matching the value previously defined in application.yaml. Setting the pattern to regex:^(?=.*MarketData)(?:(?!Sets).)+.csv$ enables backwards-compatible data loading. glob:**Spot_Market_Data*.csv None.
mr.common.file-patterns.curve-market-data Added a default value to this pattern, matching the value previously defined in application.yaml. Setting the pattern to regex:^(?=.*MarketData)(?:(?!Sets).)+.csv$ enables backwards-compatible data loading. glob:**Curve_Market_Data*.csv None.
mr.common.file-patterns.fx-rate-market-data Added a default value to this pattern, matching the value previously defined in application.yaml. Setting the pattern to glob:**FXRates*.csv enables backwards-compatible data loading. glob:**FX_Rate_Market_Data*.csv None.
mr.common.file-patterns.surface-market-data Added a default value to this pattern, matching the value previously defined in application.yaml. Setting the pattern to regex:^(?=.*MarketData)(?:(?!Sets).)+.csv$ enables backwards-compatible data loading. glob:**Surface_Market_Data*.csv None.
mr.common.file-patterns.cube-market-data Added a default value to this pattern, matching the value previously defined in application.yaml. Setting the pattern to regex:^(?=.*MarketData)(?:(?!Sets).)+.csv$ enables backwards-compatible data loading. glob:**Cube_Market_Data*.csv None.
mr.data-load.format Updated the default value to the the current release. 6.0 5.1

Market data properties (e.g. mr.sensi.market-data.vega.any.custom.interest-rate-risk.market-data-type=cube) have been updated to reject incorrect (or unsupported) configuration:

market-data-type interpolate interpolation-mode Details
Spot Hardcoded to false. None. Single value spot prices cannot be interpolated.
FX Spot Hardcoded to false. None. Single value FX rates cannot be interpolated.
Split Ratio N/A. N/A. No properties are available for the Split Ratio measures.
Cube Hardcoded to false. None. Mathematically possible, but unsupported by our API.
Correlation Hardcoded to false. None. A correlation value cannot be interpolated.
Dividend Hardcoded to false. None. Dividend amounts cannot be interpolated.
Theta N/A. N/A. As a function of the time to maturity, Theta cannot be interpolated.

mr-pnl-config module:

Property Name Comment New Value Old Value
mr.sign-off.pnl.pnl-cube-adjustments.hierarchies-to-exclude Default value changed. Date@Dates,Sign-off Status@Sign-off,DayToDay@Dates Date@Dates,Sign-off Status@Sign-off,Types@PnL,DayToDay@Dates

mr-sensi-config module:

Property Name Comment New Value Old Value
mr.sensi.file-patterns.market-data Updated the default pattern to correctly pick up MarketData.csv but not MarketDataSets.csv. regex:^(?=.*MarketData)(?:(?!Sets).)+.csv$ regex:^(?i).*MarketData(?<!MarketDataSets).*.csv.*$

mr-var-config module:

Property Name Comment New Value Old Value
mr.sign-off.var.var-cube-adjustments.hierarchies-to-exclude Default value changed. Date@Dates,Quantiles@Quantiles,RoundingMethods@Rounding,Sign-off Status@Sign-off,MarketShiftDate@Dates,displayCurrency@Currencies,DayToDay@Dates Date@Dates,Quantiles@Quantiles,RoundingMethods@Rounding,Scenario Sets@Risk,Sign-off Status@Sign-off,CalculationIds@Risk,MarketShiftDate@Dates,displayCurrency@Currencies,DayToDay@Dates
Properties removed

mr-common-config

Property Name Comment
mr.sensi.rules.cash All properties in this section have been removed as Cash sensitivities are no longer supported by Atoti Market Risk.
mr.sensi.market-data.cash All properties in this section have been removed as Cash sensitivities are no longer supported by Atoti Market Risk.
mr.data-load.csv.buffer-size Replaced by the Data Connectors API property dlc.csv.local.sources.[Source Name].source-properties.buffer-size.
mr.data-load.csv.dataset Replaced by the Data Connectors API property dlc.csv.local.sources.[Source Name].root-base-dir.
mr.data-load.csv.lines-to-skip Replaced by the Data Connectors API properties associated to the topic with the class CsvParserDescription.
mr.data-load.csv.parser-threads Replaced by the Data Connectors API property dlc.csv.local.sources.[Source Name].source-properties.parser-threads.
mr.data-load.csv.separator Replaced by the Data Connectors API properties associated to the topic with the class CsvParserDescription.
mr.data-load.csv.synchronous-mode Replaced by the Data Connectors API property dlc.csv.local.sources.[Source Name].source-properties.synchronous-mode.
mr.data-load.source The setup relies on the Data Connectors configuration.

mr-sensi-config

Property Name Comment
mr.sensi.file-patterns.cash All properties in this section have been removed as Cash sensitivities are no longer supported by Atoti Market Risk.
mr.sensi.types.cash All properties in this section have been removed as Cash sensitivities are no longer supported by Atoti Market Risk.

Properties files

Files added
File Name Details
application-databricks.yaml This file provides a default set of properties to run in DirectQuery mode using Databricks. This profile allows you to specify environment-specific properties, such as password or database, with environment variables. You can also edit the file with your specific property values.
Files modified
File Name Details
application.yaml DirectQuery properties have been removed from this properties file. These properties are now exclusively in the property file for the specific database: application-databricks/mssql/snowflake.yaml.
application-mssql.yaml Environment-specific properties, such as username, password, schema, can now be specified with environment variables when using this profile. Additionally, schema validation is now enabled, and clustering is used for all base fields.
application-snowflake.yaml Environment-specific properties, such as username, password, schema, can now be specified with environment variables when using this profile. Additionally, schema validation is now enabled, and clustering is used for all base fields.

Datastores

Modified stores

Modification Store Field Type Description
Added field PnL LegId String Leg Ids under a single Trade Id to enable sending in trades that will have multiple legs under a single Trade Id. This is an optional field available when the property mr.pnl.enable.leg-id is set to true.
Added field Trade Attributes TradeSource String The identifier of the source system the trade was executed in.
Added field Trade Attributes TradeStatus String The status representing the step in the trade lifecycle. If left blank, this field will default to LIVE.
Added field Trade Attributes OriginalNotional Double The notional at trade date.
Added field BaseStore TradeSource String The identifier of the source system the trade was executed in.
Added field BaseStore TradeStatus String The status representing the step in the trade lifecycle. If left blank, this field will default to LIVE.
Added field SensiBaseStore TradeSource String The identifier of the source system the trade was executed in.
Added field SensiBaseStore TradeStatus String The status representing the step in the trade lifecycle. If left blank, this field will default to LIVE.
Added field PnLBaseStore TradeSource String The identifier of the source system the trade was executed in.
Added field PnLBaseStore TradeStatus String The status representing the step in the trade lifecycle. If left blank, this field will default to LIVE.
Added field Scenarios LiquidityHorizon Integer The Liquidity Horizon in days. This field is optional.
Removed field Trade PNL LiquidityHorizon Integer The field has been moved to the Scenarios store.
Changed field name DynamicMoneyness TenorLabels -> TenorLabel String The label corresponding to the vertex of the risk factor, such as 3M, 5Y, and so on.
Renamed store CubeLevelAdjustments SignOffDigestStore -> CubeLevelAdjustments
Removed field CubeLevelAdjustments Digest String The location digest is no longer used for cube-level adjustments.
Changed field name CubeLevelAdjustments MandateId -> TaskId String The name of the task for which the adjustment was created.
Removed field PnL RiskFactor String This field is no longer required.
Removed field PnL RiskClass String This field is no longer required.
Removed field PnLBaseStore RiskFactor String This field is no longer required.
Removed field PnLBaseStore RiskFactorType String This field is no longer required.
Removed field PnLBaseStore RiskFactorCcy String This field is no longer required.
Removed field PnLBaseStore CurveType String This field is no longer required.
Removed field PnLBaseStore Qualifier String This field is no longer required.
Removed field PnLBaseStore RiskClass String This field is no longer required.

Database

Modified tables

Modification Table Field Type Description
Added field TRADE_ATTRIBUTES TRADE_SOURCE String Identifier of the source system the trade was executed in.
Added field TRADE_ATTRIBUTES TRADE_STATUS String Status representing the step in the trade lifecycle.
Added field TRADE_ATTRIBUTES ORIGINAL_NOTIONAL Double Represents the notional at trade date.
Added field SCENARIOS LIQUIDITY_HORIZON Integer The Liquidity Horizon in days. This field is optional.
Removed field TRADEPNLS LIQUIDITY_HORIZON Integer The field has been moved to the SCENARIOS table.
Removed field TRADEPNLS_VECTOR LIQUIDITY_HORIZON Integer The field has been moved to the SCENARIOS table.
Renamed table CUBE_LEVEL_ADJUSTMENTS SIGN_OFF_DIGEST_STORE -> CUBE_LEVEL_ADJUSTMENTS
Removed field CUBE_LEVEL_ADJUSTMENTS DIGEST String The location digest is no longer used for cube-level adjustments.
Changed field name CUBE_LEVEL_ADJUSTMENTS MANDATE_ID -> TASK_ID String The name of the task for which the adjustment was created.
Removed field PNL RISK_FACTOR String This field is no longer required. Please note this field was a primary key. Data must be modified accordingly to avoid primary key collisions.
Removed field PNL RISK_CLASS String This field is no longer required.

Cube schema

Added

Cube Dimension Hierarchy Levels Datastore fields Details
PL Cube Booking Legs LegId LegId This optional attribute was added to enable sending in trades that will have multiple legs under a single TradeId. Only available when the property mr.pnl.enable.leg-id is set to true.
All TradeAttributes TradeSources TradeSource TradeSource Added to identify the source system the trade was executed in.
All TradeAttributes TradeStatuses TradeStatus TradeStatus Added to analyse and break down the dtd pnl differences to find the components due to new trades, amended trades and cancelled trades.

Removed

Cube Dimension Hierarchy Levels
PLCube Risk RiskFactors [ALL, RiskFactor]
PLCube Risk RiskFactorTypes [ALL, RiskFactorType]
PLCube Risk RiskFactorCurrencies [ALL, RiskFactorCcy]
PLCube Risk CurveTypes [ALL, CurveType]
PLCube Risk Qualifiers [ALL, Qualifier]
PLCube Risk RiskClasses [ALL, RiskClass]
PL Summary Cube Risk RiskFactors [ALL, RiskFactor]
PL Summary Cube Risk RiskFactorTypes [ALL, RiskFactorType]
PL Summary Cube Risk RiskFactorCurrencies [ALL, RiskFactorCcy]
PL Summary Cube Risk CurveTypes [ALL, CurveType]
PL Summary Cube Risk Qualifiers [ALL, Qualifier]
PL Summary Cube Risk RiskClasses [ALL, RiskClass]

Measures

Added

Cube Measure Details
VaR-ES Cube Original Notional The notional at trade date, in the VaR-ES cube. If the trade is amended or partially terminated, the changed value will be sent to Notional.
VaR-ES Cube Original Notional Native The notional at trade date, in the native currency, in the VaR-ES cube.

Modified

All measures in the Value at Risk folder have moved to the Value At Risk folder, and those in Value at Earnings have moved to Value At Earnings.

Market data

Sensitivity- and risk-class-agnostic market data measures have been added, replacing the previously visible FX-converted and Native measures.

For sensitivities that used a single type of market data (for example, CrossGamma only uses Spot market data), the PnL Explain chains have been updated to use those market data types directly. When a sensitivity uses multiple types of market data depending on risk class, such as Delta with Spot for equities and Curve for GIRR, the top level market data measures have been updated to behave as a location-based switcher between the available market data types.

For details about the market data measures made available in Market Risk 6.0.0, the Market Data section covers the types of market data available in the Sensitivity Cube as well as which market data types are used for each sensitivity. A complete list of measures is also available.

Removed

Cube Measure Details
Sensitivity Cube Cash measures All Cash measures have been removed without a replacement.

Context values

Added

Name Details
VaRTimePeriod The VaR time period context value works in conjunction with the Liquidity Horizon field.

Updated dashboards

  • The following dashboards have been updated to remove any usage of Cash-related measures:
    • Atoti MR & PL/How It Works/Computing Greek-Based PL
    • Atoti MR & PL/How It Works/How Taylor VaR is computed
    • Atoti MR & PL/How It Works/Taylor VaR using previous MD
    • Atoti MR & PL/Story-Telling Target Views/Backtesting Risk Factor View
    • Atoti MR & PL/Story-Telling Target Views/Investigate Tail for Taylor
    • Atoti MR & PL/Story-Telling Target Views/Taylor VaR Risk Factor View
    • MR/03 - PnL Explain/01 - PnL explain break-down

Other changes

See the Atoti Market Risk 6.0 Migration notes for details on:

DLC Topic Aliases

The SignOffDigestStore topic has been renamed to CubeLevelAdjustments to reflect the new name of the store and this has been moved from the Attributes alias to a new SignOff alias to reflect the fact that not all projects use Sign-Off.