Migration notes 5.3

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

Migrate to 5.3.0-BETA

Upgrading from version 5.2.0, see Atoti FRTB 5.3-BETA Release Notes.

Atoti FRTB uses Atoti Server 6.0.12-sb3 and Atoti UI 5.1.x. For new features and fixes included in these releases, please see the Atoti UI documentation and Atoti UI Migration Notes, and the release notes for Atoti Server.

For clients licensed to use ActiveMonitor, a skeleton module based on version 6.0.12-sb3 is included with the Atoti FRTB 5.3.0-BETA release.

Headline announcement

  • EBA Reporting : Additional fields and measures have been included to support new EBA reporting templates.
    • The “Imported” measures used for the old reporting templates have been deprecated.
  • Spring Boot 3 : Upgraded to Spring Boot 3.
  • Spring Profiles : Profile-based configuration has been replaced with properties (backwards compatible).
  • UI Activation : An import of react-query is required when using frtb-sdk. See UI activation for more details.
  • DirectQuery IMA Support: Addes support for using the IMA-ES cube (InternalModelApproachCube) with DirectQuery.
  • Configuration Property Naming Convention: Configuration properties inside application.yaml have been updated from camelCase to kebab-case. This change is to align with the Spring Boot naming convention. Both naming conventions are interchangeable/compatible with each other.
  • IMA and IMA-DRC query cubes: The IMA and IMA-DRC query cubes have been added to the InternalModelApproachCube and InternalModelApproachDrcCube respectively. These cubes are used to query the IMA and IMA-DRC data across data nodes. A complete list of measures can be found here.

Breaking Changes

  • IRT_Desk field: Moved from the DeskDescription store to the BookDescription store. This change is also reflected in DirectQuery Tables.
    The BookDescription store was previously named BookDeskMapping. Backwards compatibility with old input files is maintained, though the use of the IRT_Desk field in DeskDescription files has been deprecated.

Profile-based Configuration

The code in Atoti FRTB will no longer change behavior based directly on Spring profiles. Instead, the behavior will be determined by properties. The properties can be set by profile-selected configuration files. Default properties files are included to preserve backwards compatibility with the use of profiles.

In particular, instead of the profiles dist-data-node, dist-query-node, and forceNetty (and the property directquery.enabled), we have the following properties:

Property Description Values
starter.deployment.type Specifies the nature of the database used for the cube. It can take three values:
  • in-memory (default): The in-memory datastore is used.
  • direct-query: An external database is used. This replaces the directquery.enabled property.

    note

    An in-memory datastore is still used for configuration data and caching.

  • query-node: No database is used. This can contain the FRTBCombinedCube and the StandardisedApproachCube (support for IMA cubes will be in a future version).
starter.deployment.transport Specifies the messenger to use for communication between cubes. It can take two values:
  • local (default): For communication only within a single machine. It cannot be used for distribution, but is faster if distribution isn’t needed.
  • netty: For jgroups communication between machines in a distributed deployment.
combined.disable=false An existing flag which turns the FRTBCombinedCube polymorphic cube on or off.

Change to frtb.properties

We have switched from frtb.properties to application.properties which is automatically picked up by Spring Boot. Properties are no longer read from frtb.properties which has now been removed.

The following configuration files have been added to match the behavior of the profiles:

Spring profile Configuration file starter.deployment.type starter.deployment.transport combined.disable
default in-memory local unset (false)
dist-data-node application-dist-data-node.yaml in-memory netty true
dist-query-node application-dist-query-node.yaml query-node netty unset (false)
forceNetty application-forceNetty.yaml unset (in-memory) netty unset (false)

See the Externalized Configuration section of the Spring boot documentation for more information on profiles and property management.

Input file formats

Added

File Details
BookDescription.csv This file replaces BookDeskMapping.csv and provides a description of the books.
It includes the IRT_DESK field which replaces the field of the same name removed from the DeskDescription file. The old input file BookDeskMapping.csv is deprecated but can still be loaded.

Modified

