Migration notes 4.1

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

Migrate to 4.1

Upgrading from version 4.0 - See FRTB Accelerator 4.1 Release Notes.

The Accelerator is using ActivePivot 5.10.10 and ActiveUI 5.0.14.

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.10 is included with the FRTB Accelerator 4.1.0 release.

Breaking Changes

  • The IMASummaryCube has been removed.

  • By default context values stored in the content server are ignored. Set contentServer.context-values.ignore=false to revert to previous behavior.

  • No longer support partial months or weeks when parsing tenors in CSV files, e.g. “3.5W” or “4.5M”

  • An additional column (“DRC Fund Treatment”) has been added to the SA DRC Obligor Overrides file format.

Stress Calibration Cube

Added Stress Calibration Cube for identifying period with the highest aggregate capital charge for modellable risk factors (IMCC and SES).

IMASummaryCube removed

  • The data belonging to the summary scope (aggregated at book level) are now held by the InternalModelApproachCube.
  • When loading summary data, the full data (with trade id) are wiped out for the impacted dates, to avoid duplicate data.
  • The file formats and source topics remain unchanged.
  • The IMASummaryCube queries should now be run on the InternalModelApproachCube, the other queries remain unchanged.
  • The partitioning of the IMATrades store has been changed to hold numerous dates.

CSR Bucket override for CRR2/CRR3

The integration of CSR buckets for CRR2 and CRR3 has been simplified. If a CSR sensitivity input file ("**/SBM_*Sensitivities(SECCTP|SECNONCTP|CSRNS).csv") has no selected bucket (the Bucket field), the quality and sector (CSRQuality and CSRSector fields) are used to select the bucket.

For BCBS, the bucket is computed and set as usual on the UnderlyingDescription store. For other jurisdictions (CRR2 and CRR3), if the bucket is different from the BCBS one, an override entry is created automatically on the UnderlyingDescriptionOverrides store with the right bucket. As a result, registering the CRR2 or CRR3 buckets on the “**/Underlying_Desc_Overrides*.csv” file is no longer needed if the bucket is not set on the sensitivity file.

The files “**/CSR_Bucket_NONSEC*.csv”, “**/CSR_Bucket_SECCTP*.csv”, and “**/CSR_Bucket_SECNONCTP*.csv” have been modified to handle the jurisdiction:

  • An extra ParameterSet column has been added, allowing you to override the bucket selection for CRR2/CRR3 jurisdiction.
  • The asOfDate parameter now represents the start date on which the bucket definition takes effect, rather than the current asOfDate.
  • As the files are not daily files anymore, they are now located in the /resources/data/configuration folder.
  • The files are now loaded at the very first stage of the initial load, under the ConfigurationData topic, which is not dependent on the asOfDate.

In short, to migrate the files “**/CSR_Bucket_NONSEC*.csv”, “**/CSR_Bucket_SECCTP*.csv”, “**/CSR_Bucket_SECNONCTP*.csv”:

  1. Move the files from .../{asOfDate}/Sensitivities/samples to .../configuration.
  2. Add a new column at the end called Parameter Set.
  3. Replace the asOfDate by a starting date like “2016-01-01”.
  4. Stop feeding them on a daily basis.

Sign-Off Adjustments

New Sign-Off Adjustments have been added to the FRTB Accelerator. For a list of supported adjustments, see Supported Sign-Off adjustments in FRTB.

Input file formats

Added

File Details
Stress Calibration PL Trades Contains historical PnL vector for various risk scenarios, liquidity horizons and risk classes, used to calculate the Expected shortfall.
Stress Calibration Scenarios Describes date assigned to each index of historical PnL vector in the stress calibration trades file.

Modified

Modification File Field Optional Description
Added DRC Trade Level DRC Fund Treatment Y Flag indicating if the obligor cannot be included in offsetting or diversification with other exposures.
Added Obligor Overrides DRC Fund Treatment Y Flag indicating if the obligor cannot be included in offsetting or diversification with other exposures.

Removed

File Details
CSR_Bucket_NONSEC.csv Moved to the configuration section, no longer a daily file.
CSR_Bucket_SECCTP.csv Moved to the configuration section, no longer a daily file.
CSR_Bucket_SECNONCTP.csv Moved to the configuration section, no longer a daily file.

Configuration files

Files Added

CSR_Bucket_NONSEC.csv

Translation from (Credit Quality,Sector,Parameter Set) to bucket for CSR Non-Sec.

CSR_Bucket_SECCTP.csv

Translation from (Credit Quality,Sector,Parameter Set) to bucket for CSR Sec CTP.

