Migration notes 2.4.0
This page explains the changes required to migrate to the stated version of the FRTB Accelerator.
Migrate to 2.4.0
Upgrading from version 2.3.0 See FRTB Accelerator 2.4.0 Release Notes.
Input file formats
Modified
File | Details |
---|---|
CRIF | Changed CRIF format to match ISDA FRTB-SA format. |
SBM_Vega_Sensitivities*.csv | For FX Vega, Underlying is now expected to be the currency pair and FXCounterCcy is not used. |
Additionally, some warnings have been added in the log files for some data errors:
- For CSR Delta, if the basis (type) is missing (should be “Bond” or “CDS”).
- For vectorized sensitivities, if the tenors are not provided and the size of the sensitivities vector does not match the number of tenors in the BCBS specification.
Configuration files
Files Modified
File | Modification | Details | Description |
---|---|---|---|
frtb-data-load.properties | Removed | ima.history.file-pattern |
unused |
frtb-config.properties | Removed | ima.nb.days.average |
unused |
frtb-config.properties | Added | ima.capital-surcharge.green-zones=G,N/A |
“Green” zones for calculating the capital surcharge |
frtb-config.properties | Added | ima.capital-surcharge.amber-zones=A,R,Y,O |
“Amber” zones for calculating the capital surcharge |
frtb-config.properties | Added | sparse.vectors.enable.for.stores=DRCIMABase:ScenarioRecoveryValues,DRCIMASummaryBase:PnL |
|
frtb-config.properties | Added | ima.drc.summary.density-threshold=0.2 |
|
frtb-config.properties | Added | store.partitioning.asOfDate=8 |
|
frtb-config.properties | Added | store.partitioning.riskfactor=8 |
|
ERBA_Risk_Weight.csv | Changed | All ratings are uppercase | |
ERBA_Risk_Weight.csv | Added | Ratings and risk-weights for CRR2 | |
Default_Risk_Weights.csv | Added | Ratings and risk-weights for CRR2 |
Content Service database configuration
The loading logic for the file-based content server H2 database has been modified to use Spring resolvers.
The hibernate.properties file has been updated to use a ${dbfile}
parameter in the hibernate.connection.url
property, which will be resolved as the absolute path of the resource defined by the hibernate.dbfile.name
property.
In practice, for property values
hibernate.connection.url=jdbc:h2:%{dbfile};DB_CLOSE_DELAY=-1
hibernate.dbfile.name=content_service_file
the loading logic is:- use Spring resolvers to load the
content_service_file.mv.db
file from the classpath - retrieve the absolute path to the resolved file (e.g.
C:\path\content_service_file.mv.db
) - replace the
${dbfile}
parameter with the path, with a protocol prefix and stripped of the extension suffix (e.gjdbc:h2:file:C:\path\content_service_file;DB_CLOSE_DELAY=-1
)
Datastores
Modified
The datastore partitioning has been improved.
- Base stores for summary/historical cubes are now partitioned by the hash of the as-of date, with the number of partitions configured using
store.partitioning.asOfDate
- A configuration option has been added for base stores which are partitioned by the hash of the risk-factors:
store.partitioning.riskfactor
- Other stores have had their partitioning adjusted to remain compatible with the base stores.
- If these configuration options remain unset, the number of processors is used.
The handling of sparse vectors has been improved.
- The
sparse.vectors.enable.for.stores
property can now be applied to any column of any store that contains double vector. It is intended to store the almost empty vectors in a light way by indexing the non-null values. It contains a comma-separated list ofstore:column
that should handle sparse vectors. - The
ima.drc.summary.density-threshold
is intended to control the sparse threshold to compact the vectors under it. - The IMA_DRC_Summary file can now contain sparse representations of the pnl vector, like DRC_NonLinear_Recovery_Trade does. If the “Scenario Ids” column is not filled, the “IMA_DRC_Summary” file behaves as before.
Cube schema
Added
Cube | Details |
---|---|
SA | “DRC Sec non-CTP Region” |
SA | “DRC Sec non-CTP Asset Class” |
Modified
The default configuration for the aggregate provider has changed:
- for summary cubes, the default aggregate provider is now the LEAF aggregate provider
- for trade-level cubes, a JIT aggregate provider is still used, however a partial LEAF aggregate provider has been added which specifies all levels except the trade level.
These changes to the default configuration will improve query performance, at the cost of increased memory use and additional load times. This configuration should be customized as part of the performance tuning of the accelerator.
Action: The number of hash partitions defaults to 8, but should be optimized for the number of processors on the machine.
Measures
Added
Cube | Measure name |
---|---|
SA | Commodity Delta Sensitivities Long |
SA | Commodity Delta Sensitivities Short |
SA | CSR non-Sec Delta Sensitivities Long |
SA | CSR non-Sec Delta Sensitivities Short |
SA | CSR Sec CTP Delta Sensitivities Long |
SA | CSR Sec CTP Delta Sensitivities Short |
SA | CSR Sec non-CTP Delta Sensitivities Long |
SA | CSR Sec non-CTP Delta Sensitivities Short |
SA | Equity Delta Sensitivities Long |
SA | Equity Delta Sensitivities Short |
SA | FX Delta Sensitivities Long |
SA | FX Delta Sensitivities Short |
SA | GIRR Delta Sensitivities Long |
SA | GIRR Delta Sensitivities Short |
Removed
Cube | Measure name |
---|---|
PL Summary | Theoretical PL Lookback Empirical Dist Vector |
PL Summary | Hypothetical PL Lookback Empirical Dist Vector |
Context values
The default user context now sets the query timeout to 5 minutes for all cubes.
Other Changes
N/A