Migration notes 2.1

This page explains the changes required to migrate to the stated version of the Market Risk Accelerator.

Migrate to 2.1

Upgrading from version 2.0.0 - see Market Risk Accelerator 2.1 Release Notes.

Headline announcement

  • New dimension for sign-off features : A Sign-off dimension containing two hierarchies - one for the sign-off status, one for handling adjustments
  • Day count computation: The day count computation is now calculated differently. See the Calendar Improvement feature on the What’s New page for details.

Input file formats

Added

File Details
cube-adjustments.csv Contains data representing the definition of cube-level adjustments. This file is generated when data is exported after the sign-off process for a sign-off process instance is completed.

Configuration files

Files Added

None

Files Modified

signoff.properties

New properties:

Property Name Value Comment
sign-off.level.members INTRA-DAY,TOTAL REVIEWABLE,UNAPPROVED The level member names for live, snapshot and unapproved task status
sign-off.var.levels AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking List of the levels eligible for filtering in the sign-off task definition for the Var-ES Cube
sign-off.sensi.levels AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking List of the levels eligible for filtering in the sign-off task definition for the Sensitivity Cube
sign-off.pnl.levels AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking List of the levels eligible for filtering in the sign-off task definition for the PnL Cube
sign-off.adjustments.cube.adjustableMeasures.VaR-ES\u0020Cube ES,VaR List of measures eligible for cube-level adjustment in the VaR-Es Cube
sign-off.adjustments.cube.adjustableMeasures.Sensitivity\u0020Cube Delta,Gamma,Vega List of measures eligible for cube-level adjustment in the Sensitivity Cube
sign-off.adjustments.cube.adjustableMeasures.PLCube DTD PnL List of measures eligible for cube-level adjustment in the PLCube
sign-off.adjustments.cube.asOfDateLevel.VaR-ES\u0020Cube AsOfDate@Date@Dates The asOfDate level, used by the cube-level adjustment in the VaR-Es Cube
sign-off.adjustments.cube.asOfDateLevel.Sensitivity\u0020Cube AsOfDate@Date@Dates The asOfDate level, used by the cube-level adjustment in the Sensitivity Cube
sign-off.adjustments.cube.asOfDateLevel.PLCube AsOfDate@Date@Dates The asOfDate level, used by the cube-level adjustment in the PL Cube
sign-off.adjustments.cube.hierarchiesToExclude.VaR-ES\u0020Cube Date@Dates,MarketDataSets@MarketData,Quantiles@Quantiles,RoundingMethods@Rounding,Scenario Sets@Risk,Sign-off Status@Sign-off,CalculationIds@Risk The hierarchies that are not part of the cube-level adjustment location in the VaR-ES Cube
sign-off.adjustments.cube.hierarchiesToExclude.Sensitivity\u0020Cube Date@Dates,MarketDataSets@MarketData,Quantiles@Quantiles,RoundingMethods@Rounding,Scenario Sets@Risk,Sign-off Status@Sign-off The hierarchies that are not part of the cube-level adjustment location in the Sensitivity Cube
sign-off.adjustments.cube.hierarchiesToExclude.PLCube Date@Dates,MarketDataSets@MarketData,Sign-off Status@Sign-off,Types@PnL The hierarchies that are not part of the cube-level adjustment location in the PnL Cube
sign-off.adjustments.cube.marketDataSetLevel.VaR-ES\u0020Cube MarketDataSet@MarketDataSets@MarketData The market data set level, used by the cube-level adjustment to handle the FX rate in the VaR-Es Cube
sign-off.adjustments.cube.marketDataSetLevel.Sensitivity\u0020Cube MarketDataSet@MarketDataSets@MarketData The market data set level, used by the cube-level adjustment to handle the FX rate in the Sensitivity Cube
sign-off.adjustments.cube.marketDataSetLevel.PLCube MarketDataSet@MarketDataSets@MarketData The market data set level, used by the cube-level adjustment to handle the FX rate in the PL Cube
sign-off.adjustments.cube.signOffFeedLevel.VaR-ES\u0020Cube Feed@Sign-off Status@Sign-off The path of the first level of the sign-off analysis hierarchy. It contains the first two members defined by sign-off.level.members. This is used to set up the hierarchy in the Var-Es Cube
sign-off.adjustments.cube.signOffFeedLevel.Sensitivity\u0020Cube Feed@Sign-off Status@Sign-off The path of the first level of the sign-off analysis hierarchy. It contains the first two members defined by sign-off.level.members. This is used to set up the hierarchy in the Sensitivity Cube
sign-off.adjustments.cube.signOffFeedLevel.PLCube Feed@Sign-off Status@Sign-off The path of the first level of the sign-off analysis hierarchy. It contains the first two members defined by sign-off.level.members. This is used to set up the hierarchy in the PL Cube
sign-off.adjustments.cube.signOffStatusLevel.VaR-ES\u0020Cube Status@Sign-off Status@Sign-off The path of the second level of the sign-off analysis hierarchy. It will contains the last member defined by sign-off.level.members, and other status coming from the sign-off. This is used to set up the hierarchy in the Var-Es Cube
sign-off.adjustments.cube.signOffStatusLevel.Sensitivity\u0020Cube Status@Sign-off Status@Sign-off The path of the second level of the sign-off analysis hierarchy. It will contains the last member defined by sign-off.level.members, and other status coming from the sign-off. This is used to set up the hierarchy in the Sensitivity Cube
sign-off.adjustments.cube.signOffStatusLevel.PLCube Status@Sign-off Status@Sign-off The path of the second level of the sign-off analysis hierarchy. It will contains the last member defined by sign-off.level.members, and other status coming from the sign-off. This is used to set up the hierarchy in the PL Cube
sign-off.adjustments.cube.signOffTaskLevel.VaR-ES\u0020Cube Task@Sign-off Status@Sign-off The path of the third level of the sign-off analysis hierarchy. It will contains the task IDs coming from the sign-off. This is used to set up the hierarchy in the Var-Es Cube
sign-off.adjustments.cube.signOffTaskLevel.Sensitivity\u0020Cube Task@Sign-off Status@Sign-off The path of the third level of the sign-off analysis hierarchy. It will contains the task IDs coming from the sign-off. This is used to set up the hierarchy in the Sensitivity Cube
sign-off.adjustments.cube.signOffTaskLevel.PLCube Task@Sign-off Status@Sign-off The path of the third level of the sign-off analysis hierarchy. It will contains the task IDs coming from the sign-off. This is used to set up the hierarchy in the PL Cube
sign-off.adjustments.cube.signOffAdjustmentSourceLevel.VaR-ES\u0020Cube Source@Adjustment@Sign-off The path of the first level of the adjustment hierarchy. This is used to set up the hierarchy in the VaR-Es Cube
sign-off.adjustments.cube.signOffAdjustmentSourceLevel.Sensitivity\u0020Cube Source@Adjustment@Sign-off The path of the first level of the adjustment hierarchy. This is used to set up the hierarchy in the Sensitivity Cube
sign-off.adjustments.cube.signOffAdjustmentSourceLevel.PLCube Source@Adjustment@Sign-off The path of the first level of the adjustment hierarchy. This is used to set up the hierarchy in the PL Cube