CSR_Bucket_SECNONCTP.csv

Translation from (Credit Quality,Sector,Parameter Set) to bucket for CSR Sec Non-CTP.

frtb-cloud.properties

Configures the properties required to load from cloud object storage.

Files Modified

frtb.properties

New properties:

Property Name Value Comment
ima.disable false Set to true to disable IMA cubes:
InternalModelApproachCube, IMADRCCube, PLCube, PLSummaryCube, IMADRCSummaryCube & StressedCalibrationCube
ima.es.disable false Set to true to disable IMA ES cubes:
InternalModelApproachCube
ima.drc.disable false Set to true to disable IMA DRC cubes:
IMADRCCube & IMADRCSummaryCube
ima.plat-backtesting.disable false Set to true to disable IMA PLAT & Backtesting cubes:
PLCube & PLSummaryCube
ima.stress-calibration.disable false Set to true to disable StressedCalibrationCube
combined.disable false Set to true to disable FRTBCombinedCube
contentServer.context-values.ignore true Ignore context values stored in the content server (improves performance for remote content servers).
user-detail-filename null Specify csv file for describing userDetailService (if property not set then use hardcoded user details; if property is set, then load from file)
frtb-config.properties

New properties:

Property Name Value Comment
stress-calibration.sliding-window.size 250 Stress Calibration sliding window size
stress-calibration.scenario.level Scenario@Scenarios@Risk Stress Calibration Cube level for Scenario
stress-calibration.data.sets.level Data Set@Data Sets@Risk Stress Calibration Cube level for Data sets
stress-calibration.sliding-window.level Sliding Window@Sliding Window@Risk Stress Calibration Cube level for Sliding windows
stress-calibration.horizons.level Liquidity Horizon@Liquidity Horizons@Risk Stress Calibration Cube level for liquidity horizons
stress-calibration.risk-class.level RiskClass@Risk Classes@Risk Stress Calibration Cube level for Risk Classes
stress-calibration.as-of-date.level AsOfDate@Date@Dates Stress Calibration Cube level for As Of Date
stress-calibration.currency.leaf.level Currency@Currencies@Risk Stress Calibration Cube level for Currency
agg.cache.size.stresscalibration -1 The size of the aggregate cache for the StressCalibrationCube
sa.drc.strict-long-short false true to apply MAX/MIN to Gross JTD according to long/short direction.
false to assume direction from sign of Gross JTD.
ima.ses.pl-vector-scenarios.level RiskClass@Risk Classes@Risk The level to use for looking up NMRF scenarios
sa.drc.strict-long-short false true to apply MAX/MIN to Gross JTD according to long/short direction.
false to assume direction from sign of Gross JTD
drc.fund-treatment.level DRC Fund Treatment@DRC Fund Treatment@Default Risk Charge The name of the level for DRC Equity Fund Treatment flag
ima.date.specific.omega Today=DAY0,Friday=WDA5 The specific dates used to fill the OmegaDate hierarchy, the first one is the default.

The format is <three characters for date plugin name> + <an integer as a parameter>.
Where the default registered date plugins are:
  • DAY: the business day
  • EOM: end of month
  • EOQ: end of quarter
  • EOY: end of year
For example:
Tomorrow = DAY+1
Previous day = DAY-1
End of month = EOM-1
ima.date.level.omega OmegaDate@OmegaDate@Dates The name of the omega date level
ctx.queries-result-limit.transient-size 10000000 The query result limit for intermediate values, defined by the “queriesResultLimit.transientSize” context value
ctx.queries-result-limit.intermediate-size 1000000 The query result limit for intermediate values, defined by the “queriesResultLimit.intermediateSize” context value

Updated properties:

Property Name Old Property Name / Value Value Comment
ima.as-of-date.level ima.asOf.data.level AsOfDate@Date@Dates Changed to keep in line with naming convention
signoff.extraction.templates DEFAULT:CubeAdjustmentExport;StandardisedApproachCube:CrifExtraction;InternalModelApproachCube:IMACubeExport;InternalModelApproachCube|ES (Basic):IMACubeExportESBasic;PLCube:PLCubeExport;IMADRCCube:IMADRCCubeExport DEFAULT:CubeAdjustmentExport;StandardisedApproachCube:CrifExtraction;InternalModelApproachCube:IMACubeExport;PLCube:PLCubeExport;IMADRCCube:IMADRCCubeExport

Removed properties:

Property Name Comment
agg.cache.size.imasummary As the IMA Summary Cube has been removed, this property is no longer needed.

frtb-data-load.properties

New properties:

