Migration notes 1.9.0
This page explains the changes required to migrate to the stated version of the Market Risk Accelerator.
Migrate to 1.9.0
Upgrading from version 1.8.0. See Market Risk Accelerator 1.9.0 Release Notes.
The Accelerator is using ActivePivot 5.8.14-jdk8 or ActivePivot 5.8.14-jdk11 and ActiveUI 4.3.7. 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.8.14-jdk8 or 5.8.14-jdk11 is included with the MRA Accelerator 1.9.0 release.
Sign-off
The Sign-off server is now a standalone component. The back-end processing related to sign-off operations is not present in the MRA anymore and has been put into the standalone sign-off module.
Input file formats
Added
File | Details |
---|---|
CashSensitivities.csv | Cash sensitivities by asOfDate, it follows the standard sensitivity file format. |
ThetaSensitivities.csv | Theta sensitivities by asOfDate, it follows the standard sensitivity file format. |
Modified
None
Removed
None
Configuration files
Files Added
dee.export.properties
New properties:
Property Name | Comment | Value |
---|---|---|
generated.files.base.dir.path | Base dir path where all the generated files will be generated. This property is needed by the Download service | ${java.io.tmpdir} |
download.files.http.base.url | URL used for the Download service | http://localhost:10010/risk-activepivot/pivot/rest/v4/download |
enhanced.drillthrough.base.dir.path | Path for the generation of enhanced DT result files (server-side location) | ${generated.files.base.dir.path}/dtrepo/ |
enhanced.drillthrough.http.base.url | URL for the distribution of enhanced DT result files | ${download.files.http.base.url}/dtrepo |
data.extraction.templates.base.dir.path | Path to retrieve the data extraction templates | ./risk-starter/src/main/resources/dee-templates/ |
data.extraction.service.base.dir.path | Path for the generation of data extraction result files (server-side location) | ${generated.files.base.dir.path}dee |
data.extraction.service.http.base.url | URL for the distribution of data extraction result files | ${download.files.http.base.url}/dee |
Files Modified
hibernate.properties
New properties:
Property Name | Comment | Value |
---|---|---|
hibernate.dbfile.name | Name for the Content Server database file | mr_ref_impl_content_service |
Updated properties:
Property Name | Comment | New Value | Old Value |
---|---|---|---|
hibernate.connection.url | Connection URL for the Content Server database | jdbc:h2:%{dbfile};DB_CLOSE_DELAY=-1 | jdbc:h2:file:%{resourceDir}/mr_ref_impl_content_service;DB_CLOSE_DELAY=-1 |
Deleted properties: None
risk.properties
New properties:
Property Name | Comment | Value |
---|---|---|
sensiCashFilePattern | File pattern for the cash file sensitivity | glob:*CashSensitivities.csv |
sensiThetaFilePattern | File pattern for the theta file sensitivity | glob:*ThetaSensitivities.csv |
inc.metrics.list.std | List of incremental metrics for the standard configuration | booking,trades,top,rlshift |
inc.metrics.list.aggregated | List of incremental metrics for the aggregated configuration | booking,top |
inc.metrics.list.import | List of incremental metrics for the import configuration | booking,trades,top,rlshift |
inc.metrics.booking.* | Sample incremental metric based on the parent value of the book hierarchy | |
inc.metrics.booking.suffix | Name of the booking incremental metric placed at the end of the measures | Booking |
inc.metrics.booking.folder | Sub-folder of the incremental metric containing all the measures | \Booking |
inc.metrics.booking.pp | Key used to find the corresponding post-processor | ParentValue |
inc.metrics.booking.hierarchy | Hierarchy used for the parent slicing | BookHierarchy@Organization |
inc.metrics.booking.nullAtTop | Metric displayed at top level | true |
inc.metrics.trades.* | Sample incremental metric based on the parent value of the trade hierarchy | |
inc.metrics.trades.suffix | Name of the trade incremental metric placed at the end of the measures | Trades |
inc.metrics.trades.folder | Sub-folder of the incremental metric containing all the measures | \Trades |
inc.metrics.trades.pp | Key used to find the corresponding post-processor | ParentValue |
inc.metrics.trades.hierarchy | Hierarchy used for the parent slicing | Trades@Booking |
inc.metrics.trades.nullAtTop | Metric displayed at top level | true |
inc.metrics.top.* | Sample incremental metric based on the value at top level of the cube | |
inc.metrics.top.suffix | Name of the top incremental metric placed at the end of the measures | Top |
inc.metrics.top.folder | Sub-folder of the incremental metric containing all the measures | \Top |
inc.metrics.top.pp | Key used to find the corresponding post-processor | TopPostProcessor |
inc.metrics.top.clearFilter | Specifies if the metric also clears the filter in order to compute the top level | false |
inc.metrics.top.nullAtTop | Metric displayed at top level | false |
inc.metrics.top.exclude | The hierarchies excluded from the top location computation | |
inc.metrics.rlshift.* | Sample incremental metric based on a specific level of the cube configurable by the referenceLevel property | |
inc.metrics.rlshift.suffix | Name of the reference shift incremental metric placed at the end of the measures | Reference Level |
inc.metrics.rlshift.folder | Sub-folder of the incremental metric containing all the measures | \Reference Level |
inc.metrics.rlshift.pp | Key used to find the corresponding post-processor | ReferenceLevelLocationShift |
reference-levels.list | List of the levels available in the referenceLevel property | , Book@Books, Desk@Desks, Legal Entity@Legal Entities, Level 1@BookHierarchy, Level 2@BookHierarchy, Level 3@BookHierarchy, Level 4@BookHierarchy, Level 5@BookHierarchy, Level 1@LegalEntityHierarchy, Level 2@LegalEntityHierarchy, Legal Entity@Legal Entities |
Updated properties:
Property Name | Comment | New Value | Old Value |
---|---|---|---|
varImportFilePattern | Data import file loading patterns for VaR | glob:**VaR-ES Cube*.csv* | glob:**MRAVaR.csv* |
pnlImportFilePattern | Data import file loading patterns for PnL | glob:**PLCubePnL.csv* | glob:**MRAPnL.csv* |
sensiImportFilePattern | Data import file loading patterns for Sensitivities | glob:**Sensitivity Cube*.csv* | glob:**MRA*{Delta,Vega,Gamma,Vanna,Volga}*.csv* |
Deleted properties: None
risk-config.properties
New properties:
Property Name | Comment | Value |
---|---|---|
cash.currency.level | Currency level used by the cash metric | Ccy@Currencies@Currencies |
theta.currency.level | Currency level used by the theta metric | Ccy@Currencies@Currencies |
trade.maturity.date.level | Level containing the trade maturity date, used by the theta metric | MaturityDate@MaturityDates@TradeAttributes |
sensi.type.cash | Regular expression used to find the cash metric from the sensitivity name | (?i).*(?:cash |
sensi.type.theta | Regular expression used to find the theta metric from the sensitivity name | (?i).*(?:theta |
theta.default.maturity | Default maturity used as a reference in order to compute theta | 2040-01-01 |
Updated properties: None
Deleted properties:
Property name | Comment |
---|---|
book.hierarchy.hierarchy | Replaced by inc.metrics.booking.hierarchy |
trades.hierarchy | Replaced by inc.metrics.trades.hierarchy |
risk.class.hierarchy | Not used |
signoff.export.properties
New properties:
Property name | Comment |
---|---|
signoff.export.max-file-size | Replaces signoff.export.store.max-file-size |
Updated properties:
Property Name | Comment | New Value | Old Value |
---|---|---|---|
signoff.export.cube.skip-hierarchies | Hierarchies to be skipped when exporting data | ALL::BookHierarchy;LegalEntityHierarchy,VaR-ES Cube::Percentile,Sensitivity Cube::Ladder Shifts | ALL::BookHierarchy;LegalEntityHierarchy,VaR::Percentile,Sensi::Ladder Shifts;BookHierarchy;LegalEntityHierarchy |
signoff.export.cube.date-hierarchies | Date hierarchies to use when filtering exports | DEFAULT::AsOfDate@Date@Dates | ALL::Date@Dates |
Deleted properties:
Property name | Comment |
---|---|
signoff.export.store | Store exports are done systematically |
signoff.export.cube | Cube exports are done systematically |
signoff.export.cube.aggregated | Aggregated exports are done systematically |
signoff.export.store.max-file-size | Replaced by signoff.export.store.max-file-size |
signoff.export.filenames.datastore-template | Not used anymore |
signoff.export.filenames.cube-template | Not used anymore |
signoff.export.filenames.export-root | Replaced by generated.files.base.dir.path in dee.export.properties |
signoff.export.base-dir-path | Replaced by data.extraction.service.base.dir.path in dee.export.properties |
signoff.export.thread-pool.size | Not used anymore. Replaced by DEE configuration |
Files Deleted
As the Sign-Off server is now a standalone component, the properties related to the sign-off back-end processing are not present in the MRA anymore.
- signoff.hibernate.properties
- signoff.properties
Datastores
Added
None
Modified
None
Removed
None
Cube schema
Added
None
Modified
None
Removed
None
Measures
Added
New sensitivity measures on sensitivity cube:
Cash
The Cash sensitivity is the amount of cash held in a foreign currency. It is mainly accounting value generated by foreign mark to market.
It uses reference currency held by the “ReferenceCurrency” context value and the foreign currency held by the riskFactor and the curency levels of the sensitivity.
Metric | Comment |
---|---|
Cash | The cash amount expressed in the reference currency |
Cash Native | The cash amount expressed in the foreign currency |
Cash current MD | The FX rate between foreign and reference currency |
Cash previous MD | The FX rate of the previous day |
Cash PnL Explain | The PnL explain generated by the FX rate move expressed in reference currency. |
Cash PnL Explain Native | The PnL explain in foreign currency. |
Cash Taylor VaR | The VaR generated by the FX risk on the cash. |
Theta
The theta is the sensibility to time. There is no generated VaR as it is not a risk axis.
Metric | Comment |
---|---|
Theta | The theta sensitivity expressed in the reference currency |
Theta Native | The theta sensitivity expressed in the foreign currency |
Theta current MD | The duration of the deal from today. |
Theta previous MD | The duration of the deal from yesterday. |
Theta PnL Explain | The PnL explain generated by theta expressed in reference currency. |
Theta PnL Explain Native | The PnL explain in foreign currency. |
Modified
None
Removed
None
Context values
Added
The referenceLevel context value has been added, it is used for incremental metrics.
Incremental metrics on VaR-ES cube
The incremental metrics have been completely redesigned. Now they are configured by the property files. For each incremental metric, a set of metrics will be created:
- MetricName Incremental ReferenceSuffix
- MetricName LEstimated ReferenceSuffix
- MetricName Component ReferenceSuffix: only for VaR measures
- MetricName Component Delta ReferenceSuffix: only for VaR measures
Those metrics are created in the spring config files with those code parts:
- For the initialisation of the reference metric:
Reference initialisation
incrementalMeasureConfig.buildReferenceMetrics(VAR_FX_VECTOR, context);
- For the creation of the incremental metrics:
Incremental metrics
incrementalMeasureConfig.forEachReference(VAR_FX_VECTOR, (refVector, suffix, subFolder) -> { ... });
Modified
None
Removed
None