Documentation Index
Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
Use this file to discover all available pages before exploring further.
For the list of issues covered in this release, see the Changelog.
For information on upgrading from previous versions, see the
Migration Guide.
Follow this link to download the zipped distribution files for:For migration details, see the Migration Guide.
- UI source code
- UI build
- Source files to build the module
- Sample bookmarks
- Offline documentation that can be served by the module
- Maven repository required to build the project and run the tests. The Atoti Server 6.1.19 Maven repository files can be downloaded from here.
Summary
New featuresImprovementsBug fixes- FX shift factor moved to IFxShift service
- FX relative sensitivity formula fix
- DynamicTenorsAndMaturitiesPostProcessor empty results fix
- Stable names for hidden technical measures
New features
Exclude FX risk from the VaR cube
A new property,mr.fx.enable-fx-risk-on-var-cube, controls whether FX risk is included in the VaR cube computation. The default is true, which preserves existing behavior.When set to false:- Both the complete VaR chain (
VaRESChain) and the summary VaR chain (SummaryVaRESChain) compute VaR/ES from the plain PnL vector. No FX market-shift contribution is applied in either chain. - The synthetic
*_FXrisk-factor members (Equity_FX,IR_FX, etc.) are not added to the Risk Factors hierarchy on the VaR cube. - The
pnlVectorExpanddrill-up logic reads the scenario ID directly at the fact location instead of walking*_FXmembers. - The Sensi cube is unaffected. The Sensi cube’s Taylor chain continues to include FX risk as before.
mr.fx.enable-fx-risk-location-shift=false, the complete VaR chain already skips FX, but the summary VaR chain still applied FxRiskPostProcessor. Setting enable-fx-risk-on-var-cube=false makes both chains behave uniformly.Constraint. Setting mr.fx.enable-fx-risk-on-var-cube=false together with mr.fx.enable-var-base-currency-dimension=true is not supported and is rejected at startup with a validation error.Distributed deployment. Set this property on data-node configurations where the VaR cube is hosted. In multi-data-node federations, keep the value consistent across all data nodes.For migration details, see the Migration Guide.Migration Helper REST endpoint
A new/migrationHelper REST endpoint is now available when running in in-memory mode (starter.deployment.type=in-memory). It provides:GET /migrationHelper/sqlSchema— generates SQL DDL statements for the MR datastore schema, targeting Snowflake, MSSQL, or Databricks.POST /migrationHelper/extract— exports in-memory datastore data to CSV files and returns the DDL.POST /migrationHelper/extractForDatabase/{database}— simplified extraction for a specific database type.
mr.migration.export.enabled(defaulttrue) — registers theMRMigrationHelperRestController. Set tofalseto remove the migration helper from deployments that don’t need it.mr.migration.export.base-dir(defaultjava.io.tmpdir) — restricts the allowed output path for CSV file exports.
Improvements
Upgrade to Atoti Server 6.1.19
Atoti Market Risk has been upgraded to Atoti Server 6.1.19 (from 6.1.17).Atoti Server 6.1.19 reworks the distributed messaging API: the legacy broadcast-message types have been replaced with theRequest / Answer / ProcessedOutput records and the CommunicationRegistration builder. Atoti Market Risk does not reference these types directly, so the change is transparent for projects that build on the standard Atoti Market Risk configuration.The upgrade also brings a couple of incidental changes:- The Snowflake JDBC driver bundled with AS 6.1.19 relocates
SFSessionProperty(fromnet.snowflake.client.coretonet.snowflake.client.internal.core) andSnowflakeStatement(fromnet.snowflake.client.jdbctonet.snowflake.client.api.statement). - A new
com.activeviam.apps:serviceslibrary dependency is declared onmr-application— see POM file changes in the Migration Guide for the exact dependency snippets.
Bug fixes
FX shift factor moved to IFxShift service
The FX shift factor (mr.fx.shift-factor) was previously applied within the measure chain by ApplyShiftPostProcessor and FxRiskPostProcessor. This led to computation errors when used with inverse or cross-currency pairs.The shift factor is now applied directly inside the IFxShift service (in FXShift.getMarketShiftDirect()), ensuring it is applied to the raw shift vector before any inversion or cross-currency computation.For migration details, see the Migration Guide.FX relative sensitivity formula fix
TheFX_RELATIVE Taylor sensitivity formula in ASensiFormulaProvider.fxRelativeShiftFormula() previously applied the priceFactor after the non-linear FX inversion. The formula has been corrected to apply the priceFactor before the inversion:DynamicTenorsAndMaturitiesPostProcessor empty results fix
DynamicTenorsAndMaturitiesPostProcessor previously returned empty result sets when an MDX query placed a filter on a member of a dynamic tenor, maturity, or moneyness hierarchy inside a subselect. The post-processor now preserves the dynamic-hierarchy filter when resolving members.Stable names for hidden technical measures
Hidden intermediate technical measures in theMTM, Notional, and OriginalNotional chains previously received Copper auto-generated names (for example MTM.SUM__#__0__#__VaR). These names changed whenever the measure chain was modified, which broke DirectQuery aggregate tables that referenced them.These measures now receive explicit, stable names following the pattern <MeasureName><CubeName>.TECHNICAL (for example, MTMVaR-ES Cube.TECHNICAL). The cube name is included to avoid clashes between cubes.For migration details, see the Migration Guide.Follow this link to download the zipped distribution files for:
- UI source code
- UI build
- Source files to build the module
- Sample bookmarks
- Offline documentation that can be served by the module
- Maven repository required to build the project and run the tests. The Atoti Server 6.1.17 Maven repository files can be downloaded from here.
Summary
New featuresImprovements- Performance improvement for currency hierarchies
- Upgrade to Atoti Server 6.1.17
- Bulk adjustments executors
- Improved Sensitivity cube modularity
- New Previous and Next date shift members
- Support for CubeMoveKind in PnL Vector calculations
- Dependency upgrades and JGroups authentication update
New features
Independent FX risk toggle for VaR and Sensi cubes
A new property,mr.fx.enable-var-base-currency-dimension-on-var-cube, allows the Base Currency dimension / FX Effect hierarchy to be enabled or disabled on the VaR cube independently of the Sensi cube.Previously, the property mr.fx.enable-var-base-currency-dimension controlled both cubes simultaneously. The new property accepts three values:match-sensi-cube(default): The VaR cube follows the value ofmr.fx.enable-var-base-currency-dimension. This preserves backward compatibility.on(ortrue): The Base Currency dimension / FX Effect hierarchy is enabled on the VaR cube regardless of the Sensi cube setting.off(orfalse): The Base Currency dimension / FX Effect hierarchy is disabled on the VaR cube regardless of the Sensi cube setting.
match-sensi-cube preserves the previous behavior.For further information, see the Base Currency and FX Effect pages.Improvements
Performance improvement for currency hierarchies
TheAvailableCurrenciesQuerier has been optimized to use UniqueFieldTracker for in-memory tables instead of distinctQuery. This provides faster access to unique currency values when building FX risk factor hierarchies. For DirectQuery (external) tables, the existing distinctQuery approach is preserved.Upgrade to Atoti Server 6.1.17
The Atoti Server has been upgraded to 6.1.17.Bulk adjustments executors
This release introduces new executors designed to process multiple adjustment requests in a single operation, significantly improving efficiency and reducing execution time.Executors now support adjustments for:- Sensitivities
- PnL
- VaR
Improved Sensitivity cube modularity
The Sensitivity cube configuration has been refactored to separate Taylor-specific dimensions from the core Sensitivity cube dimensions. The following scenario-related dimensions are now configured independently inTaylorDimensionsConfig:- Scenario Analysis Hierarchy
- Liquidity Horizon Hierarchy
- Scenario Set Hierarchy
New Previous and Next date shift members
The MarketShiftDate and Day-to-Day (DtD) hierarchies now include two new default specific date members:- Previous (
CUB+1): Shifts to the previous (older) date available in the cube. - Next (
CUB-1): Shifts to the next (more recent) date available in the cube.
DAY shift (which moves by business days regardless of what data is loaded), the CUB shift resolves to the nearest date that actually exists in the cube. This is useful when the cube does not contain consecutive business dates.The new defaults are:mr.taylor.market-shift-date-specific:TODAY=DAY0, YESTERDAY=DAY-1, PREVIOUS=CUB+1, NEXT=CUB-1mr.cubes.levels.day-to-day-members:Yesterday=DAY-1, Day-2=DAY-2, Tomorrow=DAY+1, End Of Month=EOM-1, End Of Quarter=EOQ-1, End Of Year=EOY-1, Previous=CUB+1, Next=CUB-1
Previous the default member of the DtD hierarchy, override the property and place it first:Support for CubeMoveKind in PnL Vector calculations
APnlVectorFromRiskSensiPostProcessor now supports the CubeMoveKind move kind. This move kind resolves market shift dates to the nearest available date in the cube.Dependency upgrades and JGroups authentication update
Common Accelerator Library has been upgraded to 2.1.14-AS6.1, Common Dependencies BOM to 2.5.0, and Sign-Off API to 4.2.1. Multiple third-party dependencies have been updated to their latest stable versions (springdoc, swagger, testcontainers, tomcat, lombok, and others).The JGroups authentication token class used in distributed deployment configurations has been changed fromAtotiAuthToken to SharedSecretAuthToken. This affects the protocol-tcp.xml and protocol-udp.xml files. See the Migration guide for details.Bug fixes
Fix incorrect data returned due to incomplete cache keys
Fixed caching issues where query parameters were missing from cache keys. This caused incorrect results when querying the same risk factor with different context values in a single query:ScalarMarketDataRetrievalService#getMarketShiftRecordâscenariowas missing from the cache key, so the first scenario’s shift data was reused for subsequent scenarios.ScalarMarketDataRetrievalService#getMarketDataRecordâmarketDataSetwas missing from the cache key.CubeLevelAdjustmentPostProcessor#getRateâ all parameters (date,marketDataSet,refCurrency,currency) were missing from the cache key, so the first FX rate looked up was reused for all subsequent currency pairs.
Follow this link to download the zipped distribution files for:
- UI source code
- UI build
- Source files to build the module
- Sample bookmarks
- Offline documentation that can be served by the module
- Maven repository required to build the project and run the tests. The Atoti Server 6.1.15 Maven repository files can be downloaded from here.
Summary
New features- What-If upgrade
- Multi-jurisdiction VaR support
- New Intermediate VaR measure
- DirectQuery Incremental Refresh Support
New features
What-If upgrade
The Atoti What-If module has been upgraded to 4.1.6-AS6.1 delivering the following enhancements:- Parallel Submissions: Run multiple simulations simultaneously, reducing wait times and accelerating decision-making.
- Simplified Workflows: Simulations that do not involve database changes are now easier to configure and execute, improving efficiency for common use cases.
- Improved Permissions and Error Handling: Fixes to permission management and enhanced error handling ensure smoother operations and greater reliability.
Multi-jurisdiction VaR support
The multi-jurisdiction FX features introduced in 6.0.5 for Taylor VaR have been extended to the VaR cube. Users can now analyse how the choice of base currency affects historical VaR results through the same Base Currency and FX Effect hierarchies:- Base Currency dimension: The Base Currency and FX Effect hierarchies are now available on the VaR-ES cube when
mr.fx.enable-var-base-currency-dimension=true. - FX risk location shift: When
mr.fx.enable-fx-risk-location-shift=true(default), FX risk in the VaR cube is correctly shifted to the appropriate risk class and risk factor locations. The Risk Factors hierarchy conditionally includes synthetic FX risk factor members based on this setting and virtual hierarchy configuration. - FX decomposition: VaR results can be decomposed into local risk and FX-driven effects, giving risk teams the same level of FX risk transparency on the VaR cube as previously available on the Sensitivity cube.
Intermediate VaR Measure for FX Risk Transparency
A new intermediate measure,FxShiftVectorExpand, has been added to the VaR Cube to improve visibility into foreign exchange risk adjustments:- Enhanced Transparency: Displays the FX shift vector applied when converting to a base currency different from the sensitivity currency, giving clearer insight into currency conversion impacts on VaR calculations.
- Better Risk Analysis: Helps risk teams validate and explain FX adjustments in VaR results, improving auditability and confidence in risk reporting.
DirectQuery Incremental Refresh Support
This release introduces support for incremental refresh operations for DirectQuery data sources, enabling faster and more efficient updates.- Improved Performance: Instead of refreshing entire datasets, only changed data is updated, reducing processing time and resource usage.
- Flexible Configuration: Incremental refresh can be pre-configured using templates or customized directly by specifying table and field updates,
- giving teams full control over refresh strategies.
Improvements
Greater flexibility for Scenario Customization
This release introduces major enhancements to how scenarios are configured and managed, giving teams more control and agility:- Modular Scenario Joins: Joins are now modular, making it easier to customize how data is combined without disrupting existing metrics or logic.
- Customizable Metrics and Hierarchies: Metrics and Copper hierarchies can be extended or overridden, allowing you to tailor calculations and structures to your business needs.
- Robust Scenario Index Decoding: A new join-based approach replaces the old post-processor, making scenario index decoding more reliable and adaptable, while reducing maintenance effort and avoiding changes to metrics.
Atoti Server Upgrade
The Atoti Server has been upgraded to 6.1.15.Follow this link to download the zipped distribution files for:
- UI source code
- UI build
- Source files to build the module
- Sample bookmarks
- Offline documentation that can be served by the module
- Maven repository required to build the project and run the tests. The Atoti Server 6.1.13 Maven repository files can be downloaded from here.
Summary
New featuresImprovements- Upgrade to Atoti Server 6.1.13
- Taylor sensitivity specific measures can be hidden
- Enhancement of the FX Risk computation for Taylor VaR
New features
FX base currency effect
This enhancement introduces the ability to analyse how the choice of base currency affects Taylor VaR results. While the core calculation remains unchanged, users can now explore FX risk more granularly through two new hierarchies added to the Currencies dimension:Base Currency: Enables selection of the currency considered risky. Options include using the display currency, neutralising the FX effect, or selecting any available currency. FX Effect: Allows decomposition of VaR into components that isolate local risk from FX-driven effects.This feature is not activated by default.For further information, see the Base Currency and FX Effect pages.Intermediate Taylor VaR measures
New measures are now available to provide deeper insights into Taylor VaR calculations by exposing key vectors:FxShiftVectorExpandSensi: Displays the FX shift vector used when converting to a base currency different from the sensitivity currency in the Sensitivity Cube.TaylorVectorExpand Native: Shows the PnL vector of Taylor VaR expressed in the sensitivity currency, prior to any currency conversion.
Improvements
Upgrade to Atoti Server 6.1.13
This release includes an upgrade to Atoti Server 6.1.13.New Sensitivity Type filtering capabilities
Users now have the option to simplify their dashboards by hiding Taylor sensitivity-specific measures. A new hierarchy called Sensitivity Type has been introduced, allowing users to filter Taylor VaR metrics by sensitivity type. This provides the same analytical results as the hidden measures, ensuring consistency across saved views and bookmarks. For example, filtering by “Delta” in the Sensitivity Type hierarchy will yield the same result as viewing the “Delta Taylor VaR” measure directly.Enhancement of the FX Risk computation for Taylor VaR
FX risk handling has been refined to ensure accurate location shifts and better cube filtering:Whenmr.fx.enable-fx-risk-location-shift=true (default setting), FX risk is moved to Delta/FX.
This has been enhanced to apply location shifts across the following hierarchies in the Sensitivity Cube:- Sensitivity set to
Delta. - SensitivityType set to
Delta.
mr.fx.enable-fx-risk-location-shift=false, no location shift occurs, and FX risk remains visible via the FX Effect hierarchy. For more information see the
FX Effect page.These improvements ensure FX risk is accurately represented in the Sensitivity Cube, reducing reporting discrepancies and improving risk transparency.Follow this link to download the zipped distribution files for:
- UI source code
- UI build
- Source files to build the module
- Sample bookmarks
- Offline documentation that can be served by the module
- Maven repository required to build the project and run the tests. The Atoti Server 6.1.11 Maven repository files can be downloaded from here.
Summary
Improvements- Migrated to DirectQuery Local Cache
- Fixed cube level adjustment issues
- Improved stability and performance of distributed what-if simulations
Improvements
Migrated to DirectQuery Local Cache
Atoti Market Risk 6.0.0 included the preview for a DirectQuery cache that balanced fast Get-By-Key query performance with controllable memory consumption. This cache was integrated into Atoti Server 6.1.9 as a robust, fully supported feature. In Atoti Market Risk the preview cache has been removed and replaced with the Atoti Server version.This cache is still enabled by setting the propertymr.enable.preview.directquery-cache=true. With this setting enabled, all market data stores
(specifically CubeMarketData, CurveMarketData, FxRateMarketData, SpotMarketData, SurfaceMarketData, and MarketShifts) are now cached when using DirectQuery.
In previous versions, the MarketShifts store wasn’t cached.Fixed cube-level adjustment issues
Previously, cube-level adjustments made to the Instrument Type level were visible in Atoti Sign-Off but weren’t correctly reflected in Atoti Market Risk. Now, the adjustments are accurately displayed in both places. Additionally, adjusted values were incorrectly associated with the default LIVE version instead of the correct OLD version. This has also been corrected.Improved stability and performance of distributed what-if simulations
The what-if simulation process has been updated to be significantly faster and more stable. The system now uses a single-phase commit mechanism, replacing the previous multi-phase commit process.This change simplifies the simulation operation, which results in notable improvements in performance and cluster stability at the expense of some consistency checks.Follow this link to download the zipped distribution files for:
- UI source code
- UI build
- Source files to build the module
- Sample bookmarks
- Maven repository required to build the project and run the tests. The Atoti Server 6.1.9 Maven repository files can be downloaded from here.
Summary
New featuresImprovements- Update to Atoti Server 6.1.9
- Update to Data Connectors 5.0.7
- Extensible tail measure types
- Duplicate DirectQuery join bug resolved
- New property to enable MRCombined Cube
- springdoc-openapi version fix
- clear-filter parameter is taken in account for Drill-up comparative measures
- Taylor VaR post-processor now takes into account additional levels
New features
Databricks handle row-based vector schema
Databricks supports native vector aggregation, however, there are cases where you may prefer to use row-based vectors. Notably, native vector aggregation is only available when using “All-purpose compute” clusters and is not available to SQL Warehouses.Atoti Market Risk includes four tables that use vectors, TradePnLs, TradeSensitivities (for ladders), SensiLadders, and MarketShifts. This release allows you to use row-based vectors for any or all of these tables. Additionally, in mr-directquery/src/test/resources/databases/databricks/row-based-vectors we provide SQL scripts to create an Atoti Market Risk schema with row-based-vectors for the stores mentioned above.The Atoti Market Risk DirectQuery schema is created using the Migrator component. This takes the in-memory MR schema and converts it to a DirectQuery compatible schema. By default, when running with Databricks, the schema will be created with native vector fields. You can choose to use row-based vector fields by modifying the Migrator bean as follows:Improvements
Update to Atoti Server 6.1.9.
This release includes an update to Atoti Server 6.1.9.Atoti Server 6.1.9 contains a full, production-ready version of the DirectQuery cache that was included in Atoti Market Risk 6.0.0. However, Atoti Market Risk 6.0.3 has not been updated to work with the Atoti Server version. Atoti Market Risk will be migrated to use this new cache in a future release.
Data Connectors Update
This release includes an update to Data Connectors 5.0.7 which provides a number of bug fixes.You may see some new WARN logs as a result of this update.This update also highlighted some missing topic imports for the Sensitivity Summary cube which are fixed in this release. This also required some changes to the imports of the main Sensitivity Cube configuration.Extensible tail measure types
TheITailMeasureCalc.CalcType and IWeightedTailMeasureCalc.CalcType enums are used to differentiate between tail measures like VaR and Expected Shortfall, which are mostly similar but require somewhat distinct processing logic. This logic is mostly contained in classes implementing the ITailMeasureCalc and IWeightedTailMeasureCalc interfaces.Enums are not easily extensible, meaning it is difficult to add custom tail measure types. In this release, we have deprecated these enums and instead introduced a TailMeasureCalcType class. This class operates like an enum with default static values, such as TailMeasureCalcType.VAR. But you can provide custom types with: TailMeasureCalcType.getByDescription("NewType"), so you can now define new types of tail measures.If you want to use custom types, you will also need to provide logic for these types by creating your own implementation of ITailMeasureCalc and/or IWeightedTailMeasureCalc.The methods that used these enums, primarily on the ITailMeasureCalc and IWeightedTailMeasureCalc interfaces and their implementations, have also been deprecated. New methods have been added that use TailMeasureCalcType instead. These deprecated methods will be removed in a future release.Duplicate DirectQuery join bug resolved
When starting in DirectQuery mode, if your schema contained any joins to a table with vectors this join would be duplicated in the DirectQuery schema. This would cause a startup failure due to an invalid schema. This issue has been resolved in this release.New property to enable MRCombined Cube
The word common in the property and annotationmr.enable.cubes.common and @ConditionalOnCommonCubeEnabled which enables the combined cube may cause confusion regarding intended functionality. The introduction of the property mr.enable.cubes.combined and the annotation @ConditionalOnCombinedCubeEnabled renames and in a future release will replace the now deprecated property and annotation mr.enable.cubes.common and @ConditionalOnCommonCubeEnabled.springdoc-openapi version fix
The version ofspringdoc-openapi that is used in Atoti Market Risk version 6.0.2 was incorrect: version 2.5.x was used, which is incompatible with the version of Spring Boot used, which is 3.4.x.
See: <https://springdoc.org/faq.html#_what_is_the_compatibility_matrix_of_springdoc_openapi_with_spring_boot>
springdoc-openapi version 2.8.9 is used in Atoti Market Risk version 6.0.3.clear-filter parameter is taken in account for Drill-up comparative measures
The parametersclear-filter located on mr.metrics.booking, mr.metrics.trades, mr.metrics.custom-metrics.* path is now taken in account for the
post-processor=ParentValue setup.For instance here is the behaviour change:Result without filtering
| Levels | VaR | LEstimated |
|---|---|---|
| Total | -10518762.87 | -10518762.87 |
| Equities | -10930109.59 | -10484558.87 |
| FICC | -3721950.54 | -191748.48 |
| Global Hedging | -564782.43 | 157544.48 |
Taylor VaR post-processors now take into account additional levels
TheIMarketDataRetrievalService.updateLeafCoordinatesFunction method is now properly taken into account
in post-processors used to compute Taylor VaR metrics.Follow this link to download the distribution files for:
- UI source code.
- UI build that does not require an installation and can be directly deployed.
- Source files that can be used to build the module.
- Maven repository required to build the project and run the tests.
The Atoti Server 6.1.8 Maven repository files have been removed from this zip, so you’ll need to download them separately. Click here to locate them.
- Offline documentation that can be served by the module.
Summary
New featuresImprovementsNew features
Properties to enable data overlap
You can now enable data overlap within a horizontally distributed setup using the newly added Cube properties.Improvements
Atoti Market Risk upgrade
Atoti Market Risk has been upgraded to Atoti Server 6.1.8.Follow this link to download the distribution files for:
- UI source code.
- UI build that does not require an installation and can be directly deployed.
- Source files that can be used to build the module.
- Maven repository required to build the project and run the tests.
The Atoti Server 6.1.6 Maven repository files have been removed from this zip, so you’ll need to download them separately. Click here to locate them.
- Offline documentation that can be served by the module.
Summary
Improvements- Theta PnL Explain fix
- Configurable FX conversion default rate
- GenericLambdaCalculator
- Added option to disable partitioning on AsOfDate
Improvements
Theta PnL Explain fix
The Theta Pnl Explain formula has been fixed to correctly compute the losses due to time decay.Configurable FX conversion default rate
FX conversion post-processors can now be configured to use a default FX rate if the actual rate cannot be computed for the FX pair.GenericLambdaCalculator
TheGenericLambdaCalculator class has been added to provide a source type independent way of creating column calculators. We recommend using this instead of the LambdaCalculator class to create simple column calculators.Option to disable partitioning on AsOfDate
The propertymr.partitioning.as-of-date.partition-type can now be set to none to disable partitioning on AsOfDate.Follow this link to download the distribution files for:
- UI source code.
- UI build that does not require an installation and can be directly deployed.
- Source files that can be used to build the module.
- Maven repository required to build the project and run the tests.
The Atoti Server 6.1.5 Maven repository files have been removed from this zip, so you’ll need to download them separately. Click here to locate them.
- Offline documentation that can be served by the module.
Summary
New features- Atoti Market Data
- Configurable parent-child depth
- New DirectQuery Cache
- Handling multi-leg trades
- Base store and aggregate provider partitioning by AsOfDate
- Updated TradeAttributes store
- Dependency upgrades
- What-if improvements
- Updated dashboards
- Market data set changes
- Market data-related changes
- Simplified PnL Actuals tables
- Cube-level adjustments
- Fixed creation of VaR risk class measures
- Liquidity Horizon
- Measure folders
- Data node market data
- Custom exception handling in the UI
- Admin UI measure dependencies
- Replaced APM starter dependency
New features
Atoti Market Data
The Market Data API, introduced in Atoti Market Risk 5.3, is now an external dependency called Atoti Market Data, using version 1.3.1 . For details, see the dedicated Atoti Market Data documentation.Configurable parent-child depth
You can now configure the maximum depth of parent-child hierarchies. This means you can set the depths that suits your needs perfectly.New DirectQuery Cache
This release includes a new DirectQuery caching mechanism that pulls slices of market data into memory when required to improve the performance of market data retrievals. This is a preview feature, disabled by default. See 6.0 Migration Notes for details.Handling multi-leg trades
The attribute LegId has been added to the PLCube to enable sending in trades that will have multiple legs under a single TradeId. Only available when the propertymr.pnl.enable.leg-id is set to true. LegId should be added to the end of PLActuals and PLPCActuals.csv, and to .json summary export files. Please update database scripts accordingly to use with DirectQuery.Base store and aggregate provider partitioning by AsOfDate
Added the new String propertymr.partitioning.as-of-date.partition-type to configure the type of partitioning used for the field AsOfDate and the Integer property mr.partitioning.as-of-date.number-of-partitions to configure the number of partitions for the field AsOfDate when modulo partitioning is used. AsOfDate uses value partitioning by default.Updated TradeAttributes store
The TradeAttributes store now includes the fields TradeSource,TradeStatus, and OriginalNotional. The hierarchies TradeSources and TradeStatuses have been added to summary cubes. The measures Original Notional and Original Notional Native have been added to the VaR-ES cube.Improvements
Dependency upgrades
- Atoti Server: Atoti Market Risk has been upgraded to Atoti Server 6.1.5. This version requires Java 21.
- JDK: Upgraded from JDK 17 to JDK 21 to utilize the latest features.
- Data Connectors: This version of Atoti Market Risk uses Atoti Data Connectors 5.0.0, which has a completely reworked API. For details, see Data Connectors upgrade.
- What-if: Upgraded to What-if 4.0.2-AS6.1.
What-if improvements
- Migrated What-if persistence to Hibernate: The What-if persistence layer has been migrated from branch-based persistence to a Hibernate database implementation.
- Added What-if configuration beans: Added supplier beans for cluster addresses and the user authenticator used by the REST distributed database service for What-if.
Updated dashboards
A number of dashboards have been updated due to market data measure and context value changes. In addition, dashboards have been migrated to use Atoti UI’s Investigation feature instead of the story-telling feature, which has been decommissioned. For more information on the Investigation feature, see Investigations.Market data set changes
Market data sets have significantly changed in this release. Most notably MarketDataSet is now a field on all base stores ensuring each fact is specifically associated to a set.Market data-related changes
- Deprecated vector sensitivities data model code removed: The code specific to vector sensitivities data model and subsequent code have been removed.
- Deprecated market data and FX services removed: Several deprecated services made obsolete by the move to Atoti Market Data have been removed.
- General measure chain changes: FX conversions are now done through Atoti Market Data APIs, leading to several measure chain changes.
- Market data chain changes: Market data chain has been changed: it is now required to add the sensitivity name and risk class levels in the views to display market data.
- Market data file format configuration clean-up: Market data file formats now default to the Atoti Market Data 1.1.0 market data files, no longer requiring explicit file naming patterns to be declared. Backwards compatibility has been maintained by matching the configured file naming pattern to the deprecated file formats.
- Removed risk factor FX pair fallback logic: Removed logic that would default to using the risk factor as a base currency and the display currency as a counter currency when the risk factor did not contain a currency pair in the
XXX/YYYformat. - Removed Cash sensitivities: Cash sensitivities were dependent on risk factor FX pair fallback logic and have therefore been removed.
- Removal of RoundingMethods and Quantiles stores: These stores are no longer needed.
Simplified PnL Actuals tables
The following attributes have been removed from the stores PnL and PnLBaseStore and the cubes PLCube and PL Summary cube, because for actual PnL, there is no breakdown of the PnLs at these factor levels:- RiskFactor
- RiskFactorType
- RiskFactorCcy
- CurveType
- RiskClass
- Qualifier
Liquidity Horizon
The Liquidity Horizon parameter is now taken into account when computing VaR/Es metrics. To achieve this, the parameter has moved to the Scenario table. See VaRTimePeriod context value for the behavior of the field.Cube-level adjustments
The implementation of cube-level adjustments has been changed: now only add-ons are supported for cube-level adjustments, and the add-ons are aggregated.*_Adjusted measures have been removed.Fixed creation of VaR risk class measures
Risk class measures are now correctly created when themr.risk.risk-class-members property is used.Measure folders
Measures related to a fixed confidence level have been moved back into the folders related to fixed confidence levels. Starting from version 5.0, some of those measures were defined in the wrong folders.Data node market data
During the initial data load (within theInitialDataLoadConfig class), market data is now loaded for all available dates, without taking the DLC scope into account.Custom exception handling in the UI
The Atoti Market Risk UI now parses custom exception responses in a consistent manner. For more information, see Adding Custom UI Exceptions.Admin UI Measure dependencies
The functionality previously provided by DoctorPivot is now easily accessible through the Atoti Admin UI in the Measure dependencies tab. The standalone DoctorPivot app no longer exists.Replaced APM starter dependency
Replaced the dependencyapm with atoti-server-apm-starter in market-risk/pom.xml and added the dependency atoti-server-apm-starter to mr-application/pom.xml.