Property Name Value Comment
stress-calibration.trades.file-pattern **/StressCalibration_*_Trades*.csv Stress Calibration trades file pattern
stress-calibration.scenarios.file-pattern **/StressCalibration_Scenarios*.csv Stress Calibration scenarios file pattern
calendars.file-pattern **/Calendar*.csv Calendar file pattern

signoff.properties

New properties:

Property Name Value Comment
sign-off.adjustments.cube.signOffFeedLevel.StressCalibrationCube Feed@Sign-off Status@Sign-off Stress Calibration parameters for sign-off
sign-off.adjustments.cube.signOffStatusLevel.StressCalibrationCube Status@Sign-off Status@Sign-off Stress Calibration parameters for sign-off
sign-off.adjustments.cube.signOffTaskLevel.StressCalibrationCube Task@Sign-off Status@Sign-off Stress Calibration parameters for sign-off
sign-off.adjustments.cube.signOffAdjustmentSourceLevel.StressCalibrationCube Source@Adjustment@Sign-off Stress Calibration parameters for sign-off
sign-off.adjustments.cube.signOffAdjustmentInputTypeLevel.StressCalibrationCube Input type@Adjustment@Sign-off Stress Calibration parameters for sign-off
sign-off.stress-calibration.levels AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking Stress Calibration parameters for sign-off

Updated properties:

Property Name Comment New Value Old Value
sign-off.imadrc.levels The levels that are eligible to the sign-off perimeters definition AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking,Level 1@BookHierarchy@Organization,Level 2@BookHierarchy@Organization,Level 3@BookHierarchy@Organization,Level 4@BookHierarchy@Organization,Level 5@BookHierarchy@Organization AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking
sign-off.ima.levels The levels that are eligible to the sign-off perimeters definition AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking,Level 1@BookHierarchy@Organization,Level 2@BookHierarchy@Organization,Level 3@BookHierarchy@Organization,Level 4@BookHierarchy@Organization,Level 5@BookHierarchy@Organization AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking
sign-off.pl.levels The levels that are eligible to the sign-off perimeters definition AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking,Level 1@BookHierarchy@Organization,Level 2@BookHierarchy@Organization,Level 3@BookHierarchy@Organization,Level 4@BookHierarchy@Organization,Level 5@BookHierarchy@Organization AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking
sign-off.sa.levels The levels that are eligible to the sign-off perimeters definition AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking,Level 1@BookHierarchy@Organization,Level 2@BookHierarchy@Organization,Level 3@BookHierarchy@Organization,Level 4@BookHierarchy@Organization,Level 5@BookHierarchy@Organization AsOfDate@Date@Dates,Book@Books@Booking,Desk@Desks@Booking

FRTBParameters.csv

Modification Parameter Type Default Description
Added calendar.week.end SATURDAY,SUNDAY The weekend definition for the business day calendar
Added calendar.place The name of the calendar used to fetch the relevant calendar from the datastore

Datastores

Added stores

Store Details
StressCalibrationTrades Base trade store
StressCalibrationTradesPL Historical PnL vectors
StressCalibrationScenarios Stress calibration scenarios store
StressCalibrationDataSet Holds the three possible data sets (i.e. Full Set Current, Reduced Set Current, Reduced Set Stressed) for use as an analysis hierarchy.
Calendar Holds the calendar based on place and jurisdiction and marks closed days.

Modified stores

Modification Store Field Type Description
Added IMATrades TradeKey String Primary key that contains either tradeID or book and legal entity
Added IMATradesPL TradeKey String Primary key that contains either tradeID or book and legal entity
Deleted IMATrades TradeId String The link to the main table is now ensured by the TradeKey value
Added Obligor DRC Fund Treatment String Flag indicating if the obligor cannot be included in offsetting or diversification with other exposures.
Added ObligorOverrides DRC Fund Treatment String Flag indicating if the obligor cannot be included in offsetting or diversification with other exposures.
Modified CSRNonSecBucket AsOfDate LOCALDATE[yyyy-mm-dd] The start date on which the bucket definition takes effect instead of the asOfDate.
Added CSRNonSecBucket ParameterSet String The parameter set to which the parameter belongs (default = BCBS).
Modified CSRSecNonCTPBucket AsOfDate LOCALDATE[yyyy-mm-dd] The start date on which the bucket definition takes effect instead of the asOfDate.
Added CSRSecNonCTPBucket ParameterSet String The parameter set to which the parameter belongs (default = BCBS).
Modified CSRSecCTPBucket AsOfDate LOCALDATE[yyyy-mm-dd] The start date on which the bucket definition takes effect instead of the asOfDate.
Added CSRSecCTPBucket ParameterSet String The parameter set to which the parameter belongs (default = BCBS).

