Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt

Use this file to discover all available pages before exploring further.

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

Migrate to 5.1.3

Breaking Changes

None.

Summary

  • Reinstating the Categories hierarchy: The Categories hierarchy that was removed in 5.1.0 can be added back with the configuration property categories-hierarchy.enabled=true.

Input file formats

Added

FileDetails
Categories.csvThis file provides a mapping of nodes in the book hierarchy to categories. It is only used if the property categories-hierarchy.enabled=true is set.

Configuration files

Files Modified

application.yaml
New properties:
Property NameCommentValue
categories-hierarchy.enabledFlag to enable the Categories hierarchy.“false”

Datastores

Added stores

StoreDetails
CategoriesSourceMaps parent/child nodes to categories. Used to build the Categories store. Only used if the property categories-hierarchy.enabled=true is set.
CategoriesMaps books to categories. Built from the CategoriesSource store. Only used if the property categories-hierarchy.enabled=true is set.

Cube schema

Added

CubeDimensionHierarchyLevelsDatastore fieldsDetails
AllOrganizationCategoriesCategoryCategories.CategoryA category that can be used for internal reporting. Only present if the property categories-hierarchy.enabled=true is set.

Migrate to 5.1.2

No migration needed.

Breaking Changes

None

Summary

  • version: Upgraded to 6.0.13
  • Bug fixes This release fixes some known issues.

Migrate to 5.1.1

No migration needed.

Breaking Changes

None

Summary

This release fixes some bugs.

Migrate to 5.1.0

Upgrading from version 5.0.1 See 5.1 Release Notes. uses 6.0.5 and 5.1.x. For new features and fixes included in these releases, please see the documentation and Migration Notes, and the release notes for . For clients licensed to use ActiveMonitor, a skeleton module based on version 6.0.5 is included with the 5.1.0 release.

Breaking Changes

None

Summary

DirectQuery

  • Direct Query Database Configuration changes: Some fields have been modified in this version. See the Direct Query Database Configuration section below for a complete list of changes.
  • Parent-child support with DirectQuery : LegalEntityParentChild and BookParentChild data can be provided in place of the LegalEntityHierarchy and BookHierarchy tables respectively.
  • Direct Query Database Configuration changes: Some fields have been modified in this version. See the Direct Query Database Configuration section below for a complete list of changes.
  • Additional DirectQuery Configuration Properties: See the new properties added to the application.yaml file.
  • DirectQuery distribution configuration: The distribution configuration in DirectQuery now requires three nodes instead of two. See DirectQuery Horizontal Distribution for details on how to set up distribution when using DirectQuery.
  • Migration REST Service: The Migration REST Service allows for extracting of data into a format that is ready to be loaded into one of the supported DirectQuery databases.
  • DirectQuery Annotations: Annotations for use with DirectQuery have been added to help make defining beans and configuration classes easier when using DirectQuery.
  • New Date Filter Configuration Bean: The newly added directQueryDatesToIncludeFilter bean allows for custom configuration of which dates to include in your DirectQuery data node.
  • Removed “preview” package: The preview package has been removed from the frtb-directquery module. All child packages or classes have been moved to the parent frtb package.
  • DirectQuery nodes work with in-memory Sign-off enabled nodes: A DirectQuery data node can now be connected to nodes with Sign-off enabled. The enable-signoff spring profile must be active on all nodes (in-memory and DirectQuery).
  • Removed CacheRemoteTableLocallyTuplePublisher: You no longer need custom channel parameters when defining a cached remote table.

