Migration notes 5.2
This page explains the changes required to migrate to the stated version of Atoti FRTB.
Migrate to 5.2.4
No migration needed.
Breaking changes
None
Summary
- Atoti Server version: Upgraded to Atoti Server 6.0.16
Migrate to 5.2.3
Breaking changes
- What-if Persistence: New configuration options have been added to persist what-if simulation status to a hibernate JDBC database.
Summary
- Distributed What-if: Additional configuration options have been added to configure the REST endpoints used for distributed what-if.
- Upgrade to Atoti Server 6.0.15
Distributed What-If Configuration
When using distributed what-if, the data nodes will use the cluster communication channels to tell the query node the base URL of the REST endpoints. The query node will then use the REST endpoints to execute the what-if simulations on the data nodes.
The REST endpoint configuration includes four components (protocol, host, port, and suffix) which are used to construct the REST endpoint URLs:
- port (required): Must match the port in
server.port
. - suffix (required): Must be compatible with the path in
server.servlet.context-path
. - protocol (optional): “http” or “https”. Defaults to “http”.
- host (optional): If not set, this will default to the server’s IP address.
For example:
activeviam.distribution.endpoint:
protocol: "http"
port: ${server.port}
suffix: "frtb-starter"
What-If Persistence Configuration
The what-if engine is now set up to persist what-if simulation statuses to a hibernate JDBC database.
The hibernate configuration uses the properties what-if.db.*
,
where the individual properties are defined in the hibernate documentation.
Atoti FRTB ships with a default configuration that will use an in-memory h2 database:
what-if.db:
hibernate:
dialect: org.hibernate.dialect.H2Dialect
hbm2ddl.auto: create
current_session_context_class: thread
connection.url: jdbc:h2:mem:what-if;DB_CLOSE_DELAY=-1
connection.driver_class: org.h2.Driver
Startup properties
Property Name | Value | Comment |
---|---|---|
activeviam.distribution.endpoint.protocol |
“http” | Protocol to use when connecting to the server’s REST endpoints. |
activeviam.distribution.endpoint.host |
Host name to use when connecting to the server’s REST endpoints. | |
what-if.db.* |
(see above) | The properties used to define the hibernate JDBC database for persisting the what-if engine simulation statuses. See the hibernate documentation for details on individual properties. |
server.resources.documentation |
null |
The optional resource location of the offline documentation. For example, “classpath:/static/documentation/”. |
Migrate to 5.2.2
No migration needed.
Breaking changes
None
Summary
- Bug fixes
Migrate to 5.2.1
No migration needed.
Breaking changes
None
Summary
- Atoti Server version: Upgraded to Atoti Server 6.0.13
Migrate to 5.2.0
Upgrading from version 5.1.0, see Atoti FRTB 5.2 Release Notes.
Atoti FRTB uses Atoti Server 6.0.9 and Atoti UI 5.1.x. For new features and fixes included in these releases, please see the Atoti UI documentation and Atoti UI Migration Notes, and the release notes for Atoti Server.
For clients licensed to use ActiveMonitor, a skeleton module based on version 6.0.9 is included with the Atoti FRTB 5.2.0 release.
Breaking Changes
- DRC non-Sec risk-weights configuration : A “bucket” column has been added to the Default_Risk_Weights configuration file. This column must be added to existing files, but it may be empty.
- Variable name changes in Topic Config : Changes to variable names and references for the topic configs.
- Java 17: Java 17 is now required to run Atoti FRTB and additional JVM options are needed.
- “Category” Hierarchies removed: For SBM Equity and CSR, the technical “Category” hierarchies are no longer needed and have been removed.
- “DRC Seniority Ranking” level removed: This technical level is no longer needed and has been removed.
- Security Configuration upgraded: The security configuration has been upgraded to Spring Security 5.8 and no longer uses deprecated classes.
- CSR Correlation configuration: The CSR gamma correlations are now fully defined by bucket pairs, instead of just the “sector” component.
- Equity Correlation configuration: The Equity gamma correlations are now defined by bucket pairs in a new file.
- DirectQuery Database: The SASensitivities table is now used for the RRAO Notional, instead of the SATradeDescription table.
Summary
- Upgraded Spring Security to version 5.8.7 to resolve vulnerabilities and prepare for the upgrade to Spring Security 6.0 (via Spring Boot 3).
- Added “bucket” column to the Default_Risk_Weights configuration file.
- Updated configuration files to include support for US-NPR parameter set.
- Changed variable names and references for the topic configs.
- In the Stress Calibration cube:
- Replaced PnL vector with PV vector and base PV.
- Added scenario FX rates.
- Added file formats for loading SA summary data.
- Move to Java 17.
- Schema clean-up.
- Variable name changes in topic configs.
- Reference configuration data for non-BCBS Parameter sets have been separated into their own folders. Additionally, file names for separated data have suffixes denoting parameter set.
DirectQuery Database Schema
We have made the following changes to clean up the DirectQuery Database Schema:
The following tables are no longer needed:
SENIORITY_DESCRIPTION
CSRBUCKET_DESC
EQUITY_BUCKET_DESC
The Notional used for RRAO will be stored in the SASENSITIVITIES
table instead of the SATRADE_DESCRIPTION
table.
Configuration Files
The gamma correlations for CSR and Equity are now configured by bucket pairs in configuration files. Previously, only the “sector” component of the CSR gamma correlations was stored this way, and the Equity gamma correlations were configured through several properties.
The DRC Seniority Description file has been changed into a configuration file and the “as-of date” column removed. As part of this move, the SeniorityDescription table has been removed from the star Schema, and the “DRC Seniority Ranking” level is no longer available in the cube.
RRAO File
A new RRAO file has been added. This replaces the RRAO columns in the Trade Attributes file.
The old trade attributes files can still be loaded, but the RRAO-related columns have been deprecated. A script is included to generate the new RRAO files from old trade attributes files.
“Category” Hierarchies Removed
The technical “Category” hierarchies used for the Equity and CSR risk classes have been removed. For each of the removed hierarchies, there is a non-Category hierarchy that may be used in its place.
While we don’t expect these hierarchies to be used in saved queries or bookmarks, if you would like to restore these hierarchies as a customization, please contact us.
Spring Security Upgrade
We have upgraded to Spring Security 5.8.7, see Spring’s migration guide.
The frtb-common
module has been removed and security configurations which were previously found there have been moved into frtb-starter
.
You will eventually need to migrate your own custom security configuration(s) in preparation for Spring Security 6.0. We have upgraded our out-of-the-box security configurations to help in this migration.
note
We recommend using your own custom security configuration(s) and referring to the out-of-the-box security configuration provided only as a sample.
The default security users and roles have not changed, only the way we implement the security. We have done so by making the following changes:
Stop Using WebSecurityConfigurerAdapter
We have replaced instances of WebSecurityConfigurerAdapter
with SecurityFilterChain
beans.
Note that in our reference implementation these can now be found inside FRTBSecurityFilterChainsConfig
.
Use the new requestMatchers
methods
In Authorize Http Requests, we have replaced invocations of http.authorizeHttpRequests((authz) -> authz.antMatchers(...))
with http.authorizeHttpRequests((authz) -> authz.requestMatchers(...))
.
Use the new securityMatchers methods
We have replaced invocations of http.antMatchers(...)
with http.securityMatchers(...)
.
As an example of the previous changes, the configuration for accessing the endpoint which exposes the JWT token changed from:
@Configuration
@Order(1)
public static abstract class AJwtSecurityConfigurer extends WebSecurityConfigurerAdapter {
@Autowired
protected ApplicationContext context;
@Autowired
@Qualifier(BASIC_AUTH_BEAN_NAME)
protected AuthenticationEntryPoint authenticationEntryPoint;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher(JwtRestServiceConfig.REST_API_URL_PREFIX + "/**")
// As of Spring Security 4.0, CSRF protection is enabled by default.
.csrf().disable()
// Configure CORS
.cors().and()
.authorizeRequests()
.antMatchers("/**").hasAnyAuthority(ROLE_USER)
.and()
.httpBasic().authenticationEntryPoint(authenticationEntryPoint);
}
}
to
@Bean
@Order(1)
protected SecurityFilterChain jwtSecurityFilterChain(HttpSecurity http, ApplicationContext applicationContext) throws Exception {
final AuthenticationEntryPoint basicAuthenticationEntryPoint = applicationContext.getBean(BASIC_AUTH_BEAN_NAME, AuthenticationEntryPoint.class);
return http
// As of Spring Security 4.0, CSRF protection is enabled by default.
.csrf(AbstractHttpConfigurer::disable)
// Configure CORS
.cors().and()
.securityMatcher(url(JwtRestServiceConfig.REST_API_URL_PREFIX, WILDCARD))
.authorizeHttpRequests(auth -> auth.requestMatchers(HttpMethod.OPTIONS, url(WILDCARD))
.permitAll()
.anyRequest()
.permitAll()
)
.httpBasic(basic -> basic.authenticationEntryPoint(basicAuthenticationEntryPoint))
.build();
}
Removed imports of ActivePivotRemotingServicesConfig
This class imports org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter
, which may (if used) expose access to CVE-2016-1000027 in the Spring-web project.
Variable name changes in topic configs
We have changed variable names and references for the topic configurations in our source configs. While the variables used have been changed or removed, the values themselves remain unchanged.
Here’s a summary of the variable name and reference changes:
- Removed redundant static variables in source configs, which were duplicates of existing static store name variables.
- Made use of store name variables from datastore configs in source configs, DLC, tuple publishers, and column calculators, where appropriate.
- Prefixed all topic variables with “TOPIC_”.
- Suffixed all store name variables with “_STORE_NAME”.
Source config changes
AConfigurationSourceConfig
Old Topic | Old Store Reference | New Topic | Store Reference |
---|---|---|---|
COMMODITY_BUCKETS_RISK_WEIGHT_STORE | COMMODITY_BUCKETS_RISK_WEIGHT_STORE | TOPIC_COMMODITY_BUCKETS_RISK_WEIGHT | ParametersDatastoreConfig.COMMODITY_BUCKETS_RISK_WEIGHT_STORE_NAME |
COMMODITY_INTRA_BUCKET_CORRELATIONS_STORE | COMMODITY_INTRA_BUCKET_CORRELATIONS_STORE | TOPIC_COMMODITY_INTRA_BUCKET_CORRELATIONS | ParametersDatastoreConfig.COMMODITY_INTRA_BUCKET_CORRELATIONS_STORE_NAME |
DRC_WEIGHT_STORE | DRC_WEIGHT_STORE | TOPIC_DRC_WEIGHT | ParametersDatastoreConfig.DRC_WEIGHT_STORE_NAME |
EQUITY_BUCKETS_RISK_WEIGHT_STORE | EQUITY_BUCKETS_RISK_WEIGHT_STORE | TOPIC_EQUITY_BUCKETS_RISK_WEIGHT | ParametersDatastoreConfig.EQUITY_BUCKETS_RISK_WEIGHT_STORE_NAME |
ERBA_RISK_WEIGHT_STORE | ERBA_RISK_WEIGHT_STORE | TOPIC_ERBA_RISK_WEIGHT | ParametersDatastoreConfig.ERBA_RISK_WEIGHT_STORE_NAME |
FRTB_PARAMETERS_STORE | FRTB_PARAMETERS_STORE | TOPIC_FRTB_PARAMETERS | ParametersDatastoreConfig.FRTB_PARAMETERS_STORE_NAME |
CALENDAR_STORE_NAME | CALENDAR_STORE_NAME | TOPIC_CALENDAR | DatastoreConfig.CALENDAR_STORE_NAME |
FX_DELTA_SPECIAL_CROSSES_STORE | FX_DELTA_SPECIAL_CROSSES_STORE | TOPIC_FX_DELTA_SPECIAL_CROSSES | ParametersDatastoreConfig.FX_DELTA_SPECIAL_CROSSES_STORE_NAME |
GIRR_DELTA_WEIGHTING_STORE | GIRR_DELTA_WEIGHTING_STORE | TOPIC_GIRR_DELTA_WEIGHTING | ParametersDatastoreConfig.GIRR_DELTA_WEIGHTING_STORE_NAME |
GIRR_MAJOR_CURRENCY_STORE | GIRR_MAJOR_CURRENCY_STORE | TOPIC_GIRR_MAJOR_CURRENCY | ParametersDatastoreConfig.GIRR_MAJOR_CURRENCY_STORE_NAME |
INSTRUMENT_TO_LGD_STORE | INSTRUMENT_TO_LGD_STORE | TOPIC_INSTRUMENT_TO_LGD | ParametersDatastoreConfig.INSTRUMENT_TO_LGD_STORE_NAME |
LIQUIDITY_HORIZONS_STORE | LIQUIDITY_HORIZONS_STORE | TOPIC_LIQUIDITY_HORIZONS | ParametersDatastoreConfig.LIQUIDITY_HORIZONS_STORE_NAME |
OBLIGOR_TO_RISK_WEIGHT_STORE | OBLIGOR_TO_RISK_WEIGHT_STORE | TOPIC_OBLIGOR_TO_RISK_WEIGHT | ParametersDatastoreConfig.OBLIGOR_TO_RISK_WEIGHT_STORE_NAME |
OPTION_RESIDUAL_MATURITY_VERTICES_STORE | OPTION_RESIDUAL_MATURITY_VERTICES_STORE | TOPIC_OPTION_RESIDUAL_MATURITY_VERTICES | ParametersDatastoreConfig.OPTION_RESIDUAL_MATURITY_VERTICES_STORE_NAME |
PARAMETER_SET_STORE | PARAMETER_SET_STORE | TOPIC_PARAMETER_SET | ParameterSetDatastoreConfig.PARAMETER_SET_STORE_NAME |
VEGA_LIQUIDITY_HORIZONS_STORE | VEGA_LIQUIDITY_HORIZONS_STORE | TOPIC_VEGA_LIQUIDITY_HORIZONS | ParametersDatastoreConfig.VEGA_LIQUIDITY_HORIZONS_STORE_NAME |
VERTICES_STORE | VERTICES_STORE | TOPIC_VERTICES | ParametersDatastoreConfig.VERTICES_STORE_NAME |
FX_RISK_WEIGHT_OVERRIDES_STORE | FX_RISK_WEIGHT_OVERRIDES_STORE | TOPIC_FX_RISK_WEIGHT_OVERRIDES | ParametersDatastoreConfig.FX_RISK_WEIGHT_OVERRIDES_STORE_NAME |
GIRR_CORRELATION_OVERRIDES_STORE | GIRR_CORRELATION_OVERRIDES_STORE | TOPIC_GIRR_CORRELATION_OVERRIDES | ParametersDatastoreConfig.GIRR_CORRELATION_OVERRIDES_STORE_NAME |
SENSITIVITY_SCALING_STORE | SENSITIVITY_SCALING_STORE | TOPIC_SENSITIVITY_SCALING | ParametersDatastoreConfig.SENSITIVITY_SCALING_STORE_NAME |
TOPIC_CSR_BUCKET_NONSEC | CSR_NS_BUCKETS_STORE | TOPIC_CSR_BUCKET_NONSEC | SADatastoreConfig.CSR_BUCKETS_NON_SEC_STORE_NAME |
TOPIC_CSR_BUCKET_SECNONCTP | CSR_SEC_NON_CTP_BUCKETS_STORE | TOPIC_CSR_BUCKET_SECNONCTP | SADatastoreConfig.CSR_BUCKETS_SEC_NON_CTP_STORE_NAME |
TOPIC_CSR_BUCKET_SECCTP | CSR_SEC_CTP_BUCKETS_STORE | TOPIC_CSR_BUCKET_SECCTP | SADatastoreConfig.CSR_BUCKETS_SEC_CTP_STORE_NAME |
TOPIC_CSR_BUCKET_RISK_WEIGHTS_NONSEC | CSR_NS_BUCKETS_RISK_WEIGHT_STORE | TOPIC_CSR_BUCKET_RISK_WEIGHTS_NONSEC | ParametersDatastoreConfig.CSR_BUCKETS_RISK_WEIGHT_STORE_NAME |
TOPIC_CSR_BUCKET_RISK_WEIGHTS_SECNONCTP | CSR_SEC_NON_CTP_BUCKETS_RISK_WEIGHT_STORE | TOPIC_CSR_BUCKET_RISK_WEIGHTS_SECNONCTP | ParametersDatastoreConfig.CSR_BUCKETS_RISK_WEIGHT_STORE_NAME |
TOPIC_CSR_BUCKET_RISK_WEIGHTS_SECCTP | CSR_SEC_CTP_BUCKETS_RISK_WEIGHT_STORE | TOPIC_CSR_BUCKET_RISK_WEIGHTS_SECCTP | ParametersDatastoreConfig.CSR_BUCKETS_RISK_WEIGHT_STORE_NAME |
TOPIC_CSR_BUCKET_CORRELATIONS_NONSEC | CSR_NS_BUCKETS_CORRELATIONS_STORE | TOPIC_CSR_BUCKET_CORRELATIONS_NONSEC | ParametersDatastoreConfig.CSR_BUCKET_CORRELATIONS_STORE_NAME |
CSR_NON_SEC_HIGH_RATINGS_STORE | CSR_NON_SEC_HIGH_RATINGS_STORE | TOPIC_CSR_NON_SEC_HIGH_RATINGS | ParametersDatastoreConfig.CSR_NON_SEC_HIGH_RATINGS_STORE_NAME |
IMA_MULTIPLIER_STORE_NAME | IMA_MULTIPLIER_STORE_NAME | TOPIC_IMA_MULTIPLIER | ParametersDatastoreConfig.IMA_MULTIPLIER_STORE_NAME |
ASensiSourceConfig
Old Topic | Old Store Reference | New Topic | Store Reference |
---|---|---|---|
SbmDeltaFileConstants.TOPIC_SENSITIVITIES | SA_SENSITIVITIES_STORE | SbmDeltaFileConstants.TOPIC_SENSITIVITIES | SADatastoreConfig.SA_SENSITIVITIES_STORE_NAME |
SbmVegaFileConstants.TOPIC_SENSITIVITIES | SA_SENSITIVITIES_STORE | SbmVegaFileConstants.TOPIC_SENSITIVITIES | SADatastoreConfig.SA_SENSITIVITIES_STORE_NAME |
SbmCurvatureFileConstants.TOPIC_SENSITIVITIES | SA_SENSITIVITIES_STORE | SbmCurvatureFileConstants.TOPIC_SENSITIVITIES | SADatastoreConfig.SA_SENSITIVITIES_STORE_NAME |
CrifFileConstants.TOPIC_CRIF | SA_SENSITIVITIES_STORE | CrifFileConstants.TOPIC_CRIF | SADatastoreConfig.SA_SENSITIVITIES_STORE_NAME |
TOPIC_UPDATE_OPTIONALITY | SA_SENSITIVITIES_STORE | TOPIC_UPDATE_OPTIONALITY | SADatastoreConfig.SA_SENSITIVITIES_STORE_NAME |
ASourceConfig
Old Topic | Old Store Reference | New Topic | Store Reference |
---|---|---|---|
SENIORITY_DESCRIPTION_STORE | SENIORITY_DESCRIPTION_STORE | TOPIC_SENIORITY_DESCRIPTION | ParametersDatastoreConfig.SENIORITY_DESCRIPTION_STORE_NAME |
FX_STORE | FX_STORE | TOPIC_FX | DatastoreConfig.FX_STORE_NAME |
TOPIC_FX_HISTORICAL | FX_STORE | TOPIC_FX_HISTORICAL | DatastoreConfig.FX_STORE_NAME |
ES_SCENARIO_FX_STORE | ES_SCENARIO_FX_STORE | TOPIC_ES_SCENARIO_FX | IMADatastoreConfig.ES_SCENARIO_FX_STORE_NAME |
TOPIC_ES_SCENARIO_FX_HISTORICAL | ES_SCENARIO_FX_STORE | TOPIC_ES_SCENARIO_FX_HISTORICAL | IMADatastoreConfig.ES_SCENARIO_FX_STORE_NAME |
SCENARIOS_STORE | SCENARIOS_STORE | TOPIC_SCENARIOS | IMADatastoreConfig.SCENARIOS_STORE_NAME |
LEGAL_ENTITY_ATTRIBUTES_STORE | LEGAL_ENTITY_ATTRIBUTES_STORE | TOPIC_LEGAL_ENTITY_ATTRIBUTES | DatastoreConfig.LEGAL_ENTITY_ATTRIBUTES_STORE_NAME |
EQUITY_BUCKETS_STORE | EQUITY_BUCKETS_STORE | TOPIC_EQUITY_BUCKETS | SADatastoreConfig.EQUITY_BUCKETS_STORE_NAME |
COMMODITY_BUCKETS_STORE | COMMODITY_BUCKETS_STORE | TOPIC_COMMODITY_BUCKETS | SADatastoreConfig.COMMODITY_BUCKET_STORE_NAME |
DRC_SEC_NON_CTP_BUCKETS_STORE | DRC_SEC_NON_CTP_BUCKETS_STORE | TOPIC_DRC_SEC_NON_CTP_BUCKETS | SADatastoreConfig.DRC_SEC_NON_CTP_BUCKETS_STORE_NAME |
TOPIC_EQUITY_BUCKET_DESCRIPTION | EQUITY_BUCKETS_DESCRIPTION_STORE | TOPIC_EQUITY_BUCKET_DESCRIPTION | SADatastoreConfig.EQUITY_BUCKET_DESCRIPTION_STORE_NAME |
IMA_RISK_FACTORS_STORE | IMA_RISK_FACTORS_STORE | TOPIC_IMA_RISK_FACTORS | IMADatastoreConfig.IMA_RISK_FACTORS_STORE_NAME |
TOPIC_IMA_RISK_FACTORS_HISTORICAL | IMA_RISK_FACTORS_STORE | TOPIC_IMA_RISK_FACTORS_HISTORICAL | IMADatastoreConfig.IMA_RISK_FACTORS_STORE_NAME |
PL_SCENARIO_STORE | PL_SCENARIO_STORE | TOPIC_PL_SCENARIOS | IMADatastoreConfig.PL_SCENARIOS_STORE_NAME |
PL_SUMMARY_SCENARIOS_STORE | PL_SCENARIO_STORE | TOPIC_PL_SUMMARY_SCENARIOS | IMADatastoreConfig.PL_SCENARIOS_STORE_NAME |
DRC_SCENARIOS_STORE | DRC_SCENARIOS_STORE | TOPIC_DRC_SCENARIOS | IMADatastoreConfig.DRC_SCENARIOS_STORE_NAME |
TOPIC_CSR_BUCKET_DESCRIPTION_NONSEC | CSR_NS_BUCKETS_DESCRIPTION_STORE | TOPIC_CSR_BUCKET_DESCRIPTION_NONSEC | SADatastoreConfig.CSR_BUCKET_DESCRIPTION_STORE_NAME |
TOPIC_CSR_BUCKET_DESCRIPTION_SECNONCTP | CSR_SEC_NON_CTP_BUCKETS_DESCRIPTION_STORE | TOPIC_CSR_BUCKET_DESCRIPTION_SECNONCTP | SADatastoreConfig.CSR_BUCKET_DESCRIPTION_STORE_NAME |
TOPIC_CSR_BUCKET_DESCRIPTION_SECCTP | CSR_SEC_CTP_BUCKETS_DESCRIPTION_STORE | TOPIC_CSR_BUCKET_DESCRIPTION_SECCTP | SADatastoreConfig.CSR_BUCKET_DESCRIPTION_STORE_NAME |
STRESS_CALIBRATION_SCENARIOS_STORE | STRESS_CALIBRATION_SCENARIOS_STORE | TOPIC_STRESS_CALIBRATION_SCENARIOS | StressCalibrationDatastoreConfig.STRESS_CALIBRATION_SCENARIOS_STORE_NAME |
CombinedBookParentChildDeskFileConstants.TOPIC_COMBINED_BOOK_PARENT_CHILD_DESK | BOOK_PARENT_CHILD_STORE_NAME | CombinedBookParentChildDeskFileConstants.TOPIC_COMBINED_BOOK_PARENT_CHILD_DESK | DatastoreConfig.BOOK_PARENT_CHILD_STORE_NAME |
TOPIC_BOOK_PARENT_CHILD | BOOK_PARENT_CHILD_STORE_NAME | TOPIC_BOOK_PARENT_CHILD | DatastoreConfig.BOOK_PARENT_CHILD_STORE_NAME |
TOPIC_BOOK_PARENT_CHILD_HISTORICAL | BOOK_PARENT_CHILD_STORE_NAME | TOPIC_BOOK_PARENT_CHILD_HISTORICAL | DatastoreConfig.BOOK_PARENT_CHILD_STORE_NAME |
TOPIC_BOOK_DESK_MAPPING | BOOK_DESK_MAPPING_STORE_NAME | TOPIC_BOOK_DESK_MAPPING | DatastoreConfig.BOOK_DESK_MAPPING_STORE_NAME |
TOPIC_BOOK_DESK_MAPPING_HISTORICAL | BOOK_DESK_MAPPING_STORE_NAME | TOPIC_BOOK_DESK_MAPPING_HISTORICAL | DatastoreConfig.BOOK_DESK_MAPPING_STORE_NAME |
TOPIC_DESK_DESCRIPTION_STORE | DESK_DESCRIPTION_STORE_NAME | TOPIC_DESK_DESCRIPTION | DatastoreConfig.DESK_DESCRIPTION_STORE_NAME |
LEGAL_ENTITY_PARENT_CHILD_STORE | LEGAL_ENTITY_PARENT_CHILD_STORE | TOPIC_LEGAL_ENTITY_PARENT_CHILD | DatastoreConfig.LEGAL_ENTITY_PARENT_CHILD_STORE_NAME |
RISK_FACTOR_DESCRIPTION_OVERRIDES_STORE | RISK_FACTOR_DESCRIPTION_OVERRIDES_STORE | TOPIC_RISK_FACTOR_DESCRIPTION_OVERRIDES | SADatastoreConfig.RISK_FACTOR_DESCRIPTION_OVERRIDES_STORE_NAME |
UNDERLYING_DESCRIPTION_OVERRIDES_STORE | UNDERLYING_DESCRIPTION_OVERRIDES_STORE | TOPIC_UNDERLYING_DESCRIPTION_OVERRIDES | SADatastoreConfig.UNDERLYING_DESCRIPTION_OVERRIDES_STORE_NAME |
OBLIGOR_OVERRIDES_STORE | OBLIGOR_OVERRIDES_STORE | TOPIC_OBLIGOR_OVERRIDES | SADatastoreConfig.OBLIGOR_OVERRIDES_STORE_NAME |
TRANCHE_OVERRIDES_STORE | TRANCHE_OVERRIDES_STORE | TOPIC_TRANCHE_OVERRIDES | SADatastoreConfig.TRANCHE_OVERRIDES_STORE_NAME |
RRAO_OVERRIDES_STORE | RRAO_OVERRIDES_STORE | TOPIC_RRAO_OVERRIDES | SADatastoreConfig.RRAO_OVERRIDES_STORE_NAME |
LEGAL_ENTITY_IMPORTS_STORE | LEGAL_ENTITY_IMPORTS_STORE | TOPIC_LEGAL_ENTITY_IMPORTS | DatastoreConfig.LEGAL_ENTITY_IMPORTS_STORE_NAME |
LEGAL_ENTITY_IMPORTS_STORE | LEGAL_ENTITY_IMPORTS_STORE | TOPIC_LEGAL_ENTITY_IMPORTS | DatastoreConfig.LEGAL_ENTITY_IMPORTS_STORE_NAME |
PL_STORE_NAME | PL_STORE_NAME | TOPIC_PL_TRADES | IMADatastoreConfig.PL_STORE_NAME |
PL_SUMMARY_STORE | PL_STORE_NAME | TOPIC_PL_SUMMARY | IMADatastoreConfig.PL_STORE_NAME |
DRCScenarioCountFileConstants.TOPIC_DRC_SCENARIO_COUNT | DRC_SCENARIOS_COUNT_STORE | DRCScenarioCountFileConstants.TOPIC_DRC_SCENARIO_COUNT | IMADatastoreConfig.DRC_SCENARIOS_COUNT_STORE_NAME |
TradeAttributesFileConstants.TOPIC_TRADES | SA_SENSITIVITIES_STORE | TradeAttributesFileConstants.TOPIC_TRADES | SADatastoreConfig.SA_SENSITIVITIES_STORE_NAME |
DRCFileConstants.TOPIC_DRC | IMA_DRC_STORE | DRCFileConstants.TOPIC_DRC | IMADatastoreConfig.IMA_DRC_STORE_NAME |
DRCFileConstants.TOPIC_DRC | SA_SENSITIVITIES_STORE | DRCFileConstants.TOPIC_DRC | SADatastoreConfig.SA_SENSITIVITIES_STORE_NAME |
DRCNonLinearRecoveryFileConstants.TOPIC_DRC_NONLINEAR_RECOVERY | IMA_DRC_STORE | DRCNonLinearRecoveryFileConstants.TOPIC_DRC_NONLINEAR_RECOVERY | IMADatastoreConfig.IMA_DRC_STORE_NAME |
IMATradesFileConstants.TOPIC_IMA_TRADES | IMA_TRADES_STORE | IMATradesFileConstants.TOPIC_IMA_TRADES | IMADatastoreConfig.IMA_TRADES_STORE_NAME |
IMASummaryFileConstants.TOPIC_IMA_SUMMARY | IMA_TRADES_STORE | IMASummaryFileConstants.TOPIC_IMA_SUMMARY | IMADatastoreConfig.IMA_TRADES_STORE_NAME |
IMADRCSummaryFileConstants.TOPIC_IMA_DRC_SUMMARY | IMA_DRC_STORE | IMADRCSummaryFileConstants.TOPIC_IMA_DRC_SUMMARY | IMADatastoreConfig.IMA_DRC_STORE_NAME |
StressCalibrationTradesFileConstants.TOPIC_STRESS_CALIBRATION_TRADES | STRESS_CALIBRATION_TRADES_STORE | StressCalibrationTradesFileConstants.TOPIC_STRESS_CALIBRATION_TRADES | StressCalibrationDatastoreConfig.STRESS_CALIBRATION_TRADES_STORE_NAME |
Datastore variable changes
Old Store | New Store |
---|---|
STRESS_CALIBRATION_DATA_SET_STORE | STRESS_CALIBRATION_DATA_SET_STORE_NAME |
CSR_BUCKETS_NON_SEC_STORE | CSR_BUCKETS_NON_SEC_STORE_NAME |
CSR_BUCKETS_SEC_CTP_STORE | CSR_BUCKETS_SEC_CTP_STORE_NAME |
CSR_BUCKETS_SEC_NON_CTP_STORE | CSR_BUCKETS_SEC_NON_CTP_STORE_NAME |
Reference configuration data for non-BCBS Parameter sets
There are now separate directories holding the configuration for the individual parameter sets CRR2, CRR3, NPR, and PRA. The top-level configuration directory now retains just the BCBS parameter set.
Input file formats
Added
File | Details |
---|---|
RRAO | File format for trade-level Residual Risk Add On |
Stress Calibration Scenario FX Rates | Provides FX spot rates used in stress calibration scenarios |
Summary Curvature | File format for summary StandardisedApproachCube Curvature data |
Delta Summary | File format for summary StandardisedApproachCube Delta data |
Vega Summary | File format for summary StandardisedApproachCube Vega data |
SA DRC Summary | File format for summary StandardisedApproachCube DRC data |
RRAO Summary | File format for summary Residual Risk Add On |
note
Input file formats for trade-level Curvature, Delta, Vega, and DRC are now distinguished as Trade-level Curvature, Trade-level Delta, Trade-level Vega, and Trade-level DRC respectively).
Modified
Modification | File | Field | Optional | Description |
---|---|---|---|---|
Deleted | Stress Calibration PL Trades | PnL | N | Replaced with PV. |
Added | Stress Calibration PL Trades | PV | N | Replaces PnL (backwards compatible). |
Added | Stress Calibration PL Trades | Base PV | Y | If present, subtracted from PV to get PnL. |
Deprecated | Trade Attributes | ExoticUnderlying | RRAO now has its own file type RRAO. Loading RRAO via the Trade Attributes file is now deprecated. | |
Deprecated | Trade Attributes | Notional | As above & previously deprecated just for DRC | |
Deprecated | Trade Attributes | Notional Ccy | As above & previously deprecated just for DRC | |
Deprecated | Trade Attributes | OtherResidualRiskType | As above | |
Deprecated | Trade Attributes | ResidualRisk | As above | |
Deprecated | Trade Attributes | RRAO Category | As above |
Configuration files
Files Added
DRC Seniority Description.csv
Changed the DRC Seniority Description input file into a configuration file, DRC Seniority Description.csv without the AsOfDate column.
Equity Bucket Correlations
The gamma correlations between Equity buckets is now configured in the Equity_Bucket_Correlations file.
Files Modified
Default_Risk_Weights
Modification | Field | Optional | Description |
---|---|---|---|
Added | Bucket | Y | Bucket may be used to look up DRC non-Sec risk-weights |
frtb-config.properties
Deleted properties:
Property Name | Comment |
---|---|
delta.ccy.level | Property is no longer used now that stores have been merged into SASensitivities store |
vega.ccy.level | As above |
risk-weight.level | As above |
commodity.curvature.double-sums.levels | As above |
nb.elemts.analysis.hierarchy | As above |
ima.desk.level | As above |
pl.index.hierarchy.level | As above |
book.level | As above |
book.hierarchy | As above |
legal-entity.hierarchy | As above |
rrao.category.level | As above |
ima.drc.seniority.level | As above |
drc.seniority.ranking.level | DRC Seniority Ranking level no longer exists as SeniorityDescription store has been removed from the star schema |
equity.market-data.sector.category.level | Level intended to be used with properties has been removed |
equity.market-data.market-cap.category.level | As above |
equity.market-data.economy.category.level | As above |
csr-ns.market-data.rating.category.level | As above |
csr-ns.market-data.sector.category.level | As above |
csr-sec-ctp.market-data.rating.category.level | As above |
csr-sec-ctp.market-data.sector.category.level | As above |
csr-sec-non-ctp.market-data.rating.category.level | As above |
csr-sec-non-ctp.market-data.sector.category.level | As above |
frtb-data-load.properties
New properties:
Property Name | Optional | Value | Description |
---|---|---|---|
drc.summary.file-pattern | **/DRC_Summary_*.csv{,.gz} | File pattern for DRC summary files | |
rrao.summary.file-pattern | **/RRAO_Summary*.csv{,.gz} | File pattern for RRAO summary files | |
rrao.trade.file-pattern | **/RRAO_Trade*.csv{,.gz} | File pattern for RRAO trade-level files | |
sbm.summary.delta.sensitivities.file-pattern | **/SBM_Summary*_Delta_Sensitivities*.csv{,.gz} | File pattern for Delta summary files | |
sbm.summary.vega.sensitivities.file-pattern | **/SBM_Summary*_Vega_Sensitivities*.csv{,.gz} | File pattern for Vega summary files | |
sbm.summary.curvature.sensitivities.file-pattern | **/SBM_Summary*_Curvature_Sensitivities*.csv{,.gz} | File pattern for Curvature summary files |
Deleted properties:
Property Name | Comment |
---|---|
sa.csr-nonsec.delta.gamma-rating.correlation | Correlations are directly defined instead of being calculated at runtime, therefore this parameter is no longer being used. |
sa.equity.large-emerging-market.correlation | As above |
sa.equity.large-advanced.correlation | As above |
sa.equity.small-emerging-market.correlation | As above |
sa.equity.small-advanced.correlation | As above |
sa.equity.index.correlation | As above |
sa.other.bucket.csr.secctp | As above |
sa.csr-sec-non-ctp.delta.non-senior.rw-scale | As above |
sa.csr-sec-non-ctp.delta.high-yield.rw-scale | As above |
sa.csr-sec-non-ctp.delta.other-sector.rw | As above |
CSRNS Bucket Correlations
The CSRNS Bucket Correlations file now contains the (full) gamma correlation, instead of just the “sector” component of the correlation.
Startup properties
Deleted properties:
Property Name | Comment |
---|---|
publishing.pre-interpolated-tuple-detection.logger-level | Property removed as it was not being used |
Datastores
Added stores
Store | Details |
---|---|
StressCalibrationScenarioFxRates | The Scenario FX Rates for the Stress Calibration cube |
Modified stores
Modification | Store | Field | Type | Description |
---|---|---|---|---|
Modified | SeniorityDescription | The store has been removed from the star schema and is now a configuration store | ||
Deleted | StressCalibrationTrades | PnL | N | Replaced with PV |
Added | StressCalibrationTrades | PV | N | Replaces PnL (backwards compatible) |
Added | StressCalibrationTrades | Base PV | Y | If present, subtracted from PV to get PnL |
Databases
Deleted tables
The following tables are no longer part of the star schema, so they are not needed in DirectQuery anymore:
- CSRBUCKET_DESC
- EQUITY_BUCKET_DESC
- SENIORITY_DESCRIPTION
Cube schema
Removed
Cube | Dimension | Hierarchy | Levels | Datastore fields | Details |
---|---|---|---|---|---|
SA | Default Risk Charge | DRC Seniority | DRC Seniority Ranking | Ranking | Level is no longer being used in calculations |
SA | Market Data | Equity Market Cap Category | Equity Market Cap Category | Market Cap Category | As above |
SA | Market Data | Equity Economy Category | Equity Economy Category | Economy Category | As above |
SA | Market Data | Equity Sector Category | Equity Sector Category | Sector Category | As above |
SA | Market Data | CSR Quality Category | CSR Quality Category | Rating Category | As above |
SA | Market Data | CSR non-Sec Rating Category | CSR non-Sec Rating Category | As above | As above |
SA | Market Data | CSR Sec CTP Rating Category | CSR Sec CTP Rating Category | As above | As above |
SA | Market Data | CSR Sec non-CTP Rating Category | CSR Sec non-CTP Rating Category | As above | As above |
SA | Market Data | CSR Sector Category | CSR Sector Category | Sector Category | As above |
SA | Market Data | CSR non-Sec Sector Category | CSR non-Sec Sector Category | As above | As above |
SA | Market Data | CSR Sec CTP Sector Category | CSR Sec CTP Sector Category | As above | As above |
SA | Market Data | CSR Sec non-CTP Sector Category | CSR Sec non-CTP Sector Category | As above | As above |
Other changes
Java 17 JVM Options
To run Atoti FRTB using Java 17, the following needs to be added to the JVM options:
--add-opens java.base/java.util.concurrent=ALL-UNNAMED
See the Atoti Server documentation for more details.