FRTB-specific Configuration

Scopes

The scope describes which data is loaded and unloaded.

Each request to the Data Load Controller contains a scope. In the FRTB reference implementation, the as-of date scope is turned into a directory and all the files in that directory are loaded. When unloading data, the scope is turned into a RemoveWhere clause to be run on the datastore.

The following table shows you the three different scopes in the FRTB reference implementation. You can add your own scope definition if required, such as ‘book’, ‘portfolio’, and so on.

Scope Description
Configuration Scope This scope is used for configuration files, including the parameters which are fetched the parameters API. Data in this scope typically has a “start date” rather than an as-of date.

The files in this scope are found in the “configuration” directory.

This scope has no parameters.
Historical Scope This scope is used for historical summary data. This data is not at the trade level and does not include recent dates. Instead it is at the aggregate level (for example, book and legal entity) and contains a long history.

The files in this scope are found in the “historical” directory.

This scope has no parameters.
As-Of Date Scope This scope is for the daily trade-level files.

The files in this scope are found in directories whose names match the requested date. This scope is parameterized by as-of date.

For example:

"scope":{ "AsOfDate": "2018-09-27" }

Topic Aliases

Each input file is loaded with a topic (see Input file formats). Topic aliases are used to group those topics. Atoti FRTB contains the following topic aliases:

Alias Description Scope Topics
ConfigurationData Parameter set data Configuration scope Configuration
TupleData Tuples inserted directly into the datastore (for QIS double sums hierarchies) Configuration scope IMATrades, IMASummary
FXData Recent FX rates As-of date scope FXRates, EsScenarioFxRates
OrganisationData Book and Legal Entity hierarchies As-of date scope Reference and Booking Files:
Book Parent Child.v1, Book Parent Child.v2, Book Desk Mapping and Desk Description. BookHierarchy store tuples are generated from BookParentChild Store tuples, Legal Entity Parent Child and Legal Entity Hierarchy, and Legal Entity Attributes
TradeBookingData Trade attributes and mapping As-of date scope Trade_Attributes
SBMData SBM sensitivities and related bucket stores As-of date scope Equity Buckets, EquityBucketDescription, CommodityBuckets, DRCSecNonCtpBuckets, CSR_BUCKET_DESCRIPTION_NONSEC, CSR_BUCKET_DESCRIPTION_SECNONCTP, CSR_BUCKET_DESCRIPTION_SECCTP, SeniorityDescription, SBM_Curvature_Sensi, SBM_Delta_Sensi, SBM_Vega_Sensi
CrifData CRIF
SADRCData SA DRC data As-of date scope SeniorityDescription, DRC
SAOverrides UnderlyingDescriptionOverrides, ObligorOverrides, TrancheOverrides, RRAOOverrides
CATradeData IMA and SES trade level data As-of date scope Scenarios, IMARiskFactors, IMATrades
IMADRCScenariosData Descriptions of IMA DRC scenarios As-of date scope DRC_SCENARIO_COUNT, DRCScenarios
IMADRCTradeData Recent IMA DRC trade data As-of date scope DRC, DRC_NONLINEAR_RECOVERY
PLTradeData Recent PLAT and backtesting trade-level data As-of date scope PLSummary, PLScenarios
ALLSA FXData + OrganisationData + TradeBookingData + SBMData + SADRCData As-of date scope FXRates, Organisation, TradeBooking, SBM, SADRC, Crif, SAOverrides (loads all of these Aliases and their associated topics, as listed in this table (above))
ALLIMADaily FXData + OrganisationData + TradeBookingData + CATradeData + IMADRCTradeData As-of date scope FXRates, Organisation, TradeBooking, CATrade, IMADRCTrade (loads all of these Aliases and their associated topics, as listed in this table (above))
StressCalibrationData Trades & Scenarios data for Stress Calibration Cube As-of date scope StressCalibrationPLTrades, StressCalibrationScenarios
HistoricalOrganisationData BookDeskMappingHistorical + BookParentChildHistorical Historical scope Book Parent Child, Desk Description Reference and Booking Files)
CASummaryData IMA and SES historical/summary data Historical scope IMA_Summary, IMARiskFactorsHistorical, FXHistorical, EsScenarioFxHistorical
IMADRCSummaryData Historical IMA DRC data Historical scope IMA_DRC_SUMMARY, FXHistorical
PLSummaryData Historical/summary PLAT and backtesting Trades & Scenario data Historical scope PLSummary, PLSummaryScenarios, FXHistorical
IMASummary CASummaryData Historical scope CASummary (loads all topics covered in the CASummary Alias as listed in this table (above)

Configuration Properties

The following properties can be set in frtb.properties:

Property Default Value Description
csvSource.dataset “data” The directory containing the CSV files. The scope directories are immediate subdirectories of this
initial-load.business-dates (null) If set, the (comma-separated) set of as-of-dates to load at start-up
initial-load.history true If set to true, historical data will be loaded

Initial Load Order

Topic Aliases

The following topic aliases are loaded on startup in the specified order.

Configuration

If there is a configuration directory available, the following topics are loaded:

  1. ConfigurationData
  2. TupleData

As-of-Dates

If the configuration parameter initial-load.business-dates is set, the dates listed in the parameter are used. For example, in the frtb.properties file:

initial-load.business-dates=2018-09-28,2018-09-27

If the initial-load.business-dates parameter is not set, the top level of the data directory is scanned for directories with date names. These dates are then used as the as-of-dates for the initial load. This matches the previous startup behavior.

Topics loaded with As-Of-Dates

For the set of determined as-of-dates, the following topics are loaded with the “AsOfDate” field set in the scope:

  1. IMADRCScenariosData
  2. ALLSA + ALLIMADaily + PLTradeData + StressCalibrationData

Historical Data (Optional)

If the configuration parameter initial-load.history is set to true and there is a historical directory available, the following additional topics are loaded:

  1. HistoricalOrganisationData + IMASummary + PLSummaryData + IMADRCSummaryData