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