Modification File Field Optional Description
Added DRC_Trade.csv Instrument Type Y Reported Instrument Type (“Equity” or “Debt”).
Added DRC_Summary.csv Instrument Type Y Reported Instrument Type (“Equity” or “Debt”).
Added RRAO_Trade.csv Residual Risk Y Is this position subject to RRAO.\nDefault = ‘Y’.
Added RRAO_Trade.csv Exemption Reason Y Reported reason why the position is exempt from RRAO.
Added RRAO_Trade.csv Asset Class Y Reported asset class.
Added RRAO_Summary.csv Residual Risk Y Is this position subject to RRAO.\nDefault = ‘Y’.
Added RRAO_Summary.csv Exemption Reason Y Reported reason why the position is exempt from RRAO.
Added RRAO_Summary.csv Asset Class Y Reported asset class.
Added RRAO_Overrides.csv Exemption Reason Y Reported reason why the position is exempt from RRAO.
Added RRAO_Overrides.csv Asset Class Y Reported asset class.
Added SBM_Delta_Sensitivities.csv GIRR Basis Ccy Y The counter currency for GIRR cross-currency basis curves (USD or EUR).
Added SBM_Summary_Delta_Sensitivities.csv GIRR Basis Ccy Y The counter currency for GIRR cross-currency basis curves (USD or EUR).
Added SBM_Vega_Sensitivities.csv GIRR Basis Ccy Y The counter currency for GIRR cross-currency basis curves (USD or EUR).
Added SBM_Summary_Vega_Sensitivities.csv GIRR Basis Ccy Y The counter currency for GIRR cross-currency basis curves (USD or EUR).
Removed DeskDescription.csv IRT_DESK Y This field has been deprecated to use this field to overwrite the ones provided in the BookDescription files you must enable irt.desk.use-desk-description

Deprecated

File Details
LegalEntityImports.csv Imported measures are deprecated and only provided for backwards compatibility with older EBA reporting templates.
BookMapping.csv This file can still be loaded, but has been replaced by DeskDescription.csv

Configuration files

Files Modified

hibernate.properties

New properties:

Property Name Comment Value
content-service.db.jakarta.persistence.jdbc.driver Replaces content-service.db.driverClassName org.h2.Driver

Deleted properties:

Property Name Comment
content-service.db.driverClassName Replaced by content-service.db.jakarta.persistence.jdbc.driver
application.yaml

New properties:

Property Name Comment Value
starter.deployment.type The type of database used for the cube. in-memory (default), direct-query or query-node. “in-memory”
starter.deployment.transport The messenger to use for communication between cubes. local (default) or netty. “local”
server.servlet.session.cookie.name Customize cookie name “FRTB_JSESSIONID”
server.servlet.session.cookie.secure Whether to always mark the cookie as secure “true”
server.servlet.session.cookie.http-only Whether to use “HttpOnly” attribute for the cookie “true”
server.servlet.session.cookie.same-site SameSite setting for the cookie “none”
directquery.database.databricks.* DirectQuery settings for Databricks database

Deleted properties:

Property Name Comment
directquery.enabled Replaced by starter.deployment.type=direct-query
directquery.wait-for-data-load / directquery.waitForDataLoad Replaced by starter.deployment.type=direct-query
application.properties (formerly frtb.properties)

New properties:

Property Name Comment Value
tracing.enabled Enable OpenTelemetry Configuration true
open-telemetry.zipkin-span-exporter.url URL to use for zipkin SpanProcessor bean
open-telemetry.logging-span-exporter.enabled Enable SpanProcessor bean with LoggingSpanExporter
frtb-config.properties

New properties:

Property Name Comment Value
irt.desk.use-desk-description Flag to use deprecated IRT_Flag field from DeskDescription input files to override the values provided by BookDescription input files false
frtb-data-load.properties

Updated properties:

Property Name Comment New Value Old Value
book-description-file-pattern Renamed from book-desk-mapping.file-pattern **/{BookDeskMapping,BookDescription}*.csv{,.gz} **/BookDeskMapping*.csv{,.gz}

Datastores

Added stores

Store Details
BookDescription Replaces BookDeskMapping store.

Modified stores

Modification Store Field Type Description
Added SaSensitivities Instrument Type String For DRC non-Sec only. Reported Instrument Type (“Equity” or “Debt”).
Added RRAO Exemption Reason String Reported reason why the position is exempt from RRAO.
Added RRAO Asset Class String Reported asset class.
Added RRAOOverrides Exemption Reason String Reported reason why the position is exempt from RRAO.
Added RRAOOverrides Asset Class String Reported asset class.
Added UnderlyingDescription GIRR Basis Ccy String GIRR only. The counter currency for GIRR cross-currency basis curves (USD or EUR).
Added BookDescription IRT_DESK String
Removed DeskDescription IRT_DESK String

Removed stores

Store Details
BookDeskMapping Renamed as BookDescription

DirectQuery

Added

Added Details
IMA ES Support DirectQuery can now be used with the InternalModelApproachCube cube. The IMA ES calculations can now be performed against data sourced from a remote database when using DirectQuery.
Cube Conditional Annotations Conditional expression annotations to create beans depending on whether different cubes are enabled/disabled.
Dates Filter Added configurations to filter the dates the DirectQuery node has access to from the remote database.
DirectQueryCachedTablesConfig Configures which tables to cache in-memory, sourced from a DirectQuery remote database table.
DirectQueryDictionarizedFieldsConfig Configures which DirectQuery table fields should be dictionarized.

Changed