Other Changes

  • Curvature store un-vectorized : Curvature store has been un-vectorized.
  • ChannelParameters follow fluent conventions : We have changed how ChannelParameters are created by following fluent conventions instead of relying on a handful of constructors.
  • Desk Descriptions separated from BookParentChild & BookHierarchy Stores: Desk Descriptions has been added to store desk descriptions.
  • Stop Using Trade-Level PV and Notional for DRC and Curvature: Measure Chains for DRC and Curvature stores have been adjusted to use PV and Notional respectively.
  • Split Desks from Book Parent Child: Desk Descriptions have been separated from the BookHierarchy store.
  • What-If upgrade to 2.0.1: See What-If section below for the summary of changes.
  • Book Desk Switching What-If Added new what-if for switching the desk of a given book. Works similarly to a desk model switch what-if
  • Merged SA Sensitivities stores : Fixed memory use issue by merging the stores TradeBase, Delta, Vega, Curvature, and DRCBase into a single SASensitivities store.
  • Added SA Query Cube : With this query cube, you can now query data across multiple data nodes in the StandardisedApproachCube.
  • Minor database field changes: Some fields have been modified in this version. See the Databases section below for a complete list of changes.
  • Parameter Adjustments: Updated parameters to match ISDA requirements in all data sets.
  • Actuator Endpoint: Tightened security in default configuration for Spring boot actuator and now require admin role.
  • Minor Refactoring of initialDataLoad bean: This bean now depends on a new bean, initialConfigDataLoad. More can be read below.

Parent-child support with DirectQuery

Previously the LegalEntityHierarchy and BookHierarchy stores had to define 5 and 15 levels respectively. Now, rather than creating and managing the LegalEntityHierarchy and BookHierarchy Tables yourself, you can instead just provide a ParentChild table, then create a series of views to generate the LegalEntityHierarchy and BookHierarchy Tables on the remote database. For the SQL script to create the views to populate from a ParentChild table, see:

Stop Using Trade-Level PV and Notional for DRC and Curvature

Measure Chains for DRC and Curvature stores have been adjusted to use PV and Notional respectively. A migration script has been provided for migrating input data for each store. The scripts can be found in the folder frtb-starter/src/scripts.
ScriptDescription
CopyCurvatureFromTradeAttributes.pyRetrieves PV from Trade Attributes file for each trade in a Curvature file. Additionally if PVApplied is ‘N’, and currencies don’t match, it queries a running project for the value.
CopyDRCFromTradeAttributes.pyRetrieves PV and Notional from Trade Attributes file for each trade in a DRC file.

Split Desks from Book Parent Child

Desk Descriptions have been separated from the BookHierarchy store. BookParentChild.csv has been deprecated and renamed to BookParentChild.v1.csv. Old files can still be loaded and a migration script has been provided for the new file format.
ScriptDescription
SplitBookParentChild.pyMigration script which takes BookParentChild.v1.csv and creates BookParentChild.v2.csv, DeskDescription.csv and BookDeskMapping.csv

What-If upgrade to 2.0.1

  • AWhatIfDefinition is now ADatabaseSimulationDefinition.
  • SimulationDefinitions create JsonDatabaseActions which can be INSERT, UPDATE, or DELETE.
  • To clean up the logic in the What-If REST controllers, some elements have been moved to simulation definitions.
  • Now that desk descriptions are separated from the BookParentChild store, we use the common library implementation of BookParentChildWhatIfSubmitter.

SA Query Cube

The SA Query Cube, named “StandardisedApproachCube”, allows for querying across multiple SA data nodes. When running an application with DirectQuery and in-memory data, you are now be able to query all data in the StandardisedApproachCube. Previously, querying across the multiple nodes was only available in the combined cube.

AsOfDate Filter Config Bean

A new bean directQueryDatesToIncludeFilter has been added that supports complex logic for which dates to include in your DirectQuery data node. You no longer have to specify the dates you want to exclude from your DirectQuery data node through the initial-load.business-dates property.

Input file formats

Added

FileDetails
BookParentChild.v1.csvThis file replaces BookParentChild.csv and allows users to load deprecated book parent child files
BookParentChild.v2.csvNew book parent child file which no longer contains desk descriptions
DeskDescription.csvNew file which contains desk descriptions
BookDeskMapping.csvNew file which contains book to desk mappings
IMA_ES_ScenarioFX.csvNew file that provides FX spot rates used in IMA ES scenarios

Modified

ModificationFileFieldOptionalDescription
UnusedBookParentChild.v1.csvCategoryCategory field will no longer be loaded
DeletedExpected Shortfall PL TradePnLNReplaced with PV
AddedExpected Shortfall PL TradePVNReplaces PnL (backwards compatible)
AddedExpected Shortfall PL TradeBase PVYIf present, subtracted from PV to get PnL
DeletedIMA SummaryPnLNReplaced with PV
AddedIMA SummaryPVNReplaces PnL (backwards compatible)
AddedIMA SummaryBase PVYIf present, subtracted from PV to get PnL

