Activating and de-activating cubes

Cubes can be activated or de-activated from the configuration file application.yaml.

Configuration

Properties

Key Value Description
mr:
 cubes: Subsection for Atoti Server cubes.
  enable: Subsection for enabling and disabling individual cubes.
   var: true Enable (true) or disable (false) the Var-ES cube.
   var-summary: true Enable (true) or disable (false) the Var-ES Summary cube.
   pnl: true Enable (true) or disable (false) the PnL cube.
   pnl-summary: true Enable (true) or disable (false) the PnL Summary cube.
   sensi: true Enable (true) or disable (false) the Sensi cube.
   sensi-summary: true Enable (true) or disable (false) the Sensi Summary cube.
   market: true Enable (true) or disable (false) the Market Data Cube.
   common: true Enable (true) or disable (false) the MRCombinedCube.
starter: Subsection for Atoti Server instance configuration.
 deployment: Subsection for customising the node instance.
  type: in-memory in-memory datastore, direct-query database or query-node only.
  transport: local local, netty or none bus.

starter.deployment.type could be:

  • in-memory: Configures the instance to have data cubes that rely on in memory datastore
  • query-node: Configures the instance to handle only the query cube, aka the common cube
  • direct-query: Configures the instance to have data cubes that rely on directQuery database

starter.deployment.transport could be:

  • local: The data cubes communication with the query cube uses the local bus.
  • netty: The data cubes communication with the query cube uses the netty bus.
  • none: The data cubes use no communication bus, in this case you can’t have any query cube.

(!) To activate or disable the query cube, you should use the property mr.enable.cubes.common:

  • true: The instance will start a query cube (MRCombinedCube).
  • false: The instance won’t start a query cube, assuming another one will start it.

Datastore implication

De-activating a cube means that the unused stores will also be de-activated. The following matrix shows the mapping between store and cubes.

note

The MRCombinedCube does not require a store because it is a query cube.

Standard configuration

Store Var-ES cube Sensi cube PnL cube Var-ES Summary cube Sensi Summary cube PnL Summary cube
FXRates X X X X X X
TradeAttributes X X X
BookParentChild X X X
BookHierarchy X X X
LegalEntityParentChild X X X
LegalEntityHierarchy X X X
CounterpartyParentChild X X X
CounterpartyHierarchy X X X
Counterparties X X X
Countries X X X
RiskFactorsCatalogue X X X
Scenarios1 X X
PnL X
DynamicMaturities X
DynamicTenors X
DynamicMoneyness X
TradeSensitivities X
MarketData X
CorporateAction X
SensiLadders X
MarketShifts X
TradePnLs X
PnLBaseStore X
SensiBaseStore X
BaseStore X

Removing modules from your application

The default MR application includes all modules, with the full project code containing the Sensitivity, Market Data, PnL, VaR-ES, and MRCombined cubes (and Summary versions where applicable).

To remove a module completely, remove the dependency in the MR application pom.xml file and modify the MarketRiskConfig class to remove the imports of configuration classes. All efforts have been made to minimize the amount of code changes required to achieve this removal, but some direct imports from the libraries might remain.


  1. This store is active even if only the PnL cube is activated ↩︎