Change Details
InitialDataDirectQueryConfig replaced with DirectQueryDatesFilterConfig Filtering dates has been modified to use standalone properties. Additionally customizations of the DirectQueryDatesFilterConfig beans have been simplified.
Defining tables to cache locally How the tables to cache locally are defined has changed. Customizing the tables that are cached locally has been simplified.
Reference database data is now GZipped. The reference data that is provided within frtb-directquery/src/test/resources/databases/xxx/input_data/ is now GZipped. This reduces the size of the deliverables.

Removed

Class Details
ADirectQueryDatabaseSchema Configuration has been removed and replaced with DirectQueryCachedTablesConfig and DirectQueryDictionarizedFieldsConfig.

Removal of ADirectQueryDatabaseSchema

Rather than manually migrating each in-memory datastore definition into a DirectQuery database table, we now fully rely on the Migrator to migrate our in-memory datastore definitions into DirectQuery table definitions. This is done within the DirectQueryApplicationConfig.schema() method.

All customizations on in-memory stores will be automatically applied to the DirectQuery schema.

Databases

Added tables

Table Details
ES_SCENARIO_FX_RATES Only needed for IMA
IMARISK_FACTORS Only needed for IMA
IMATRADES Only needed for IMA
SCENARIOS Only needed for IMA
BOOK_DESCRIPTION Replaces BookDeskMapping table.

Modified tables

Modification Table Field Type Description
Added SASENSITIVITIES INSTRUMENT_TYPE STRING For DRC non-Sec only. Reported Instrument Type (“Equity” or “Debt”).
Added RRAO EXEMPTION_REASON STRING Reported reason why the position is exempt from RRAO.
Added RRAO ASSET_CLASS STRING Reported asset class.
Added RRAOOVERRIDES EXEMPTION_REASON STRING Reported reason why the position is exempt from RRAO.
Added RRAOOVERRIDES ASSET_CLASS STRING Reported asset class.
Added UNDERLYING_DESCRIPTION GIRR_BASIS_CCY STRING GIRR only. The counter currency for GIRR cross-currency basis curves (USD or EUR).
Added BOOK_DESCRIPTION IRT_DESK String
Removed DESK_DESCRIPTION IRT_DESK String

Deleted tables

Table Details
BookDeskMapping Renamed as BOOK_DESCRIPTION

Deprecated

Table Details
LegalEntityImports Imported measures are deprecated and only provided for backwards compatibility with older EBA reporting templates.

Cube schema

Added

Cube Dimension Hierarchy Levels Datastore fields Details
SA Default Risk Charge [DRC non-Sec Instrument Type] DRC non-Sec Instrument Type SaSensitivities.Instrument Type Reported type of the instrument, equity or debt.
SA Risk [RRAO Exemption Reason] RRAO Exemption Reason RRAO.Exemption Reason Reported reason why the position is exempt from RRAO.
SA Risk [RRAO Asset Class] RRAO Asset Class RRAO.Asset Class Reported asset class for the position.
SA Risk [GIRR Basis Ccy] GIRR Basis Ccy UnderlyingDescription.GIRR Basis Ccy The counter currency for GIRR cross-currency basis curves.

Measures

Added

Cube Measure Details
SA risk-class risk-measure Risk Position scenario (reported) The “Reported” variation of the SBM Risk Position measures have been added for the new EBA reporting requirements.
SA drc-risk-class Net JTD direction (reported) The “Reported” variation of the DRC Net JTD measures have been added for the new EBA reporting requirements.
SA drc-risk-class WtS Ratio (reported) The “Reported” variation of the DRC WtS Ratio measures have been added for the new EBA reporting requirements.

Moved

The following measures have been moved form the CombinedCube into the respective query cubes. By moving these measures into the query cube, we can now query across dates and data nodes without the measure needing to be defined in the CombinedCube. These measures will still exist in the CombinedCube and on all data-nodes.

Previous cube New cube Measure name
CombinedCube StandardisedApproachCube PortfolioRiskCharge.Shift
CombinedCube StandardisedApproachCube PortfolioRiskCharge.D2D
CombinedCube IMADRCCube DRC - IMA
CombinedCube IMADRCCube IMADRC Lookback
CombinedCube IMADRCCube IMADRCavg
CombinedCube InternalModelApproachCube IMCCavg
CombinedCube InternalModelApproachCube SESavg
CombinedCube InternalModelApproachCube CA
CombinedCube InternalModelApproachCube IMCC Lookback
CombinedCube InternalModelApproachCube SES Lookback
CombinedCube InternalModelApproachCube ES (Model Variation) Lookback
CombinedCube InternalModelApproachCube ES (Model Variation) avg

Deprecated

Cube Measure Details
SA base-measure Imported Imported measures are and only provided for backwards compatibility with older EBA reporting templates. In a future version these measures will be hidden.

Context values

No changes.