Deprecated

FileDetails
\BookParentChild.v1.csvBook Parent Child file with Desk descriptions

Configuration files

Files Added

CSRNonSec_HighRatings.csv
Added CSRNonSec_HighRatings.csv to provide the ratings that are considered “high” for CSR non-Sec covered bonds.
Multiplier.csv
This file has moved from the daily files to the configuration files.

Files Modified

signoff.properties
Updated properties:
Property NameCommentNew ValueOld Value
sign-off.level.membersNew member names for sign-off analysis hierarchyLATEST,SNAPSHOT,PRELIMINARYINTRA-DAY,TOTAL REVIEWABLE,UNAPPROVED
frtb.properties
New properties:
Property NameValueComment
contentServer.root.userpivotThe root user of the content server, used by RemoteContentServiceConfig.
contentServer.remote.max-connection-timePT5MThe max time to wait for Remote Content Service (in seconds or duration string), used by RemoteContentServiceConfig.
Deleted properties:
Property NameComment
contentServer.context-values.ignoreThis property was used for a workaround for performance issues when using a remote content server. The original issue was due to cache for entitlements being set in milliseconds instead of seconds.
frtb-config.properties
New properties:
Property NameValueComment
sbm.risk-factor.always-append-tenorfalseSet to true to always append the tenor to the risk factor name based on the risk-class and risk measure.When false the tenor will only be appended for those rows that contain vectors of sensitivities.
curvature.pv-ladder.levelPresent Value Ladder@Present Value Ladder@RiskPresent Value Ladder Level
drc.gross-jtd.overridden.levelDRC Gross JTD Overridden@DRC Gross JTD Overridden@Default Risk ChargeCube level for Gross JTD Overridden
agg.cache.size.sa-query10,000,000Configures the size of the aggregate cache for the StandardisedApproachCube Query Node
Deleted properties:
Property NameComment
curvature.pv.overridden.levelNo longer needed now that Trade PV is no longer used
drc.pv.overridden.levelNo longer needed now that Trade PV is no longer used
drc.notional.overridden.levelNo longer needed now that Trade Notional is no longer used
frtb-data-load.properties
New properties:
Property NameValueDetails
csr-non-sec.high-ratings.file-pattern*/CSRNonSec_HighRatings.csv{,.gz}File name pattern match for CSRNonSec_HighRatings.csv
application.yaml
New properties:
Property NameDefault ValueDetails
directquery.waitForDataLoadtrueApplication will wait to start until all initial aggregation queries are complete.
directquery.schema.validation.validateOnStartuptrueValidate the remote database schema when the application starts.
directquery.schema.validation.failStartupOnBadSchematrueIf the schema is invalid, then the application should not start.
directquery.clustering.enabledtrueIndicates if clustering by database fields is enabled.
directquery.clustering.clusteringPerTableSASensitivities: AsOfDateDefines the clustering fields per database table.
directquery.database.snowflake.feedingWarehousedirectquery.database.snowflake.warehouse valueThe Snowflake compute warehouse to use for the initial aggregation queries.
directquery.database.snowflake.rolenullThe Snowflake user role for Atoti FRTB to use when running queries on the database.
management.endpoints.web.exposure.excludeenv,beansEndpoints to exclude from Spring boot actuator
management.endpoint.env.additional-keys-to-sanitizeactiveviam.jwt.key.*Exclude JWT keys from actuator env endpoint (if enabled)
Updated properties:
Property NameNew ValueOld ValueComment
management.endpoints.web.exposure.includehealth*Only expose health endpoint in actuator

Files Deleted

Multiplier.csv was previously loaded as a daily file, but has been moved to the configuration files.

Datastores

Added stores

StoreDetails
CSRNonSecHighRatingsThe ratings that are considered “high” for CSR non-Sec covered bonds.
SaSensitivitiesMerged TradeBase, Delta, Vega, Curvature, and DRCBase stores.
BookDescriptionSplit descriptions of the desks from BookHierarchy.
DeskDescriptionSplit mapping of books to desks from BookHierarchy.

