Migration notes 3.0.0
This page explains the changes required to migrate to the stated version of the Market Risk Accelerator.
3.0.0-ui-update-1
note
The MR 3.0.0-ui-update-1 release is a UI only release, and no server-side changes were made.
Headline announcement
- ActiveUI: Upgrade to 5.0.21.
Migrate to 3.0.0
Upgrading from version 2.1.0 - see Market Risk Accelerator 3.0.0 Release Notes.
The Accelerator is using ActivePivot 5.10.6 and ActiveUI 5.0.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.10.6 is included with the Market Risk Accelerator 3.0.0 release.
Headline announcement
- Upgrade to Sign-off API 1.5.0 : The Accelerator has been upgraded to the 1.5.0 version of the Sign-off API.
- Dynamic bucketing measures configuration for scalar sensitivities : A flag was added to the
AGreekSensiCubeSensiMeasureConfig.buildNativeCurrencyChain
method to distinguish between vectorized (also called standard) sensitivities and scalar sensitivities measures configurations. - Summary cubes : Import cube profiles are now replaced by summary cubes. Principally, the same application can run the default and import/summary cubes together. See Activating and de-activating cubes.
- What-if DTOs : The new dependency adjustments-services is used to set supported what-if operation definitions and for the DTO used for what-if operation requests.
What-if DTOs
The MRA-specific DTOs previously used for what-if execution requests have been deleted. This means the whole package com.activeviam.risk.ref.whatif.rest.dto.impl
, containing the following classes:
- PnLBookScalingDTO.java
- PnLBookSubstitutionDTO.java
- PnLVectorScalingDTO.java
- PnLVectorSubstitutionDTO.java
- SensiBookScalingDTO.java
- SensiBookSubstitutionDTO.java
- SensiVectorScalingDTO.java
- SensiVectorSubstitutionDTO.java has been deleted.
These deleted DTOs are replaced by the DTO BranchAwareAdjustmentRequestDTO
in the what-if REST services present in the package
com.activeviam.risk.ref.whatif.rest.services.impl
:
- PnLBookScalingRestService.java
- PnLScenarioScalingRestService.java
- PnLVectorScalingRestService.java
- PnLVectorSubstitutionRestService.java
- SensiBookScalingRestService.java
- SensiVectorScalingRestService.java
- SensiVectorSubstitutionRestService.java
Addition of isAbsolute flag in some what-if REST services
In the following what-if REST services an isAbsolute
flag had been added to distinguish between scaling and add-on REST services:
- PnLBookScalingRestService.java
- PnLScenarioScalingRestService.java
- PnLVectorScalingRestService.java
- SensiBookScalingRestService.java
- SensiVectorScalingRestService.java
New URLs for what-if REST services and change of behavior for what-if scaling REST services
Previously, to distinguish between scaling and add-on, a flag was present in the DTOs to invoke services in the following endpoints:
- “whatif/pnl-book-scaling”
- “whatif/pnl-vector-scaling”
- “whatif/pnl-scenario-scaling”
- “whatif/delta-book-scaling”
- “whatif/delta-vector-scaling”
Now, these endpoints only handle scaling.
To handle add-on, the following new end points have been created:
- “whatif/pnl-book-addon”
- “whatif/pnl-vector-addon”
- “whatif/pnl-scenario-addon”
- “whatif/delta-book-addon”
- “whatif/delta-vector-addon”
For details, see What-If REST endpoints
New URL for supported what-if REST services
The new endpoint “whatif/supported” has been added to return the list of supported what-if operations.
For details, see What-If REST endpoints
Added Configuration of supported what-if operations and associated REST service
The supported what-if operations are defined in the new class SupportedWhatIfOperationsConfig
.
The configuration of the associated REST service is defined in the new class SupportedWhatIfOperationsRestServiceConfig
.
Import of supported what-if operations configuration
In RiskStarterConfig.java
, these configuration imports have been added:
SupportedWhatIfOperationsConfig.class
SupportedWhatIfOperationsRestServiceConfig.class
Input file formats
Added
The store import input files are now used to load the summary cubes.
File | Details |
---|---|
VaR-ES Cube.csv | Flat data for VAR-ES summary cube |
Sensitivity Cube.csv | Flat data for sensi summary cube |
PLCube.csv | Flat data for PNL summary cube |
Modified
None
Removed
None
Configuration files
Files Added
None
Files Modified
dee-export.properties
Updated properties:
Property Name | Comment | New Value | Old Value |
---|---|---|---|
data.extraction.templates.base.dir.path | Path to retrieve the data extraction templates. | ./src/main/resources/dee-templates/ | ./risk-starter/src/main/resources/dee-templates/ |
risk-config.properties
New properties:
Property Name | Comment | Value |
---|---|---|
display.currency.level | The display currency level name used by the cubes | displayCurrency@displayCurrency@Currencies |
Updated properties:
Property Name | Comment | New Value | Old Value |
---|---|---|---|
bucketing.days.week | Number of days to use weeks when converting pillars for bucketing purposes. Used in the buckets level comparator. | 7.0 | 7 |
bucketing.days.month | Number of days to use months when converting pillars for bucketing purposes. Used in the buckets level comparator. | 30.0 | 30 |
bucketing.days.year | Number of days to use years when converting pillars for bucketing purposes. Used in the buckets level comparator. | 360.0 | 360 |
Deleted properties:
Property Name | Comment |
---|---|
ctx.reference.ccy | The ReferenceCurrency context value is replaced by the slicing hierarchy defined by the display.currency.level property. The default currency is now the first member of context-value.reference-currency.members |
risk.properties
New properties:
Property name | Value | Description |
---|---|---|
inc.metrics.list.summary.std | booking,top,trades | List of technical names of the relative metrics created for the Var-ES summary cube in the default/full profile. |
inc.metrics.list.summary.agg | booking,top | List of technical names of the relative metrics created for the Var-ES summary cube in the aggregated profile. |
Updated properties:
None
Deleted properties:
Property Name | Comment |
---|---|
inc.metrics.list.aggregated | Replaced by inc.metrics.list.summary.agg |
inc.metrics.list.import | Replaced by inc.metrics.list.summary.std |
signoff.propertis
New properties:
Property Name | Value | Comment |
---|---|---|
sign-off.adjustments.cube.signOffAdjustmentInputTypeLevel.VaR-ES\u0020Cube | Input type@Adjustment@Sign-off | Path of the second level of the adjustment hierarchy. This is used to set up the hierarchy in the Var-ES Cube |
sign-off.adjustments.cube.signOffAdjustmentInputTypeLevel.Sensitivity\u0020Cube | Input type@Adjustment@Sign-off | Path of the second level of the adjustment hierarchy. This is used to set up the hierarchy in the Sensitivity Cube |
sign-off.adjustments.cube.signOffAdjustmentInputTypeLevel.PLCube | Input type@Adjustment@Sign-off | Path of the second level of the adjustment hierarchy. This is used to set up the hierarchy in the PL Cube |
sign-off.extraction.templates | VaR-ES Cube:VaRESCubeExport,VaRESAggCubeExport,VaRESCubeMetricExport;Sensitivity Cube:SensiCubeExport,SensiAggCubeExport,SensiCubeMetricExport;PLCube:PLCubeExport,PLAggCubeExport | List of templates used for the sign-off export for each cube |
sign-off.extraction.templates.scalar | VaR-ES Cube:VaRESCubeExport,VaRESAggCubeExport,VaRESCubeMetricExport;Sensitivity Cube:SensiScalarCubeExport,SensiScalarAggCubeExport,SensiCubeMetricExport;PLCube:PLCubeExport,PLAggCubeExport | List of templates used for the sign-off export for each cube with the scalar profile |
Updated properties:
Property Name | Comment | New Value | Old Value |
---|---|---|---|
sign-off.adjustments.cube.hierarchiesToExclude.Sensitivity\u0020Cube | Hierarchies to exclude to compute the digest for cube-level adjustments in the Sensitivity cube | Date@Dates,MarketDataSets@MarketData,Quantiles@Quantiles,RoundingMethods@Rounding,Scenario Sets@Risk,Sign-off Status@Sign-off,DynamicMaturities@DynamicBucketing,DynamicMoneyness@DynamicBucketing,DynamicTenors@DynamicBucketing | Date@Dates,MarketDataSets@MarketData,Quantiles@Quantiles,RoundingMethods@Rounding,Scenario Sets@Risk,Sign-off Status@Sign-off |
Deleted properties:
Property Name | Comment |
---|---|
sign-off.database.asOfDate.pattern | Not used |
sign-off.adjustments.cube.ids | Not used |
signoff.export.properties
New properties:
Property Name | Value | Comment |
---|---|---|
sign-off.adjustments.cube.signOffTaskLevels | DEFAULT::Task@Sign-off Status@Sign-off | Sign-off hierarchy used to filter the ‘TOTAL REVIEWABLE’ for export |
Updated properties:
None
Deleted properties:
Property Name | Comment |
---|---|
signoff.export.cube.aggregated.aggregate-across | All the properties listed in this table have now been replaced by the export templates risk-starter/src/main/resources/dee-templates/\*.json |
signoff.export.cube.skip-hierarchies | |
signoff.export.mdx.max-results | |
signoff.export.store.max-results | |
signoff.export.max-file-size | |
signoff.export.csv-separator | |
signoff.export.store.skip-hierarchies | |
signoff.export.field-header-pairs | |
signoff.export.measure-header-pairs |
Files Deleted
None
Datastores
No changes
Cube schema
Added
Cube | Dimension | Hierarchy | Levels | Datastore fields | Details |
---|---|---|---|---|---|
ALL | Currencies | displayCurrency | displayCurrency | BaseCcy and CounterCcy on FXRates store | Filled by the IFxRates::getAvailableCurrencies service |
Sensitivity Cube | DynamicBucketing | DynamicTenors | DynamicSet | TenorSet in DynamicTenors store | |
Sensitivity Cube | DynamicBucketing | DynamicMaturities | DynamicSet | TenorSet in DynamicMaturities store | |
Sensitivity Cube | DynamicBucketing | DynamicMoneyness | DynamicSet | TenorSet in DynamicMoneyness store |
Modified
None
Removed
None
Measures
No changes
Context values
Added
None
Modified
None
Removed
The following context values are now replaced by the specified slicing hierarchy:
Removed context value | Replaced by slicing level | Where level members feed from | Comments |
---|---|---|---|
ReferenceCurrency | displayCurrency@displayCurrency@Currencies | getAvailableCurrencies function of the IFxRates bean |
Defined by the display.currency.level property. |
DynamicTenorSets | DynamicSet@DynamicTenors@DynamicBucketing | DynamicTenors store |
The hierarchy contains 2 levels: DynamicSet , Tenor . |
DynamicMaturitySets | DynamicSet@DynamicMaturities@DynamicBucketing | DynamicMaturities store |
The hierarchy contains 2 levels: DynamicSet , Maturity . |
DynamicMoneynessSets | DynamicSet@DynamicMoneyness@DynamicBucketing | DynamicMoneyness store |
The hierarchy contains 2 levels: DynamicSet , Moneyness . |
Sign-Off
DTO changes in Sign-Off API
All usage of the LevelTypedFieldDTO
class of the Sign-off API has been migrated to TypedFieldDTO
, due to deprecation.
Sign-off core feature moved to common library
As the sign-off core features are common to all Accelerators, they are now part of the shared.jar
common library.
This changes the location of some classes and also their package name.
Old full name | New full name | Comment |
---|---|---|
com.activeviam.risk.ref.cfg.adjustments.aggregated.CubeLevelAdjustmentsDatastoreDescriptionConfig | Feature moved to SignOffTaskConfig | |
com.activeviam.risk.ref.cfg.signoff.ISignOffDto | com.activeviam.accelerator.common.signoff.hierarchy.dto.ISignOffDto | |
com.activeviam.risk.ref.cfg.signoff.ISignOffTuplePublisherFactory | com.activeviam.accelerator.common.signoff.hierarchy.etl.ISignOffTuplePublisherFactory | |
com.activeviam.risk.ref.cfg.signoff.SignOffAnalysisConfig | com.activeviam.accelerator.common.signoff.hierarchy.spring.SignOffAnalysisConfig | |
com.activeviam.risk.ref.cfg.signoff.SignOffDto | com.activeviam.accelerator.common.signoff.hierarchy.dto.SignOffDto | |
com.activeviam.risk.ref.cfg.signoff.SignOffTuplePublisherFactory | com.activeviam.accelerator.common.signoff.hierarchy.etl.SignOffTuplePublisherFactory | |
com.activeviam.risk.ref.signoff.adjustments.Execution | com.activeviam.accelerator.common.signoff.adjustments.execution.Execution | |
com.activeviam.risk.ref.signoff.adjustments.ExecutionFunctionalComponents | com.activeviam.accelerator.common.signoff.adjustments.execution.ExecutionFunctionalComponents | |
com.activeviam.risk.core.adjustments.aggregated.cfg.LocationDigestStoreConfig | com.activeviam.accelerator.common.signoff.adjustments.aggregated.cfg.LocationDigestStores | Used by SignOffTaskConfig |
com.activeviam.risk.core.adjustments.aggregated.impl.LocationDigestFactory | com.activeviam.accelerator.common.signoff.adjustments.aggregated.impl.LocationDigestFactory | |
com.activeviam.risk.core.postprocessor.impl.SignOffAggregationProcedure | com.activeviam.accelerator.common.postprocessor.signoff.SignOffAggregationProcedure | |
com.activeviam.risk.core.postprocessor.impl.SignOffAnalysisHierarchy | com.activeviam.accelerator.common.postprocessor.signoff.SignOffAnalysisHierarchy | |
com.activeviam.risk.core.utils.signoff.ISignOffTaskFinder | com.activeviam.accelerator.common.signoff.hierarchy.utils.ISignOffTaskFinder | |
com.activeviam.risk.core.utils.signoff.SignOffDatastoreSchemaDescriptionPostProcessor | com.activeviam.accelerator.common.postprocessor.signoff.SignOffDatastoreSchemaDescriptionPostProcessor | |
com.activeviam.risk.core.utils.signoff.SignOffTaskFinder | com.activeviam.accelerator.common.signoff.hierarchy.utils.SignOffTaskFinder | |
com.activeviam.risk.core.utils.signoff.SignOffTools | com.activeviam.accelerator.common.signoff.hierarchy.utils.SignOffTools | |
com.activeviam.risk.core.adjustments.aggregated.impl.LocationDigestTest | com.activeviam.accelerator.common.signoff.adjustments.aggregated.impl.LocationDigestTest | Common lib tests, not shipped |
com.activeviam.risk.core.postprocessor.impl.SignOffAnalysisHierarchyTest | com.activeviam.accelerator.common.signoff.hierarchy.SignOffAnalysisHierarchyTest | Common lib tests, not shipped |
com.activeviam.risk.core.utils.signoff.SignOffTaskFinderTest | com.activeviam.accelerator.common.signoff.hierarchy.SignOffTaskFinderTest | Common lib tests, not shipped |
com.activeviam.risk.starter.cfg.signoff.adjustments.SignOffDatastoreCustomisations | Merged to SignOffAnalysisConfig | |
com.activeviam.risk.starter.cfg.signoff.service.impl.ISignOffService | com.activeviam.signoff.application.impl.ISignOffService | |
com.activeviam.risk.starter.cfg.signoff.service.impl.SignOffProcessKey | com.activeviam.signoff.application.impl.SignOffProcessKey |
Dynamic bucketing measures configuration for scalar sensitivities
A flag (boolean “isStandard”) was added to the AGreekSensiCubeSensiMeasureConfig.buildNativeCurrencyChain
method to distinguish between vectorized (also called standard) sensitivities and scalar sensitivities measures configurations.
The flag is used in the AGreekSensiCubeMeasureConfig.buildScalarMeasures
and AGreekSensiCubeMeasureConfig.buildStandardMeasures
methods.
Spring profiles
Added
Profile | Meaning |
---|---|
aggregated | The summary cubes are at desk level |
Removed
Profile | Meaning | Replacement |
---|---|---|
aggregated-import | Import cubes at desk level, vectorized sensitivities | standard + aggregated + enable.*.summary.cube=true + enable.*.cube=false |
store-import | Import cubes at trade level, vectorized sensitivities | standard + enable.*.summary.cube=true + enable.*.cube=false |
scalar-sensi-aggregated-import | Import cubes at desk level, scalar sensitivities | scalar-sensi + aggregated + enable.*.summary.cube=true + enable.*.cube=false |
scalar-sensi-store-import | Import cubes at trade level, scalar sensitivities | scalar-sensi + enable.*.summary.cube=true + enable.*.cube=false |
ISO configuration
The following table presents the ISO configuration for migrating the spring profiles to the new ones with the corresponding properties setup.
Old spring profile | new spring profile | enable.var.cube | enable.sensi.cube | enable.pnl.cube | enable.var.summary.cube | enable.sensi.summary.cube | enable.pnl.summary.cube |
---|---|---|---|---|---|---|---|
standard | standard | true | true | true | false | false | false |
scalar-sensi | scalar-sensi | true | true | true | false | false | false |
store-import | standard | false | false | false | true | true | true |
scalar-sensi-store-import | scalar-sensi | false | false | false | true | true | true |
aggregated-import | standard, aggregated | false | false | false | true | true | true |
scalar-sensi-aggregated-import | scalar-sensi, aggregated | false | false | false | true | true | true |