Release notes and changelog
info
For user-facing changes, refer to the What’s New
page.
For information on upgrading from previous versions, see the
Atoti Market Risk Migration Notes.
5.4.2
2024-11-26
Download the distribution files here
The distribution files comprise the following zipped artifacts:
- 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.
note
The Atoti Server 6.0.18-sb3 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
- Dependency upgrades: This release includes updates to Atoti Server (6.0.18-sb3) and DaSH (3.3.1-AS6.0). These updates contain a number of bug fixes and improvements. Please see the release notes for these products for further information.
- DirectQuery table validation timeout: The timeout for DirectQuery table validation queries can now be configured with a property.
- Cash market data measures: Market data measures for Cash now correctly return the FX rate instead of using the FX post-processor with dynamic aggregation.
- Missing FX rates: Attempting to retrieve FX rates for missing currencies no longer causes an error or causes queries to fail.
- Fixed distribution query node startup: The query node startup no longer crashes due to market data tables not being part of the database.
Known issues
None.
Dependency versions
Component | Version |
---|---|
Adjustments Services API | 4.0.1 |
Atoti Server | 6.0.18-sb3 |
Atoti UI | 5.1.x |
Common Library | 2.0.6-AS6.0 |
Data Connectors | 4.1.2-AP6.0-sb3 |
Datastore Helper | 3.3.1-AS6.0 |
Java | JDK17 |
Sign-Off API | 4.0.1 |
Solutions Tools BOM | 2.2-AS6.0 |
UI Components | 5.0.40 |
What-If | 3.0.1-AS6.0 |
Added
Issue Key | Details |
---|---|
MR-1978 | Update to Atoti Server 6.0.18, Common Library 2.0.6-AS6.0 and DaSH 3.3.1-AS6.0. |
Changed
Issue Key | Details |
---|---|
MR-1967 | Attempted FX conversions no longer throw exceptions in cases of missing rates. |
Fixed
Issue Key | Details |
---|---|
MR-1980 | Market data measures for Cash used the dynamic aggregation FX post-processor instead of simply returning the FX rate. |
MR-1991 | The query node startup no longer crashes due to market data tables not being part of the database. |
5.4.1
2024-10-24
Download the distribution files here
The distribution files comprise the following zipped artifacts:
- 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.
note
The Atoti Server 6.0.17-sb3 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
- Upgrade to Atoti 6.0.17-sb3: This picks up the latest bug fixes and optimizations from Atoti.
- Fix security vulnerabilities: The Spring Boot dependencies have been upgraded to version 3.2.10 and Data Connectors has been upgraded to version 4.1.2-AP6.0-sb3 to fix security vulnerabilities.
- Fix Swagger UI: Swagger UI is now accessible and documents the REST endpoints in Atoti Market Risk.
- Fix Logback file configuration: The
mr-application/src/main/resources/logback-spring-file.xml
configuration has been fixed and writes logs to a local file. - Configurable parent child depth: You can now configure the maximum depth of parent-child hierarchies.
- 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.
- Updated dashboards: A number of dashboards have been updated due to market data measure and context value changes. For details, see Updated dashboards.
- Compatibility with Atoti Sign-off 5.3: This version of Atoti Market Risk is compatible with Atoti Sign-off 5.3.
- Adjustment fixes: Cube level adjustments for the Sensitivity and VaR modules can now be executed and the adjusted values can be found in the UI by using the corresponding
<measure>_adjusted
measures. Deleting adjustments no longer fails when cubes are disabled. - FX rate on a currency against itself: The contextual FX rate retriever returns 1.0 when the counter currency is the same as the base currency.
- Interpolation bug fix: The interpolation mode is now included in the cache key.
Known issues
None.
Dependency versions
Component | Version |
---|---|
Adjustments Services API | 4.0.1 |
Atoti Server | 6.0.17-sb3 |
Atoti UI | 5.1.x |
Common Library | 2.0.5-AS6.0 |
Data Connectors | 4.1.2-AP6.0-sb3 |
Datastore Helper | 3.3.0-AS6.0 |
Java | JDK17 |
Sign-Off API | 4.0.1 |
Solutions Tools BOM | 2.2-AS6.0 |
UI Components | 5.0.40 |
What-If | 3.0.1-AS6.0 |
Added
Issue Key | Details |
---|---|
MR-1944 | The maximum depth of parent-child hierarchies is now configurable. |
Changed
Issue Key | Details |
---|---|
MR-1834 | SensiMeasureParameters constructor has been refactored to remove the boolean isVector field. |
MR-1848 | The new Market Data API is now an external module called Atoti Market Data. |
MR-1952 | Changed the behavior of Delta Current MD to reduce the number of retrieval and directly access the MD API. |
MRA-1960 | Upgrade to Spring Boot 3.2.10 and common dependencies 2.1.0. |
MRA-1962 | Upgrade to Data Connectors 4.1.2-AP6.0-sb3. |
Fixed
Issue Key | Details |
---|---|
BAS-1890 | The sign-off status, as shown in the Sign-off hierarchy now moves to EXPORT_SUCCEEDED rather than retaining an APPROVING status even after the export has occurred. note This fix requires Atoti Sign-off 5.3. |
BAS-1923 | The mr-application/src/main/resources/logback-spring-file.xml configuration has been fixed and writes logs to a local file. |
BAS-1954 | Swagger UI is now accessible at .../swagger-ui/index.html and documents the REST endpoints in Atoti Market Risk. |
BAS-1980 | Deleting adjustments no longer fails when cubes are disabled. Additionally, adjustment deletion requests without an execution ID are moved to a DELETED state. |
MR-1845 | Cube level adjustments for the Sensitivity and VaR modules can now be executed and the adjusted values can be found in the UI by using the corresponding <measure>_adjusted measures. |
MR-1963 | Add the interpolation mode to the retrieval cache key. |
MR-1964 | Return 1.0 when an FX rate is requested for a currency against itself. |
PIVOT-9310 | There was a bug with vector aggregation when using Databricks with Atoti DirectQuery version 6.0.14 or earlier. Upgrading Atoti Market Risk to Atoti 6.0.17 resolved this issue. |
5.4.0
2024-06-03
Download the distribution files here
The distribution files comprise the following zipped artifacts:
- 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.
note
The Atoti Server 6.0.14-sb3 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
Market Data API
- Market Data API: The new Market Data API has been significantly updated with new features. It has also been moved to dedicated modules, the
market-data-api
library module and themarket-data-api-spring-boot-starter
module for easy auto-configuration. The scalar market data measure chains been migrated to this API, and it should be used for any custom measures. The vectorized chains will not use this API until they are removed. - CorporateAction store removed for scalar sensitivities, and deprecated for vectorized sensitivities: It is still used to handle dividends for vectorized sensitivities, but is not used anymore for scalar sensitivities.
- Stock splits handled in a new store: The
SplitRatioMarketData
store is used for the handling of stock split rations both for vectorized and scalar sensitivities. - New input files for Dividends and stock Split Ratios: Those files replace the previous
CorporateAction.csv
file that is now deprecated. - New Market Data input files: spot, curve, surface, cube, and correlation market data files have been created to replace the previous market data input file
MarketData.csv
that is now deprecated and is used only for vectorized sensitivities. - Real time: Market Data API and FX post-processors handle low-frequency real time and the real-time handler could be changed.
- FXRates store removed: Please use the new Market Data API store [FxRateMarketData(/datastore/marketdata.html) instead.
- The FX rate service uses the Market Data API: The
FXRateWrapper
, implementation ofIFxRates
, uses the Market Data API to get the FX rates, see Exchange Rate and Market Data API. - Market Data Cube removed: Market data measures in the Sensitivities Cube need to be used to display market data instead of the Market Data Cube.
- Modules
mr-market-data-lib
andmr-market-data-config
removed: Those modules were used for the configuration of the Market Data Cube. - Migration of market data measure chains to new Market Data API: For scalar sensitivities, the market data measures are now defined using the new market data API.
- Migration of FX conversion to the new market data API.: The FX post-processor is now implemented with new market data API.
- Removed Debug measures: The debug market data measures and subsequent classes have been removed from the product.
- New interpolation option added to the Market Data API: The Market Data API now supports applying a volatility-to-variance transformation for surface input data and a variance-to-volatility transformation to the interpolation result, using the
InterpolationMode.VOL_TO_VARIANCE
interpolation mode.
Upgrades
- Atoti Server: Upgraded to Atoti Server 6.0.14-sb3.
- Spring Boot 3: Upgraded to Spring Boot 3.2.0, which uses Spring Framework 6.
- Hibernate: The application has been upgraded to Hibernate 6.3.1.Final.
- H2: The application has been upgraded to H2 2.2.224.
- Admin UI: The Admin UI has been upgraded to version 5.1.8.
Deprecation of vectorized sensitivities
- Vectorized sensitivities have been deprecated: Scalar sensitivities should be used instead of vectorized sensitivities.
- Default data model for sensitivities changed from vector model to scalar model.
- Scalar sensitivities default: The default data model for sensitivities changed from vector model to scalar model.
- Vector sensitivities deprecated: The vector sensitivities data model is deprecated and planned for removal.
DirectQuery
- Databricks: Added support for DirectQuery with Databricks.
- PnL explain with DirectQuery: PnL Explain is now working when both DirectQuery and In-Memory sensitivity cubes are used.
General configuration
- Security configuration: Some classes related to security configuration have been moved from the
mr-common-config
project to themr-application
project. - Spring Profiles: Profile-based configuration has been replaced with properties (backwards compatible).
- Fluent post-processors: Post-processor metrics are now set up in a Fluent style. The levels and hierarchies use strong types. For more details, see Fluent post-processor setup.
- Specific alias classes for lambda generics: Lambda generics have been replaced with specific alias classes (e.g. MeasurePublisher for Consumer
intended for publishing measures). - Topic Aliases: The topic aliases used by the Data Load Controller (DLC) are now defined for each topic rather than in a single place during DLC initialization.
- Combined cube metrics: The metrics of the combined cube are now defined in the class
MRCombinedCubeMeasuresConfig
, their definition in pure Copper is also provided but should ne be used.
Catalog and Datastore fields changes
- Catalog name The catalog has been changed from
MarketRiskAccelerator
toMR
. - New moneyness default value: The default value of the moneyness field in the sensitivities and market data has been changed from ATM to N/A.
- Type change for date fields: The
MaturityDate
&TradeDate
fields of theTradeAttributes
store, and theMaturityDates
andTenorDates
fields of theTradeSensitivities
store are now typed as Date instead of String. Code that requires these to be Strings will need updating.
VaR-ES Cube Adjustments
- VaR-ES Cube Adjustments: Added scenario-indexed adjustments for the PnL vectors.
Other
- New abstract tuple publisher: Introduced new abstract tuple publisher (
ATableFormatTuplePublisher
) for publishers where the file format does not match the table data model. - Maturity Converter: Returns NaN or null instead of throwing an error.
- UI Activation: An import of
react-query
is required when usingmr-sdk
. See UI activation for more details.
Known issues
Issue Key | Details |
---|---|
BAS-1954 | Swagger UI is used to document REST endpoints in Atoti Market Risk. It should be available at .../swagger-ui/index.html but this endpoint results in a not found exception. This is due to an outdated dependency. A fix is detailed in the migration notes. |
BAS-1923 | We provide a logback configuration (mr-application/src/main/resources/logback-spring-file.xml ) that outputs to a local log file. This configuration references classes that are no longer present, causing the application startup to fail. A fix is detailed in the migration notes. |
PIVOT-9310 | When using Atoti Market Risk with DirectQuery and Databricks, an Atoti JAR must be added to the Databricks environment to enable vector aggregation - this is detailed in the documentation. The JAR for versions below 6.0.15 contains a bug that may cause issues when aggregating null vectors. This is resolved in the 6.0.15 JAR and is compatible with this version of Atoti Market Risk. Be sure to add com.activeviam.database.databricks-udafs:6.0.15 to your Databricks environment to avoid this issue. |
Dependency versions
Component | Version |
---|---|
Adjustments Services API | 4.0.1 |
Atoti Server | 6.0.14-sb3 |
Atoti UI | 5.1.x |
Common Library | 2.0.4-AS6.0 |
Data Connectors | 4.1.1-AP6.0-sb3 |
Datastore Helper | 3.3.0-AS6.0 |
Java | JDK17 |
Sign-Off API | 4.0.1 |
Solutions Tools BOM | 2.2-AS6.0 |
UI Components | 5.0.40 |
What-If | 3.0.1-AS6.0 |
Added
Issue Key | Details |
---|---|
MR-1659 | Added an option for bilinear interpolation. |
MR-1669 | Added an option for trilinear interpolation. |
MR-1715 | Added a post-processor to retrieve data from the SpotMarketData store. |
MR-1716 | Added a post-processor to retrieve data from the CurveMarketData store. |
MR-1717 | Added a post-processor to retrieve data from the SurfaceMarketData store. |
MR-1718 | Added a post-processor to retrieve data from the CubeMarketData store. |
MR-1739 | Added support for DirectQuery with Databricks. |
MR-1740 | Added scenario-indexed adjustments for the VaR-ES cube PnL vectors. |
MR-1749 | Corporate Actions have been migrated to the new Market Data API. |
Changed
Issue Key | Details |
---|---|
BAS-1395 | Appropriate datastore fields are now typed as LocalDate instead of String. |
BAS-1644 | Separated the formulas and configuration properties of PnL Explain and Taylor VaR. For details, see Common module properties. |
MR-1375 | Changed the Catalog to “MR” instead of “MarketRiskAccelerator” |
MR-1459 | Aliases are now inferred with the help of Spring at topic location instead of processing a static list of topics on DLC location. |
MR-1635 | Replaced java.util.function generic usages with specific aliases. |
MR-1636 | Definition of combined cube metric in Copper (alpha version). |
MR-1639 | Reorganized security configuration code. |
MR-1650 | Upgraded to Atoti Server 6.0.14-sb3 and Spring Boot 3.2.0. This upgrade also fixes MR-1650 . |
MR-1652 | Changed the MarketDataDateShift enum value TODAY to CURRENT_DAY to clarify its meaning. |
MR-1655 | Removed unused .withProperty(IS_PARTITIONED_ON_RANGE_LEVELS_PROPERTY, "false") in the definition of AsOfDateNeighbourValuePostProcessor. |
MR-1657 | Upgraded Admin UI to version 5.1.8. |
MR-1665 | Changed ValueCcy to Ccy in the headers of sensitivities input files |
MR-1667 | Changed moneyness default value from ATM to N/A. |
MR-1668 | Removed unused property SENSITIVITY_TYPE in the DynamicTenorsAndMaturitiesPostProcessor class. |
MR-1670 | Post-processors now use Fluent descriptions. |
MR-1671 | The MarketDataSet and ID fields in the new Market Data data model have been swapped around. |
MR-1672 | The timing logs in ScalarSensiTradeStoreTuplePublisher have been set to the level FINE to avoid printing voluminous logs during transactions. |
MR-1675 | The new configuration class ApplicationJwtConfig has been added to handle the configuration used for JWT authentication. |
MR-1681 | Created and fed FX rate store for new Market Data API. |
MR-1682 | Updated content server database following the upgrade to Hibernate 6.3.1.Final and H2 2.2.224. |
MR-1684 | Configured the cookie name to default to MR_JSESSIONID and accept configuration with the server.servlet.session.cookie.name property. Fixed issues with websocket connections by setting partitioned attribute for cookies and disabling the Spring requirement for explicitly saving a session. |
MR-1686 | Moved metrics out of the combined cube definition. |
MR-1688 | Upgrade to Adjustments Services API 4.0.1 and Sign-Off API 4.0.1 |
MR-1696 | Added abstract caching implementation of IMarketDataRetrievalService in the new Market Data API. |
MR-1697 | Upgrade to What-If 3.0.1-AS6.0 |
MR-1700 | Added secondary index to SurfaceMarketDataStore and CubeMarketDataStore in the new Market Data API. |
MR-1714 | Used new market data API for market data measures. |
MR-1721 | Implemented FX post-processor with new market data API. |
MR-1723 | Added MeasureCreator for new post-processors in ISensitivityMarketDataMeasures . |
MR-1725 | Updated FX measures to use the new FX post-processor. |
MR-1731 | The sensitivities vector data model format has been deprecated. |
MR-1732 | The default data model for sensitivities changed from vector model to scalar model. |
MR-1742 | Used fluent API for market data post-processor. |
MR-1749 | Corporate Actions have been migrated to the new Market Data API. |
MR-1750 | Dividends have been migrated to the new Market Data API for scalar sensitivities. |
MR-1772 | Updated SQL scripts for DirectQuery with Microsoft SQL Server and Snowflake, to match the schema of the new Market Data API. |
MR-1773 | Rename INSTRUMENT_MARKET_DATA_STORE to SPOT_MARKET_DATA_STORE , along with all classes that refer to the INSTRUMENT_MARKET_DATA_STORE . |
MR-1775 | Removed “store” suffix in market data store names. |
MR-1781 | Allowed usage of the market data MeasureCreator factory methods with custom interpolation modes. |
MR-1815 | Changed Market Data API code based on feedback on MR 5.4.0-beta2 |
UIACL-931 | React-query is now handled as a peer dependency. See UI activation for more details. |
Removed
Issue Key | Details |
---|---|
MR-1654 | Removed .withProperty(IS_PARTITIONED_ON_RANGE_LEVELS_PROPERTY, "false") from post-processors. |
MR-1655 | Removed unused .withProperty(IS_PARTITIONED_ON_RANGE_LEVELS_PROPERTY, "false") in the definition of AsOfDateNeighbourValuePostProcessor. |
MR-1661 | Removed constant VALUE_CCY in StoreFieldConstants and used constant CCY instead. |
MR-1668 | Removed unused property SENSITIVITY_TYPE in the DynamicTenorsAndMaturitiesPostProcessor class. |
MR-1692 | Removed the mr.enable.preview.market-data property and the conditional annotations based on it. |
MR-1726 | Removed the debug market data measures. |
MR-1774 | Removed market data cube. |
MR-1811 | Removed the FXRates store. |
Fixed
Issue Key | Details |
---|---|
MR-1520 | Querying the PnLExplain measure on the Sensitivity Cube is now faster than on previous versions. |
MR-1626 | Logging in as a user without admin rights no longer results in a 403 HTTP error. |
MR-1646 | SparseVectorDatastoreConfig now works on keyless stores. |
MR-1666 | Fixed slow retrieval of ladder shifts in SensiLadderExpand post-processor. |
MR-1675 | The new configuration class ApplicationJwtConfig allows the handling of the activeviam.jwt.failOnDifferentAuthorities property that was not taken into account previously. |
MR-1691 | Fixed datastore query used for roll-over adjustments. |
MR-1743 | Upgraded to Solutions Tools BOM 2.2-AS6.0 to fix bug in DoctorPivot, leading to a failure to retrieve the measures in the application cubes. |
MR-1751 | Made native currency measures in the sensitivity summary cubes visible and have the correct names. |
MR-1780 | The continuous query handler of the FX post-processors is now configurable. |
MR-1776 | Properties to configure market data interpolation are avaiable. However, for interpolators using pre- and post-interpolation functions, a custom implementation is needed. An example of such an implementation is provided in the application. |
MR-1777 | Fixed FX risk computation from FX shifts and FX rates. |
MR-1778 | The mapping between risk classes and types of market data retrieved is now configurable and is no longer hard-coded. |