Modified stores

ModificationStoreFieldTypeDescription
ModifiedCurvatureRiskWeightDoubleCurvature store is now un-vectorized on ETL, files can remain untouched.
ModifiedCurvatureShift_Up_PVDoubleCurvature store is now un-vectorized on ETL, files can remain untouched.
ModifiedCurvatureShift_Down_PVDoubleCurvature store is now un-vectorized on ETL, files can remain untouched.
AddedCurvaturePVLadderStringNew optional field for interpolation.
DeletedCurvaturePresentValueOverriddenStringNo longer needed now that Trade PV is no longer used.
DeletedDRCBasePresentValueOverriddenStringNo longer needed now that Trade PV is no longer used.
DeletedDRCBaseNotionalOverriddenStringNo longer needed now that Trade Notional is no longer used.
ModifiedBookHierarchySplit out BookDescription and DeskDescription stores.
AddedSaSensitivitiesUnderlyingStringAdded Underlying field, files can remain untouched.
ModifiedRiskFactorDescriptionUnderlyingStringMade Underlying a key field.
AddedSaSensitivitiesTradeKeyStringAdded TradeKey field, files can remain untouched.
ModifiedTradeMappingTradeKeyStringTradeID field renamed to TradeKey.

Deleted stores

StoreDetails
TradeBaseMerged into SaSensitivities store
DeltaMerged into SaSensitivities store
VegaMerged into SaSensitivities store
CurvatureMerged into SaSensitivities store
DRCBaseMerged into SaSensitivities store

Partitioning

The datastore partitioning has been modified to match the partitioning of the default partial LEAF aggregate providers. The following stores now use modulo partitioning on the Underlying (or equivalent) field
  • SaSensitivities
  • RiskFactorDescription
  • UnderlyingDescription
  • RRAO (RRAOCategory)
  • Obligor (ObligorId)
  • Tranche (Tranche)
  • Security (Security)
The following stores no longer use modulo partitioning on TradeId
  • SaSensitivities
  • SATradeDescription
  • TradeMapping

Databases

Added Tables

TableDetails
SaSensitivitiesMerged TradeBase, Delta, Vega, Curvature, and DRCBase tables.
BookDeskMappingSplit descriptions of the desks from BookHierarchy.
Desk DescriptionDesk descriptions have been separated out from the BookHierarchy store.

Cube schema

Added

CubeDimensionHierarchyLevelsDatastore fieldsDetails
StandardisedApproachRiskPresent Value LadderPresent Value LadderSaSensitivities.PVLadderThe cube leaf level (along with the RiskFactor and AsOfDate) to use when interpolating shocked PV ladders.
StandardisedApproachCurrenciesCurrencyCcySaSensitivities.CcyCurrency used in the Sensitivity, Shift_Up_PV, Shift_Down_PV, PresentValue, Notional, GrossJTD, and Adjustment fields.
Merged from several (hidden) currency levels.

Modified

None

Removed

None

Measures

Added

CubeMeasureDetails
StandardisedApproachSAThe Portfolio Risk Charge measure evaluated independently for the IRT and non-IRT desks, then summed.

Context values

No changes

Measure Customizations

The annotations used to customize measures have changed as follows:
CubeOld AnnotationNew AnnotationList of Measures
StandardisedApproachCube@SACopperContextBean@SAMeasure
InternalModelApproachCube@IMACopperContextBean@IMAMeasureIMA Cube Measure Beans
StressCalibrationCube@StressCalibrationMeasure
Additionally, the @Primary annotation is no longer needed on the custom measures. See Replacing Cube Measures for more details.

Other changes

initialDataLoad bean refactoring

The initialDataLoad bean has been slightly altered to now rely on an initialConfigDataLoad bean which is responsible for loading the configuration data. The overall logic and order of file loading has not changed. Moving the loading of the configuration data into its own bean allows for cleaner configuration of a DirectQuery application.

Removed CacheRemoteTableLocallyTuplePublisher

The CacheRemoteTableLocallyTuplePublisher has been removed. Now when defining tables to cache locally, all that is required is to define the qualified SideStoresToCache bean.