Migration notes 2.0.0

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

Migrate to 2.0.0

Upgrading from version 1.10.0 See Market Risk Accelerator 2.0.0 Release Notes.

The Accelerator is using ActivePivot 5.9.6 and ActiveUI 4.3.13.

For new features and fixes included in these releases, please see the ActiveUI documentation and ActiveUI Migration Notes, and the release notes for ActivePivot.

For clients licensed to use ActiveMonitor, a skeleton module based on version 5.9.6 is included with the Market Risk Accelerator 2.0.0 release.

Headline announcement

  • Usage of the common library : The common features used by all Accelerators are located in the ‘com.activeviam.apps/shared*.jar’ library. Several classes have been moved to this library. As a consequence a lot of imports have changed from ‘com.activeviam.risk’ to ‘com.activeviam.accelerator.common’.
  • Upgrade to AP5.9 : The Accelerator now uses Active Pivot 5.9.x, which also means that only Java 11 is supported.
  • Adjustments 2.0 : Integration of the interfaces allowing the interaction with the Sign-Off Module. Implementation details can be found in Sign-off API implementation notes.
  • Profile for Sign-off functionality : The enable-signoff Spring Profile has been added to the Market Risk Accelerator, grouping all Sign-off functionality in a single toggled configuration.
  • Datastore Helper 2.0 : The Datastore Helper tool for defining and customizing the datastore schema has been upgraded to version 2.0. For details, refer to Datastore Helper implementation within MRA.
  • JUnit 5 : Most of the tests now use JUnit 5.
  • Data Connectors : The DEE feature is now integrated into an import/export toolbox library called “Data Connectors” prefixed with ‘com.activeviam.io’. See Data Connectors documentation for ActivePivot v5.10 or for ActivePivot v5.9
  • Corporate Actions : The dividends, coupons, stock splits or merge are now taken in account for PnL calculations.
  • Correlation : The correlation metric is handled. Its market data name is ‘RiskFactor 1/RiskFactor 2’.
  • Cross-Gamma : The cross-gamma metric is handled; it is the gamma between two risk factors, without bucketing.
  • Spring configuration : The Spring configuration templates for cube and datastore definition are in common with FRTB.

Input file formats

Added

File Details
CrossGammaSensitivities.csv Cross gamma sensitivity
CorrelationSensitivities.csv Correlation sensitivity
CorporateAction.csv Corporate actions description

Modified

File Details
*Sensitivities.csv Added optional adjustment source tagging fields when using the enable-signoff profile.
PL*Actuals.csv Added optional adjustment source tagging fields when using the enable-signoff profile.

Removed

None

Configuration files

Files Added

signoff.properties

File containing specific parameters for signoff operations.

New properties:

Property Name Comment Value
sign-off.adjustments.scheduler-pool-size Scheduler pool size for the adjustmentexecution service. 1

Files Modified

signoff.export.properties

New properties:

Property Name Comment Value
signoff.export.store.skip-hierarchies Hierarchies that are not included in the export

Updated properties:

Property Name Comment New Value Old Value
signoff.export.cube.aggregated.aggregate-across ALL::Trades;Risk Factors Secondary ALL::Trades;Risk Factors;Risk Factors Secondary
signoff.export.cube.skip-hierarchies VaR-ES Cube::Percentile,Sensitivity Cube::Ladder Shifts;BookHierarchy;LegalEntityHierarchy;Risk Factors ALL::BookHierarchy;LegalEntityHierarchy,VaR-ES Cube::Percentile,Sensitivity Cube::Ladder Shifts

Deleted properties:

None

risk-config.properties

New properties:

