Migration notes 3.0
This page explains the changes required to migrate to the stated version of the FRTB Accelerator.
Migrate to 3.0
Upgrading from version 2.4.0 - see FRTB Accelerator 3.0 Release Notes.
Move cube description from xml to java conf
The cube description is no longer in XML format. It has been moved to Java Conf.
Feature | Configuration file |
---|---|
The cubes tuning (partial providers, partitioning, aggregate cache) | frtb-starter/src/main/java/com/activeviam/frtb/starter/cfg/impl/AggregateProviderConfig.java. |
The cubes kpis | frtb-starter/src/main/java/com/activeviam/frtb/starter/cfg/impl/KpiProviderConfig.java |
The cubes dimensions | frtb-starter/src/main/java/com/activeviam/frtb/starter/cfg/impl/CubesDimensionsConfig.java |
For more advanced changes, the full cubes description is located there : frtb-activepivot/src/main/java/com/activeviam/frtb/ref/cfg/applications/cubes/impl/* For more information on customizing cubes, see Extending the Accelerator.
The following cube values can now be changed from the configuration :
Category | Key | Value | Description |
---|---|---|---|
Store internals | store.partitioning.asOfDate | 0 | Maximum number of partitions used for the data stores depending on the asOfDate. 0 means partition number equals the number of CPUs. Note: The day-to-day store partitioned on asOfDate has no maximum partition number. It is also used for cube partial provider partitioning. |
Cube internals | sa.cube.provider.partitioning | 0 | The partitioning modulo of the partial provider for the SA cube |
Cube internals | store.partitioning.riskfactor | 0 | Maximum number of partitions to use per as-of date. When set to 0, the number of CPUs is used. Note: This may apply to fields other than the risk-factor, for example trade-id. |
Cube internals | agg.cache.size.sa | -1 | Aggregate cache size for the StandardisedApproachCube |
Cube internals | agg.cache.size.ima | -1 | Aggregate cache size for the InternalModelApproachCube |
Cube internals | agg.cache.size.imasummary | -1 | Aggregate cache size for the IMASummaryCube |
Cube internals | agg.cache.size.drc | -1 | Aggregate cache size for the IMADRCCube |
Cube internals | agg.cache.size.drcsummary | -1 | Aggregate cache size for the IMADRCSummaryCube |
Cube internals | agg.cache.size.pl | -1 | Aggregate cache size for the PLCube |
Cube internals | agg.cache.size.plsummary | -1 | Aggregate cache size for the PLSummaryCube |
Cube internals | agg.cache.size.combined | 20000000 | Aggregate cache size for the FRTBCombinedCube |
Context value | ctx.queries.time.limit.combined | 600 | The query time limit in seconds for the combined query cube, defined by the “queriesTimeLimit” context value |
Context value | ctx.queries.time.limit.data | 300 | The query time limit in seconds for the data cubes, defined by the “queriesTimeLimit” context value |
Context value | ctx.reference.ccy | EUR | The default displayed reporting currency used by the context value “ReferenceCurrency” used for display |
Context value | ctx.ca.lookback | 60 | The default value for the “CA-Lookback” context value that defines the window size for IMCC and SES average calculation. |
Context value | ctx.es.model.variation.lookback | 12W | The default value for the “ES Model Variation Lookback” context value that defines the window for the “ES (Model Variation) Lookback” metric |
Context value | ctx.ima.drc.lookback | 12W | The default value for the “IMADRC-Lookback” context value that defines the average window used in the computation of “DRC-IMA” |
Context value | ctx.back.testing.lookback | 250 | The default value for the “BackTestingLookback” context value that specifies the number of days for back testing |
Context value | ctx.pla.lookback | 250 | The default value for the “PLALookback” context value containing the number of business days to look back when calculating the Mean, Variance, and Standard Deviation measures for PL Attribution Tests. |
Context value | default.parameter.set | BCBS | The default parameter set used for computation. For example, BCBS or CRR2. |
Replace Book and Legal Entity Hierarchy builders
To improve the loading performance, the multi-level Book and Legal Entity hierarchies are now built before loading the sensitivities, P&L vectors, and trade booking data. They are now also built in the same datastore transaction where the source parent/child data is loaded.
To do this, the Datastore Listeners that were used to build the hierarchies have been replaced. Now these hierarchies are built using Topics in the ETL. When the corresponding parent/child topic is loaded via the Data Load Controller, then these additional topics are also loaded automatically and they are prioritized over the sensitivities, P&L vectors, and trade booking data.
If you make changes directly to the parent/child stores in the datastore (including using the Datastore Viewer UI widget), the hierarchies will no longer be automatically built and you will need to manually “load” these new topics. However, if you make changes to the parent/child stores via the DLC, then the hierarchies will continue to be built as before (though now in the same datastore transaction).
Input file formats
Modified
Modification | File | Field | Optional | Description |
---|---|---|---|---|
Added | Trade Attributes | Sensitivity Scale Category | Y | The category used to scale the SBM sensitivities. This matches the categories in Sensitivity_Scaling.csv. |
Added | DRC Trade Level (SA) | Rating Type | Y | The rating type used alongside the rating to determine the risk weight. This matches the rating type in the ERBA_Risk_Weight file. |
Added | DRC Trade Level (SA) | Risk Weight | Y | If set, this overrides the risk-weight for the tranche. This can be used as an alternative to SEC-ERBA, for example to provide SEC-SA risk-weights. |
Added | DRC Trade Level (SA) | Adjustment | Y | If set, this provides an adjustment to the GrossJTD. This adjustment is only applied if sa.drc.adjustment.apply=true , by default this is only set for CRR2. The currency that the adjustment is expressed in is given by the existing Gross JTD currency field. |
Changed Default | Delta | FxComplexDelta | Y | If this field is not set, it now defaults to “Y” instead of “N”. |
The new fields are all optional and have been added to the end of each row, so existing Trade Attributes and DRC Trade Level (SA) files will continue to load without needing any modifications.
Configuration files
Added
FX Risk-Weight Overrides
Added the FX Risk Weight Overrides configuration file to allow overriding FX Delta risk-weights by bucket. This is intended for use in ERM II and replaces the FX risk-weights in the old Adjunct Currencies file.
GIRR Correlation Overrides
Added the GIRR Correlation Overrides configuration file to allow overriding GIRR Delta gamma correlations between two GIRR buckets. This is intended for use in ERM II and replaces the Adjunct Currencies file and sa.girr.delta.adjunct-ccy.correlation
parameter.
Sensitivity Scaling
Added the Sensitivity Scaling configuration file to specify SBM scale factors by category. This is intended to support CRR2 underwriting.
Modified
frtb-config.properties
Modification | Property | Default | Description |
---|---|---|---|
Added | drc.block.size | 10240000 | The block size used for the DRC vector storage |
Added | drc.batch.size | 20 | The number of lines of the DRC input processed together |
Added | fx.translation.scale-factor | -0.9900990099009901 | The scale factor to use when translating FX sensitivities (default = -1/1.01) |
Added | sbm.sensitivity-scale.category.level | Sensitivity Scale Category@Sensitivity Scale Category@Risk | Cube level to specify the category used to set the SBM scale factor |
Added | src.rating.type.stc | STC | Name of STC rating type, used to trigger logic for SEC-ERBA STC ratings |
Added | drc.sec-non-ctp.rating.type.level | DRC Sec non-CTP Rating Type@DRC Sec non-CTP Rating Type@Default Risk Charge | Cube level of DRC Sec non-CTP Rating Type |
Added | rrao.flag.file-column | ResidualRisk | File column in the trade attributes file that corresponds to the RRAO flag |
FRTBParameters.csv
Modification | Parameter | Type | Default | Description |
---|---|---|---|---|
Added | sa.girr.inflation-basis-adjustment | Boolean | true | Set to true to include inflation and cross-currency basis curves when dividing major currency risk weights by sqrt 2. Set to false for the CRR2 parameter set. |
Removed | sa.girr.delta.adjunct-ccy.correlation` | This parameter has been replaced with the GIRR_Correlation_Overrides.csv configuration file | ||
Added | sa.drc.adjustment.apply | Boolean | false | Set to true to add the DRC Adjustments to the Gross JTD. Set to true for CRR2 parameter sets. |
Added | sa.drc.sec-non-ctp.risk-weight-floor.stc | Double | 0.012 | The risk weight floor for SEC-ERBA STC. |
frtb-data-load.properties
Modification | Parameter | Default | Description |
---|---|---|---|
Added | fx.risk-weight.overrides.file-pattern | **/FX_Risk_Weight_Overrides*.csv | File match pattern for FX Risk Weight Overrides configuration file. |
Added | girr.correlation.overrides.file-pattern | **/GIRR_Correlation_Overrides*.csv | File match pattern for GIRR Correlation Overrides configuration file. |
Added | sensitivity-scaling.file-pattern | **/Sensitivity_Scaling*.csv | File match pattern for Sensitivity Scaling configuration file. |
Removed | adjunct-currencies.file-pattern | This Adjunct Currencies configuration file has been replaced by FX Risk Weight Overrides and GIRR Correlation Overrides configuration files. |
ERBA_Risk_Weight
- Renamed old Type field to Term, e.g. long or short
- Added new Rating Type field, e.g. blank or STC
- Added STC ratings
Removed
Adjunct Currencies
The Adjunct Currencies configuration file has been replaced by FX Risk Weight Overrides and GIRR Correlation Overrides configuration files.
Datastores
The block size used for the DRC vector storage can be modified with “drc.block.size”. It overrides the default core value that may be too low for DRC. It must be greater than the DRC vector size and a multiple of 1024.
The number of lines processed together during loading and commit of the DRC stores are now configurable with “drc.batch.size”. It can help to tune performance and on-heap usage at start-up. Lower values mean less on-heap usage and smother off-heap load but also more processing overhead.
Added
Store | Details |
---|---|
FXRiskWeightOverrides | This store was added for the FX Risk Weight Overrides |
GIRRCorrelationOverrides | This store was added for the GIRR Correlation Overrides |
SensitivityScaling | This store was added for the SBM sensitivity scaling |
Modified
Modification | Store | Field | Type | Description |
---|---|---|---|---|
Added | SATradeDescription | SensitivityScaleCategory | String | The category used to scale the SBM sensitivities. This matches the category in the SensitivityScaling store. |
Added | DRCBase | Adjustment | Double | If set, this provides an adjustment to the GrossJTD. This adjustment is only applied if sa.drc.adjustment.apply=true , by default this is only set for CRR2. The currency the adjustment is expressed in is given by the existing Gross JTD currency field. |
Added | Obligor | RiskClass | String | Set to “DRC non-Sec” |
Added | Obligor | RiskWeight | Double | The risk weight to use for the obligor. This overrides the risk-weight based on the rating. |
Added | Tranche | RiskClass | String | Set to “DRC Sec non-CTP” |
Added | Tranche | Type | String | The rating type used alongside the rating to determine the risk weight. This matches the rating type in the ERBARiskWeight store. |
Added | Tranche | RiskWeight | Double | The risk weight to use for the tranche. This overrides the SEC-ERBA risk-weight based on the rating (and type). |
Renamed | ERBARiskWeight | Term | String | The “long” or “short” term for the rating. This was previously called Type |
Added | ERBARiskWeight | Type | String | The rating type used alongside the rating to determine the risk weight. |
Removed
Store | Details |
---|---|
AdjunctCurrency | This store was replaced by the FXRiskWeightOverrides and GIRRCorrelationOverrides stores |
Cube schema
Added
Cube | Field / Level | Details |
---|---|---|
SA | DRC Sec non-CTP Rating Type | The rating type used alongside the rating to determine the SEC-ERBA risk-weight. |
SA | Sensitivity Scale Category | The category used to scale the SBM sensitivities. |
Measures
Added
Cube | Measure | Details |
---|---|---|
SA | DRC Adjustment | The adjustments added to the Gross JTD when sa.drc.adjustment.apply=true (CRR2). |
SA | DRC non-Sec JTD Weightings Override | Optional override for the DRC non-Sec Obligor risk-weight. Requires DRC non-Sec Obligor cube level. |
SA | DRC Sec non-CTP JTD Weightings Override | Optional override for the DRC Sec non-CTP Tranche risk-weight. Requires DRC Sec non-CTP Tranche cube level. |
Context values
No change.
Other Changes
N/A