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 theInternalModelApproachCube
, 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”:
- Move the files from
.../{asOfDate}/Sensitivities/samples
to.../configuration
. - Add a new column at the end called
Parameter Set
. - Replace the asOfDate by a starting date like “2016-01-01”.
- 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:
|
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.
-
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. -
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",
-
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.