Property Name Comment Value
correlation.currency.level Currency level for the correlation metric Ccy@Currencies@Currencies
cross.gamma.currency.level Currency level for the cross gamma metric Ccy@Currencies@Currencies
sensi.type.dividend Sensi type regexp filter for dividend sensitivity (part of the corporate actions) ^(?i).*(?:delta
sensi.type.cross.gamma Sensi type regexp filter for the cross gamma metric ^(?i).*(?:cross
sensi.type.correlation Sensi type regexp filter for the correlation metric ^(?i).*correlation.*$
correlation.risk.level.split Symbol that splits the market data name into the two risk factors for correlation (for instance “Ford/BMW” for Ford against BMW) /
agg.cache.size.var Aggregate cache size for the VaR-ES cube -1
agg.cache.size.sensi Aggregate cache size for the sensi cube -1
agg.cache.size.pnl Aggregate cache size for the PnL cube -1
agg.cache.size.combined Aggregate cache size for the combined cube -1
ctx.queries.time.limit.combined Query timeout for the combined cube, in seconds 30
ctx.queries.time.limit.data Query timeout for all the data cubes, in seconds 30
ctx.reference.ccy Default reference currency for the context value EUR
ctx.var.time.period Default time horizon scale for the VaR metrics 1.0
ctx.dynamic.bucketing.set Default set of buckets used for the dynamic bucketing DEFAULT

Updated properties:

Property Name Comment New Value Old Value
tenors.fact.levels Added Correlation Delta::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk,Gamma::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk,Vega::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk,Vanna::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk,Volga::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk,Correlation::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk Delta::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk,Gamma::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk,Vega::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk,Vanna::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk,Volga::Tenor Date@Tenor Dates@Risk;Tenor@Tenors@Risk
tenors.fact.levels.labels Added Correlation Delta::Tenor@Tenors@Risk,Gamma::Tenor@Tenors@Risk,Vega::Tenor@Tenors@Risk,Vanna::Tenor@Tenors@Risk,Volga::Tenor@Tenors@Risk,Correlation::Tenor@Tenors@Risk Delta::Tenor@Tenors@Risk,Gamma::Tenor@Tenors@Risk,Vega::Tenor@Tenors@Risk,Vanna::Tenor@Tenors@Risk,Volga::Tenor@Tenors@Risk
tenors.fact.levels.dates Added Correlation Delta::Tenor Date@Tenor Dates@Risk,Gamma::Tenor Date@Tenor Dates@Risk,Vega::Tenor Date@Tenor Dates@Risk,Vanna::Tenor Date@Tenor Dates@Risk,Volga::Tenor Date@Tenor Dates@Risk,Correlation::Tenor Date@Tenor Dates@Risk Delta::Tenor Date@Tenor Dates@Risk,Gamma::Tenor Date@Tenor Dates@Risk,Vega::Tenor Date@Tenor Dates@Risk,Vanna::Tenor Date@Tenor Dates@Risk,Volga::Tenor Date@Tenor Dates@Risk
sensi.type.delta Improved Regexp ^(?i).*(?:delta dividends
sensi.type.cash Improved Regexp ^(?i).*cash.*$ (?i).*(?:cash
sensi.type.vega Improved Regexp ^(?i).*vega.*$ (?i).*vega.*
sensi.type.gamma Exclusion of cross gamma ^(?i).*(gamma)(?<!((?:cross x).?gamma)).*$
sensi.type.vanna Improved Regexp ^(?i).*vanna.*$ (?i).*vanna.*
sensi.type.volga Improved Regexp ^(?i).*(?:volga vomma).*$
sensi.type.theta Improved Regexp ^(?i).*theta.*$ (?i).*(?:theta

Deleted properties:

None

risk.properties

New properties:

Property Name Comment Value
sensiCrossGammaFilePattern Cross gamma sensi file pattern glob:**CrossGammaSensitivities*.csv
sensiCorrelationFilePattern Correlation sensi file pattern glob:**CorrelationSensitivities*.csv
corporateActionFilePattern Corporate action file pattern glob:**CorporateAction*.csv*

Updated properties:

Property Name Comment New Value Old Value
sensiGammaFilePattern Exclusion of cross gamma regex:^(?i).*Gamma(?<!CrossGamma)Sensitivities.*\.csv.*$ glob:**GammaSensitivities*.csv

Deleted properties:

None

greek-based-pl-formula-rules.properties

New properties:

Property Name Comment Value
formula.rule.dividend.* Formula for the dividends Absolute,1,1,false
formula.rule.crossgamma.1.* Formula for the risk 1rst factor of cross gamma Relative,1,1,true
formula.rule.crossgamma.2.* Formula for the risk 2nd factor of cross gamma Relative,1,1,true
formula.rule.correlation.equity Formula for the equity correlation Relative,1,1,true
formula.rule.correlation.* Formula for the non-equity correlation Relative,1,1,true

Updated properties:

None

Deleted properties:

None

Files Deleted

None

Datastores

Added

Store Details
CorporateAction It is linked to the MarketData store, it contains the optional corporate actions performed on the market instruments such as dividend and stock split.

Modified

By activating the ’enable-signoff’ profile, the following fields will be added :

Store Field Type Description
PnL Source String Describes the source of the data, for adjustment functionality (e.g Unadjusted, UserAdjustment1)
PnL Input type String The type of input for the row (e.g Data load, User input)

By activating the ’enable-signoff’ and ‘scalar-sensi’ profile, the following fields will be added :

Store Field Type Description
SensiBaseStore Source String Describes the source of the data, for adjustment functionality (e.g Unadjusted, UserAdjustment1)
SensiBaseStore Input type String The type of input for the row (e.g Data load, User input)
Other modifications
Modification Store Field Type Description
Deleted SensiBaseStore Sensi String Old Signoff tracker
Deleted TradePnLs VaR String Old Signoff tracker
Deleted PnL PnL String Old Signoff tracker

Cube schema

Added

Cube Dimension Hierarchy Levels Datastore fields Details
PLCube Sign-off Adjustment Source Source, Input type Source, Input type Slices data by source and input type, for adjustment functionality.
SensitivityCube Sign-off Adjustment Source Source, Input type Source, Input type Slices data by source and input type, for adjustment functionality.

Modified

Removed

Measures

Added

Cube Measure Details
SensitivityCube Dividend FX Rate FX rate applied to a dividend
SensitivityCube Dividend Current Native Dividend in original currency
SensitivityCube Dividend Previous Native Previous day’s dividend in original currency
SensitivityCube Dividend Current The dividend
SensitivityCube Dividend Previous Previous day’s dividend
SensitivityCube Split Ratio Current Split ratio applied to a share
SensitivityCube Split Ratio Previous Split ratio applied to a share the previous day
SensitivityCube Dividend PnL Explain Native PnL explain in original currency generated by the dividends
SensitivityCube Dividend PnL Explain PnL explain generated by the dividends
SensitivityCube Dividend Quantity Quantity of underlying eligible for dividend
SensitivityCube Dividend Quantity DtD Day-to-day variation of quantity eligible for dividend
SensitivityCube Dividend Quantity DtD % Difference Day-to-day variation of quantity eligible for dividend in %
SensitivityCube Dividend Quantity Previous Previous day’s quantity of underlying eligible for dividend
SensitivityCube Dividend Quantity with % Difference Quantity of underlying eligible for dividend with variation
SensitivityCube Dividend Sensitivity Sensitivity to the dividend in reporting currency
SensitivityCube Dividend Sensitivity DtD Day-to-day variation of sensitivity to the dividend in reporting currency
SensitivityCube Dividend Sensitivity DtD % Difference Day-to-day variation of sensitivity to the dividend in reporting currency in %
SensitivityCube Dividend Sensitivity Previous Previous day’s sensitivity to the dividend in reporting currency
SensitivityCube Dividend Sensitivity with % Difference Sensitivity to the dividend in reporting currency with variation

Modified

none

Removed

Cube Measure Details
SensitivityCube Delta Next MD Native Next date market data
SensitivityCube Gamma Next MD Native Next date market data
SensitivityCube Vanna Next MD Native Next date market data
SensitivityCube Vega Next MD Native Next date market data
SensitivityCube Volga Next MD Native Next date market data
SensitivityCube Cash Next MD Next date market data
SensitivityCube Delta Next MD Next date market data
SensitivityCube Gamma Next MD Next date market data
SensitivityCube Theta Next MD Next date market data
SensitivityCube Vanna Next MD Next date market data
SensitivityCube Vega Next MD Next date market data
SensitivityCube Volga Next MD Next date market data

Context values

Added

none

Modified

none

Removed

none