Deleted stores

Store Details
IMASummary No longer used as the IMASummaryCube has been removed
IMASummaryPL No longer used as the IMASummaryCube has been removed

Cube schema

Added

Cube Dimension Hierarchy Levels Datastore fields Details
StressCalibration Risk Risk Risk Factor Set Risk Factors Set Risk Factors Set identifiers (Full or Reduced)
StressCalibration Risk Risk Sliding Window Scenario Start date of Stress Window being considered
InternalModelsApproach Dates OmegaDate OmegaDate Slicing date selector for weekly reference
StandardisedApproachCube Default Risk Charge DRC Fund Treatment DRC Fund Treatment DRC Fund Treatment Flag indicating if the obligor cannot be included in offsetting or diversification with other exposures.

Measures

Added

Cube Measure Details
StressCalibration ES (PnL Vector) RAW Raw PnL input
StressCalibration ES (PnL Vector) CCY Currency-converted PnL
StressCalibration ES (PnL Vector) Shows correct subset of data based on sliding window and data set analysis hierarchies
StressCalibration ES (PnL Vector) Expand Expands ES (PnL Vector) on scenarios
StressCalibration LH Member of the liquidity horizon level
StressCalibration Previous LH Previous member of the liquidity horizon level
StressCalibration ES (Basic) ES (vector of Expected Shortfalls in case of Reduced Set Stressed data set)
StressCalibration Squared LHScaleFactor Interim measure used in the scaled ES computation
StressCalibration ES (Liquidity Adj.) Liquidity-adjusted ES expandable on sliding window
StressCalibration Squared ES (Liquidity Adj.) Interim measure for liquidity-adjusted ES
StressCalibration ES (Capital) ES Capital expandable on sliding window
StressCalibration ES (Current Ratio) Ratio of the liquidity-adjusted ES for full current set and ES for reduced current set.
StressCalibration ES (Model Variation) Reciprocal of ES (Current Ratio)
StressCalibration ES (Capital Constrained) Interim measure for omega and IMCC expandable on sliding window
StressCalibration ES (Capital Unconstrained) Interim measure for omega and IMCC expandable on sliding window
StressCalibration IMCC IMCC expandable on sliding window
StressCalibration Omega Omega expandable on sliding window
StressCalibration IMCC Indicator Indicator is 1 when sliding window is equal to the max IMCC across all windows and 0 otherwise. Expandable on sliding window
StressCalibration ES (PnL Vector) Non-Modellable Non-Idiosyncratic PL vector for (non-Idiosyncratic) NMRFs based on the sliding window analysis hierarchy expanded by scenario.
StressCalibration ES (PnL Vector) Non-Modellable Idiosyncratic PL vector for Idiosyncratic NMRFs based on the sliding window analysis hierarchy expanded by scenario.
StressCalibration ES (ISES) Capital requirement for each non-modellable idiosyncratic risk factor (I-type risk factors and J-type risk factors), for each risk-factor, risk-class, and 1-year period.
StressCalibration ES (SES) Capital requirement for non-modellable, non-idiosyncratic risk factors (K-type risk factors), for each risk-factor, risk-class, and 1-year period.
StressCalibration SES max Maximum SES value. This measure filters the SES measure by removing all the values that are not equal to the maximum.
StressCalibration SES Stressed expected shortfall, for each risk-class and each 1-year period.

Context values

Added

The ReferenceLevelVisualTotalsMode context value has been added to force visual or non-visual totals for incremental and marginal measures.

Topic Aliases

StressCalibrationData topic alias has been created to load Stress Calibration trades and scenario stores.

Installing Dependencies

note

We recommend that you use the latest LTS version of Node 16.x.x for the accelerator projects, even though ActiveUI 5 only requires that you use Node 14.x.x. During development we’ve experienced minor issues using Node Node 14.x.x.

  1. After downloading the activeuI5 app, run these commands in the following order to test that the app works as expected:

    1) yarn install
    2) yarn build
    3) yarn start
    

    The yarn start command opens the project in your browser, displaying a blank ActiveUI5 project.

  2. After confirming that the project starts correctly, add the accelerator-sdk and accelerator-specific packages to your project. You can do this by going to the package.json file of your project, and adding the following dependencies:

    "@activeviam/frtb-sdk": "4.1.0",
    "@activeviam/accelerator-sdk": "5.0.14",
    
  3. After adding these dependencies to your package.json, rerun the yarn install command.

New sign-off DEE template

The DEE template IMACubeExportESBasic.json has been added.