Datastores

Added stores

Store Details
SignOffDigestStore Contains the definition of cube-level adjustments.

Cube schema

Added

Cube Dimension Hierarchy Levels Datastore fields Details
VaR-ES Cube Sign-off Sign-off Status Feed, Status, Task Analysis hierarchy Used to handle the status of the sign-off tasks
VaR-ES Cube Sign-off Adjustment Source, Input type Source, Input type Used to distinguish between unadjusted and adjusted facts
Sensitivity Cube Sign-off Sign-off Status Feed, Status, Task Analysis hierarchy Used to handle the status of the sign-off tasks
Sensitivity Cube Sign-off Adjustment Source, Input type Source, Input type Used to distinguish between unadjusted and adjusted facts
PLCube Sign-off Sign-off Status Feed, Status, Task Analysis hierarchy Used to handle the status of the sign-off tasks
PLCube Sign-off Adjustment Source, Input type Source, Input type Used to distinguish between unadjusted and adjusted facts

Measures

Added

Cube Measure Details
Sensitivity Cube \Taylor HD VaR> Harrell-Davis Taylor VaR, the Harrell-Davis quantile estimator applied on the Taylor VaR

Other changes

Datastore definition

The datastore configuration has been cleaned up to align with the respective cubes. The new package com.activeviam.risk.ref.cfg.common has been created for common stores. The stores have been moved under the right cube package. Please see Activating and de-activating cubes for information on which store belongs to which cube. Stores belonging to several cubes are in the common package.

