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.g jdbc: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 of store: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