ETL Source and Azure

The ETL is now compatible with Azure storage. This has lead to a re-factorization of the Source class tree. The Source classes have been moved to the packages : com.activeviam.risk.ref.cfg.[scope].impl.source with [scope]. The result is as follows:

Value Related Cube Source name Meaning
common All common-Source Handles the loading of common data such as FX, booking hierarchy,and so on
pnl PnL cube PnL-Source Handles the loading of the PNL-specific data
sensi Sensi cube Sensi-Source Handles the loading of the Sensitivity-specific data
var Var-ES cube VaR-Source Handles the loading of the VaR-specific data

The cube-specific ETL is only active if the related cube is active. See Activating and de-activating cubes.

ETL Structure

For each source there is the following structure (the structure is more complex for the sensitivity as it handles the vector and scalar specificity) :

Class name Ancestor Responsibility
scopeAzureCsvSourceConfig scopeCsvSourceConfig IAzureCsvSourceConfig The source Spring configuration for the target scope on Azure storage
scopeLocalCsvSourceConfig scopeCsvSourceConfig ILocalCsvSourceConfig The source Spring configuration for the target scope on local storage
scopeCsvSourceConfig ACSVSourceConfig The target-specific configuration of the source
scopeSourcePatternsConfig Definition of the source file patterns
scopeSourceConfiguration Spring import file that carries on all required dependencies for this target

The source configurations also depends on common classes:

Class name Ancestor Responsibility
IAzureCsvSourceConfig ISourceConfiguration Defines all the specific code needed to setup Azure storage
ILocalCsvSourceConfig ISourceConfiguration Defines all the specific code needed to setup local storage
ACSVSourceConfig ISourceConfiguration Defines the common code to setup a storage
ISourceConfiguration The base interface used to create the configuration
LocalSourceConfig The bean that setup the local specific configuration (such as local path), injected on all local configurations
AzureSourceConfig The bean that setup the Azure specific configuration (Azure connection for instance), injected on all local configurations

The configurations are based on a diamond class pattern. IAzureCsvSourceConfig and ILocalCsvSourceConfig are interfaces, but they define code for the second branch of the diamond.

Activation

A specific spring profile must be activated to specify local or Azure storage:

  • azure-dataloading for Azure storage
  • local-file-system for local storage

If no profile is defined, an error will be raised.

Maturity Converter / Day count computation

The Maturity Converter service now shares some code with the other accelerators through the common library (shared*.jar). To avoid any mistakes when a class in the common library has the same name as an MRA one but with a slightly different behavior, the MRA-specific classes are renamed with the prefix “MRA”.

Old name New name Difference from the common lib
SimpleMaturityConverter MraSimpleMaturityConverter Handles the moneyness axis-specific conversion
SimpleTenorConverter MraSimpleTenorConverter Handles the default values as zero days
PeriodActualTenorConverter removed The behavior is covered by the current SimpleTenorConverter

Interfaces are now defined in the common library.

See the Calendar Improvement section on the What’s New page for information about calendar computation changes. The calendar convention is now more clearly defined as it is handled by the IDayCountConvention implementation.

search.js