Changelog

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.0-BETA

2024-03-21

info

We are pleased to announce the Atoti Market Risk 5.4 (BETA) release. This is an early release of the 5.4 version due out in May.

You are invited to test and provide feedback on the release by April 11th so that we can evaluate issues for potential inclusion in the final release. Please report any issues you have through the normal Jira channels.

Please note, as this is a beta release, it will not be supported or maintained and therefore should not be used as production software.

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.11-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: 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 the market-data-api-spring-boot-starter module for easy auto-configuration. The market data measure chains have not yet been migrated to the new Market Data API (this work is scheduled for MR 5.5.0). However, the new Market Data API can be used for custom measures before then.
  • Atoti Server: Upgraded to Atoti Server 6.0.11-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.
  • Security configuration : Some classes related to security configuration have been moved from the mr-common-config project to the mr-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.
  • 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.
  • Catalog name The catalog has been changed from MarketRiskAccelerator to MR.
  • 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.
  • New abstract tuple publisher: Introduced new abstract tuple publisher (ATableFormatTuplePublisher) for publishers where the file format does not match the table data model.
  • Admin UI : The Admin UI has been upgraded to version 5.1.5.
  • PnL explain with DirectQuery: PnL Explain is now working across the transition between DirectQuery and In-Memory sensitivity cubes.
  • UI Activation: An import of react-query is required when using mr-sdk. See UI activation for more details.

Known issues

Issue Key Details
MR-1520 Querying the PnLExplain measure on the Sensitivity Cube is slower than on previous versions, by approximately 15%. This only applies when the Sensitivity Cube is in scalar mode, that is, when the mr.enable.data-model.scalar-sensitivities property is set to true. Once the market data measure chains are migrated to the new Market Data API (work scheduled for MR 5.5.0) we expect the performance of PnL Explain queries will improve.

Dependency versions

Component Version
Adjustments Services API 4.0.1
Atoti Server 6.0.11-sb3
Atoti UI 5.1.x
Common Library 2.0.1-AS6.0
Data Connectors 4.0.3-AP6.0-sb3-alpha
Datastore Helper 3.3.0-AS6.0
Java JDK17
Sign-Off API 4.0.1
UI Components 5.0.31
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.

Changed

Issue Key Details
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.11-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.5.
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-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.
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.

Fixed

Issue Key Details
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.

5.3.0

2023-11-08

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.9 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

  • Java 17 upgrade : The Atoti Market Risk is now compatible with, and requires, Java 17.
  • Spring Security upgrade : We have 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).
  • Solutions Tools BOM : The Solutions Tools BOM has been upgraded to 2.0-AS6.0
  • Removed Sign-Off hierarchies - Fixed a bug that caused the Sign-off Adjustment dimension to be included in summary cubes and Sign-Off fields expected in summary input files and stores, even when Sign-Off was not enabled.
  • Merged unfiltered pre-aggregated sensitivity measures: Unfiltered, pre-aggregated technical sensitivity measures (e.g. Delta.Native.Vector.SUM.Technical, Gamma.Ladder.Native.Vector.SUM.Technical) are no longer split by sensitivity type. Generic replacement measures are provided: Sensitivities.Native.SUM.Technical/Sensitivities.Native.Vector.SUM.Technical, Sensitivities.Ladder.Native.Vector.SUM.Technical.
  • Defined stores against the GLOBAL schema: All stores in the application are now defined against the GLOBAL schema.
  • Store and reference configuration classes are appropriately named: Store @Configuration classes are now named *StoreConfig and reference @Configuration classes are now named *ReferenceConfig.
  • Removed ActiveMonitor module and dependency: The mr-activemonitor module is no longer part of the MR modules, and the associated dependencies have been removed. For limit monitoring functionality, see How to integrate Atoti Limits.
  • Migration to ConfigurationProperties: The majority of MR properties have been migrated to Spring @ConfigurationProperties classes and the properties files have been consolidated.
  • Virtual hierarchies: You can now use the virtual hierarchy feature on Atoti Market Risk directly from the configuration.
  • Simplified market data API: A preview version of a market data API has been introduced. It covers several features of the current market data API, while reducing complexity. The implementation and configuration classes of the current market data API have been marked as deprecated. For details, see Market Data APIs.
  • New SimpleQuantile implementation: Added a new implementation of IVaRQuantile: SimpleQuantile.

Known issues

Issue Key Details
Updated 2023-11-16: MR-1626 Trying to log in with a user that does not have admin rights throws a 403 HTTP error.
In some of the SecurityFilterChain objects defined in the security configuration, the securityMatcher is missing. As a consequence, only users with admin role are authorized in the application.
See workaround
MR-1616 The CVE https://nvd.nist.gov/vuln/detail/CVE-2016-1000027 can only be fully fixed with an upgrade to Spring 6.
MR-1520 Querying the PnLExplain measure on the Sensitivity Cube is slower than on previous versions, by approximately 15%. This only applies when the Sensitivity Cube is in scalar mode, that is, when the mr.enable.data-model.scalar-sensitivities property is set to true. This is being investigated to find a resolution.

Workaround for security configuration issue (MR-1626 )

To fix this issue, place the following code snippet in the file MRSecurityFilterChainsConfig for the beans managementFilterChain, dqRestServiceFilterChain and dqMigrationHelperFilterChain:

    @Bean
    @Order(6)
    public SecurityFilterChain managementFilterChain(HttpSecurity http, JwtAuthenticationConfigurer jwtAuthenticationConfigurer) throws Exception {
        return http
                // Only these URLs must be handled by this HttpSecurity
                .securityMatcher(url("/actuator", WILDCARD))
                .authorizeHttpRequests(
                        auth -> auth.requestMatchers(HttpMethod.OPTIONS, url("/actuator", WILDCARD))
                                .permitAll()
                                .anyRequest()
                                .hasAuthority(ROLE_ADMIN))
                .apply(jwtAuthenticationConfigurer)
                .and()
                .build();
    }

    @Bean
    @Order(7)
    public SecurityFilterChain dqRestServiceFilterChain(HttpSecurity http, JwtAuthenticationConfigurer jwtAuthenticationConfigurer) throws Exception {
        return http
                // Only these URLs must be handled by this HttpSecurity
                .securityMatcher(url("/directquery", WILDCARD))
                .authorizeHttpRequests(
                        auth -> auth.requestMatchers(HttpMethod.OPTIONS, url("/directquery", WILDCARD))
                                .permitAll()
                                .anyRequest()
                                .hasAuthority(ROLE_ADMIN))
                .apply(jwtAuthenticationConfigurer)
                .and()
                .build();
    }

    @Bean
    @Order(8)
    public SecurityFilterChain dqMigrationHelperFilterChain(HttpSecurity http, JwtAuthenticationConfigurer jwtAuthenticationConfigurer) throws Exception {
        return http
                // Only these URLs must be handled by this HttpSecurity
                .securityMatcher(url("/migrationHelper", WILDCARD))
                .authorizeHttpRequests(
                        auth -> auth.requestMatchers(HttpMethod.OPTIONS, url("/migrationHelper", WILDCARD))
                                .permitAll()
                                .anyRequest()
                                .hasAuthority(ROLE_ADMIN))
                .apply(jwtAuthenticationConfigurer)
                .and()
                .build();
    }

Dependency versions

Component Version
Adjustments Services API 2.2.0
Atoti Server 6.0.9
Atoti UI 5.1.x
Data Connectors 4.0.3-AP6.0
Datastore Helper 3.2.0-AS6.0
Java JDK17
Sign-Off API 2.1.0
UI Components 5.0.27
What-If 2.1.1-AS6.0

Added

Issue Key Details
MR-1554 Preview market data API. For details about the new market data API, see Market Data APIs.
MR-1606 Added a new implementation of IVaRQuantile: SimpleQuantile.

Changed

Issue Key Details
BAS-1346 A test framework is now available, allowing targeted measure testing. Feedback from the first version has been addressed.
BAS-1371 All store and reference @Configuration classes are now named *StoreConfig and *ReferenceConfig.
BAS-1372 All store @Configuration classes are now named *StoreConfig.
MR-1284 The majority of MR properties have been migrated to Spring @ConfigurationProperties classes and the properties files have been consolidated.
MR-1487 The mr-activemonitor module is no longer part of the MR modules, and the associated dependencies have been removed.
MR-1533 Type-specific pre-aggregated, unfiltered sensitivity and ladder measures are now removed. A single measure per datastore field is now created, with all measures that filter by type using the appropriate underlying measure.
MR-1535 All stores in the application are now defined against the GLOBAL schema. This simplifies the customization of stores and reduces the number of calls required to add a store or a reference to all run modes of the application.
MR-1605 Quantile type and rounding method display names can now be set with properties.
MR-1624 Upgraded to Java 17.

Fixed

Issue Key Details
GENACL-952 Support for “O/N” and “T/N” strings in LegacyTenorConverter and SimpleTenorConverter.
MR-1527 Fixed a bug where the Sign-off Adjustment dimension was included in Summary Cubes, and Sign-Off fields were expected in summary input files and stores, even when Sign-Off was not enabled. Now they are only present when Sign-Off is enabled.
MR-1539 Matching the available stores and fields to the selection for testing purposes is now done using AliasedField#getAlias instead of FieldPath#getField.
MR-1585 Added beans for day count convention and tenor converter instead of enforcing them in the maturity converter configuration.
MR-1611 Removed deprecated calls to AnalysisHierarchy.

5.2.3

2023-11-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.9 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

  • Atoti Server version: Upgraded to 6.0.9. This version solves a bug in the leaf aggregation in version 6.0.8.
  • Common library: Upgraded to 1.13.7-AS6.0 to be compatible with Atoti Server 6.0.9.

Dependency versions

Component Version
Adjustments Services API 2.2.0
Atoti Server 6.0.9
Atoti UI 5.1.x
Data Connectors 4.0.2-AP6.0
Java JDK11
Sign-Off API 2.1.0
UI Components 5.0.27
What-If 2.1.1-AS6.0

Changed

Issue Key Details
MR-1622 Upgraded to Atoti Server 6.0.9

5.2.2

2023-10-25

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.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

  • Atoti Server version Upgraded to 6.0.8.
  • Common Parent POM : The Common Parent POM has been upgraded to 1.2.0
  • Common Dependencies BOM : The Common Dependencies BOM has been upgraded to 1.2.0
  • Solutions Tools BOM : The Solutions Tools BOM has been upgraded to 1.3-AS6.0
  • Volga Taylor VaR measures: Volga Taylor VaR measures have been added to the Solution.
  • Statistical measures for interpolated market shift measures: The minimum, maximum, average, and percentile measures have been added for interpolated market shift measures.
  • PnL Explain and Taylor VaR: The ladder computation has been fixed by replacing PnL = PnL(Ladder(shift), sensi) with PnL = Ladder(PnL(shift), shift).
  • IPnLExplainFormulaProvider consistency cleanup: The new getShiftFromMDFormula function has been added to the IPnLExplainFormulaProviderto transform market data into a shift.
  • DirectQuery cube refresh: The DirectQuery cube refresh is now available by REST service: use a POST at the URL ‘http://localhost:10010/mr-application/directquery/refresh’.
  • Made ladder-based sensitivity measures optional: Ladder-based sensitivity measures can now be excluded from the configuration. If the configuration classes are excluded, no visible measures will be present in the cube. If the Solution is configured to use ladders as an input to PnL Explain and Taylor VaR calculations, the result will be NaN.
  • Removal of ActivePivotRemotingServicesConfig import: The optional ActivePivotRemotingServicesConfig remoting configuration import has been removed to mitigate a security vulnerability.

note

The security vulnerability mitigated is CVE-2016-1000027. It affects the httpinvoker package in Spring. By removing the remoting services, the vulnerable package is not utilized. A full fix will be provided when Atoti Market Risk is upgraded to Spring 6.

Known issues

Issue Key Details
GENACL-1022 There is a dependency conflict between Atoti Server 6.0.8 and Atoti Data Connectors for jaxb-runtime. See Upgrade to Atoti Server 6.0.8 for more details.
MR-1616 The CVE https://nvd.nist.gov/vuln/detail/CVE-2016-1000027 can only be fully fixed with an upgrade to Spring 6.
MR-1520 Querying the PnLExplain measure on the Sensitivity Cube is slower than on previous versions, by approximately 15%. This only applies when the Sensitivity Cube is in scalar mode, that is, when the configuration.data-model.scalar-sensitivities property is set to true. This is being investigated to find a resolution.

Dependency versions

Component Version
Adjustments Services API 2.2.0
Atoti Server 6.0.8
Atoti UI 5.1.x
Data Connectors 4.0.2-AP6.0
Java JDK11
Sign-Off API 2.1.0
UI Components 5.0.27
What-If 2.1.1-AS6.0

Added

Issue Key Details
MR-1614 Added statistical measures for interpolated market shifts and interpolated normalized market shifts.

Changed

Issue Key Details
MR-1595 Upgraded to Atoti Server 6.0.8.

Removed

Issue Key Details
MR-1615 Removed ActivePivotRemotingServicesConfig import.

Fixed

Issue Key Details
MR-1392 The ladder computations for PnL Explain and Taylor VaR have been fixed by replacing PnL = PnL(Ladder(shift), sensi) with PnL = Ladder(PnL(shift), shift).
MR-1610 Configured missing Volga Taylor VaR measures.
MR-1618 Ladder-based sensitivity measures can now be excluded from the configuration.

5.2.1

2023-09-05

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.7 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

  • Atoti Server version Upgraded to 6.0.7.
  • What-If: Upgrade to 2.1.1-AS6.0. For more information, see the What-If Documentation
  • Solutions Tools BOM : The Solutions Tools BOM has been upgraded to 1.1-AS6.0, replacing Accelerator Tools BOM 1.0-AP6.0.
  • Common Parent POM and Common Dependencies BOM : The solution now imports third party dependency versions from the Common Dependencies BOM version 1.1.0.

Known issues

Issue Key Details
MR-1520 Querying the PnLExplain measure on the Sensitivity Cube is slower than on previous versions, by approximately 15%. This only applies when the Sensitivity Cube is in scalar mode, that is, when the configuration.data-model.scalar-sensitivities property is set to true. This is being investigated to find a resolution.

Dependency versions

Component Version
Adjustments Services API 2.2.0
Atoti Server 6.0.7
Atoti UI 5.1.x
Data Connectors 4.0.1-AP6.0
Java JDK11
Sign-Off API 2.1.0
UI Components 5.0.25
What-If 2.1.1-AS6.0

Added

Issue Key Details
GENACL-952 Support for “O/N” and “T/N” strings in LegacyTenorConverter and SimpleTenorConverter.

Changed

Issue Key Details
MR-1581 Upgraded to Atoti Server 6.0.7.

Fixed

Issue Key Details
MR-1519 This performance issue has been fixed: querying a number of Vega measures on the Sensitivity Cube was slower than on previous versions, by as much as 50%. This only applied when the Sensitivity Cube was in vectorized mode, that is, when the configuration.data-model.scalar-sensitivities property was set to false.

5.2.0

2023-06-28

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.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

  • Improved Sensitivity Cube configuration for testing : store, dimension, and measure configuration classes have been split to allow targeted testing of measure chains.

Known issues

Issue Key Details
MR-1520 Querying the PnLExplain measure on the Sensitivity Cube is slower than on previous versions, by approximately 15%. This only applies when the Sensitivity Cube is in scalar mode, that is, when the configuration.data-model.scalar-sensitivities property is set to true. This is being investigated to find a resolution.

Dependency versions

Component Version
Adjustments Services API 2.2.0
Atoti Server 6.0.5
Atoti UI 5.1.x
Data Connectors 4.0.1-AP6.0
Java JDK11
Sign-Off API 2.1.0
UI Components 5.0.22
What-If 2.0.0-AS6.0

Changed

Issue Key Details
MR-1501 The Sensitivity Cube now allows targeted testing of measures. The configuration classes have been split to support import of required stores, dimensions, and measures explicitly.

5.1.0

2023-06-13

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.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

  • DirectQuery: DirectQuery support has been implemented for the VaR/ES, Sensitivity, and PnL Cubes.

  • Removal of MarketRiskTestApplication: The MarketRiskTestApplication has been removed from the mr-application module as part of a cleanup. To start the application from an IDE, you can now simply run the MarketRiskApplication class, which remains in mr-application/src/main/java/com/activeviam/mr/application/main.

    To support this change, the reference data has been moved from mr-application/src/test/resources/data to mr-application/src/main/resources/data.

    note

    No files in the data directory are included in the mr-application JAR.

  • Upgraded to Atoti Server 6.0.5 and Atoti UI 5.1.x. Atoti Market Risk can now be used with Atoti UI version 5.1 or higher.

  • Simplified combining UIs: Introduction of Atoti UI 5.1 simplifies how to activate and configure UI features in Atoti Market Risk and across combined Atoti Business Solutions. See Configuring the UI for details.

  • Updated bookmark configuration: Set bookmark owners to ROLE_ADMIN and readers to ROLE_USER.

  • Migrated bookmarks to Atoti UI 5.1.x: Bookmarks have been upgraded to be compatible with Atoti UI 5.1.x

  • Separated the configuration of Taylor VaR measures from the configuration of PnL explain measures: the Taylor VaR measures can now be removed from the configuration in an easier way.

  • Input files: The SecondOrderLadder field has been removed from the Sensitivities files.

    note

    To be compatible with old file formats, you can set the configuration.data-load.format property in the application.yaml file to ‘5.0’. In this case the first non-null field is used for the ladder. However, please note that this old sensitivity format is being deprecated.

  • Updated user configuration : Removed the ROLE_CS_ROOT role from all users except admin.

  • Hibernate properties change : The content of the hibernate.properties file has changed and the unused Hikari properties have been replaced with Tomcat JDBC properties.

Known issues

Issue Key Details
MR-1519 Querying a number of Vega measures on the Sensitivity Cube is slower than on previous versions, by as much as 50%. This only applies when the Sensitivity Cube is in vectorized mode, that is, when the configuration.data-model.scalar-sensitivities property is set to false. This is being investigated to find a resolution.
MR-1520 Querying the PnLExplain measure on the Sensitivity Cube is slower than on previous versions, by approximately 15%. This only applies when the Sensitivity Cube is in scalar mode, that is, when the configuration.data-model.scalar-sensitivities property is set to true. This is being investigated to find a resolution.

Dependency versions

Component Version
Adjustments Services API 2.2.0
Atoti Server 6.0.5
Atoti UI 5.1.x
Data Connectors 4.0.1-AP6.0
Java JDK11
Sign-Off API 2.1.0
UI Components 5.0.22
What-If 2.0.0-AS6.0

Added

Issue Key Details
GENACL-949 Updated the Actuator property to remove automatic connection to Elasticsearch.
MR-1372 Vectors for VaR data are now handled with DirectQuery.
MR-1414 The Snowflake database Data model for DirectQuery has been defined.
MR-1419 Side stores are now handled for DirectQuery.
MR-1431 The PnL Cube can now connect to DirectQuery.
MR-1432 The VaR Cube can now connect to DirectQuery.
MR-1433 The Sensitivity Cube (scalar mode only) can now connect to DirectQuery.
MR-1462 The property initial-load.business-dates has been added.

Changed

Issue Key Details
MR-851 The default read/write access for bookmarks has been improved. For details, see Updated bookmarks in the Migration notes.
MR-1469 MarketRiskApplication is now the default class for local development.
MR-1482 Upgraded to Atoti Server 6.0.5.
MR-1488 Migrated bookmarks to ActiveUI 5.1.
MR-1489 The Taylor VaR measure configuration has been separated from the PnL explain measure configurations.
MR-1492 Configuration classes for ClickHouse and SQL Server have been added in the “com.activeviam.mr.preview” package.
MR-1498 Added missing output type configuration for post-processed measures.
MR-1508 Hibernate properties have been renamed to prepend content-service.db. to the property name. The Hikari connection pool properties have been replaced with Tomcat JDBC connection pool properties.
MR-1509 The JGroups version has been added to the JGroups configuration files.

Removed

None

Fixed

Issue Key Details
PIVOT-7078 Fixed a performance regression with vector-based aggregations that caused a number of queries in the VaR-ES cube to run slower.
PIVOT-6796 Executing distinct queries was slow on stores with a large number of entries.
MR-1471 The method getCorporateAction was incorrectly invoked when no corporate ation was applied.
MR-1491 Removed a condition from the SensiTradeStoreTuplePublisher and ScalarSensiTradeStoreTuplePublisher that prevented some tuples from being published unless they were equity or FX sensitivities. These publishers no longer differentiate on risk class. Additionally, in the case of a malformed tuple, the log message has been elevated from warning to severe.
MR-1504 Hidden hierarchies are now handled correctly in the Market Data Cube.
MR-1505 Fixed primary key collisions in sample input CSV data, which used to print out DuplicateKeyWithinTransaction warnings at start-up.
MR-1507 Fixed warnings printed out by Spring Boot PropertySourcesDeducer at start-up.
MR-1510 Changed the file pattern used to load Market Data files to prevent MarketDataSets files from being loaded incorrectly into the market data store.

5.0.0

2023-04-17

Download the distribution files here

Or, to download the distribution files individually, click the links below:

Summary

  • Atoti Server version Upgraded to 6.0.3.
  • MR-UI: Enhanced the MR-UI to be compatible with versions 4.1.0 and 5.0.0 of the MR server.
  • What-If: Upgrade to 2.0.0-AS6.0, which includes a top-to-bottom redesign of the What-If API. For more information, see the Migration notes and the What-If Documentation
  • Accelerator-sdk: Upgraded to 5.0.19.
  • VAR FX Computation: Change to the way FX conversion is computed for PnL values in the VaR-ES cube.
  • Taylor VaR enhancements:
    • You can now use market shift data from a different date to the asOfDate for the calculation of Taylor measures.
    • New measures display minimum, maximum and average values of market shift vectors, and the value at a user-specified percentile of the vector.
  • Bookmarks: New sets of bookmarks have been added:
    • How It Works bookmarks show interim steps to help you understand calculations and input data, and find useful measures.
    • Daily Jobs bookmarks illustrate demo stories.
    • Additional Story-Telling Target Views bookmarks to compliment the other two sets.
  • Data: The dataset has been updated:
    • Dataset moved 5 years forward (from 2018 to 2023) for AsOfDate, maturities, trade dates, any dates.
    • Full revaluation VaR is aligned with Taylor VaR.
    • Full revaluation PnL is close to PnL Explain.
    • Market data shifts are regenerated so that T-1 vector and T1 vector contain the same values except 1 value.
    • Risk factors are consistent between Taylor VaR and Full revaluation VaR.
    • Taylor VaR market data adjusted.
    • Market data anomaly to support backtesting exception story.
    • Commodity risk factor shocks.
  • TradeKey field has been introduced for Summary data.
  • Tests moved for a lighter application zip : Application tests have been moved to their own module, and the application is now shipped on its own as a zip file.
  • Configuration modules delivered as a separate zip: The configuration module sources have been added as a second zip file, without tests.
  • Terminology change in documentation.

Known issues

Issue Key Details
PIVOT-7078 The pre-aggregation of IVectors is slower than on previous versions. This might partially be related to PIVOT-6769, as the execution of distinct queries requires more memory resources than previously.
PIVOT-6796 Executing distinct queries is slow on stores with a large number of entries.
The distinct query retrieves all distinct values for a field or a field combination from a record list. The execution of these queries is slower in Atoti Server 6.0 than in previous versions. This can impact the application loading time and the execution time of queries that require a distinct query, like PnL Explain calculations.

Dependency versions

Component Version
Accelerator-sdk 5.0.19
Adjustments Services API 2.2.0
Atoti Server 6.0.3
Atoti UI 5.0.22
Data Connectors 4.0.1-AP6.0
Java JDK11
Sign-Off API 2.1.0
What-If 2.0.0-AS6.0

Added

Issue Key Details
UIACL-209 Added compatibility with version 5.0.0 of the Market Risk server.
MRA-1406 For Taylor measures, you can now use market shift data from a different date to the asOfDate. This is specified by the MarketShiftDate hierarchy.
MRA-1407 New measures are available in the Sensi, Sensi Summary, and Market Data cubes that provide statistical insight into market shift vectors. A full list of these measures is available in the migration notes

Changed

Issue Key Details
MRA-1359 Introduced the TradeKey field for summary data.
MRA-1390 Changed the way FX conversion is computed for PnL values in the VaR-ES cube. For the details of the calculation, see FX Effect on VaR.
MRA-1391 Upgraded to Atoti Server 6.0.3.
MRA-1423 Cached SensitivityType in the InputSelector class
MRA-1428 Tests of the mr-application module have been moved to the new mr-application-tests module.
MRA-1429 Distribution now consist of a zip of the application itself and the sources as jars.
MRA-1437 Migrated What-If implementations to 2.0.
MRA-1450 Removed dependencies to Atoti Limits.

Removed

Issue Key Details
MRA-1450 Removed dependencies to Atoti Limits.

4.1.0

2022-12-13

Download the distribution files here

Or, to download the distribution files individually, click the links below:

Summary

  • Implementation of additional Taylor measures : Many of the VaR and similar measures that are available in the VaR-ES cube are now available in the Sensitivities Cube. These measures are derived from PnL vectors created with a Taylor expansion of sensitivities and market data.
    • For each combination of sensitivity - Cash, Correlation, CrossGamma, Delta, Gamma, Vanna, Vega, and Aggregate - and measure type - Expected Shortfall (ES), Expected Tail Gain (ETG), Value at Earnings (VaE), Value at Risk (VaR), Weighted Value at Earnings (WVaE), Weighted Value at Risk (WVaR) - the following measures are available:
      • Basic measure
      • Measure from the previous day
      • Day-to-day difference of the measure
      • Day-to-day difference of the measure expressed as a percentage
      • LEstimated version of the measure
    • For each of these measures, there is a version for which the confidence is controlled with a context value. There are also versions that use a fixed confidence. These fixed confidences are set by the confidence.levels application property.
    • The Sensitivies Cube now also has a Tail VaR measure (VaR with 100% confidence) and a Tail VaE measure (VaE with 100% confidence).
  • Removal of IGreekDescription interface: Removed IGreekDescription interface and replaced it with source- and hierarchy-specific configuration.

Known issues

PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.

Dependency versions

Component Version
ActivePivot 5.10.12
ActiveUI 5.0.18
Data Connectors 2.2.3
Java JDK11
What-if 1.7.0
accelerator-sdk 5.0.14
Sign-Off API 1.5.0
Adjustments Services API 1.0.0

Added

Issue Key Details
MRA-1364 Many VaR and similar measures are now available in the Sensitivities cube, dervied from sensitivities data.

Changed

Issue Key Details
MRA-1338 Removed IGreekDescription interface and replaced it with source- and hierarchy-specific configuration.
MRA-1339 Moved a number of Spring configuration classes to the mr-common-config module. The beans created by these modules can be replaced with relevant @Qualifier beans. See the migration notes for details on the classes and beans.

Fixed

Issue Key Details
MRA-1386 Fixed broken widget in the MR/01 - VaR-ES/03 - VaR Explain Dashboard bookmark, by migrating from a removed context value to the DayToDay analysis hierarchy.

4.0.0+1

2022-12-02

This is a UI-only release updating the following dependencies:

Component Version
ActiveUI 5.0.18
Accelerator-sdk 5.0.13
mr-sdk 4.0.0-acc-sdk-5.0.13

note

No server-side changes were made. See the MR 4.0.0 release notes below for the latest server-side distribution files.

To download the MR 4.0.0+1 UI-only distribution file, click here.

Known issues

PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.

4.0.0

2022-09-30

Download the distribution files here

Or, to download the distribution files individually, click the links below:

Summary

  • New accelerator architecture: The structure of the MR Accelerator has been updated to enable greater flexibility and ease of use. New modules have been created encapsulating different calculation models, such as VaR, or PnL. These modules can be used as standalone libraries or the Accelerator can still be used as a cohesive customizable project. For an overview of the modules, see Maven modules. For details on the class changes, see Classes.
  • Schema selection customization: Individual store selections can be overwritten via Spring beans without needing to rewrite all store selections.
  • Accelerator name changed from ‘MRA’ to ‘MR’: The application is now called ‘MR’ (Market Risk) instead of ‘MRA’ (Market Risk Accelerator) to be aligned with the naming convention of the other ActiveViam accelerators.
  • MRACombinedCube renamed to MRCombinedCube To be in line with the change if name of the application, the combined cube has been renamed.
  • Bookmarks updated to reflect the use of ‘MR’ instead of ‘MRA’: The ‘MRA’ folder and the ‘MRA’ server name have been replaced with ‘MR’ in the bookmarks.
  • Accelerator-sdk: Upgrade to 5.0.10.

Known issues

PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.

Dependency versions

Component Version
ActivePivot 5.10.10
ActiveUI 5.0.14
Data Connectors 2.2.3
Java JDK11
What-if 1.7.0
accelerator-sdk 5.0.10
Sign-Off API 1.5.0
Adjustments Services API 1.0.0

Added

Issue Key Details
MRA-1331 Individual store selections can now be replaced via Spring beans, without needing to rewrite all store selections.

Changed

Issue Key Details
MRA-1301 Large parts of the codebase have been moved into modules split along calculation model delimitations, allowing it to be used as either a library or a customizable accelerator.
MRA-1350 Renamed MRACombinedCube to MRCombinedCube

Removed

Issue Key Details
MRA-1270 Removed currency hierarchy from the risk dimension in the following cubes: PnL, PnLSummary, VarES, VarESSummary, as it mirrored the currency hierarchy in the currency dimension.

3.1.0

2022-08-12

Download the distribution files here

Or, to download the distribution files individually, click the links below:

Summary

  • Market Data Cube: The Market Data Cube has been added to display the market data, market shift values, and FX rate. Unlike the Sensitivities Cube that needs to have a risk factor associated to a sensitivity, the facts are directly linked to the risk factors.
  • Removed Spring profiles : Replaced the custom Spring profiles used to control application modes with properties in the application.yaml file.
  • Moved cube toggling properties : Moved the cube toggling properties from the mr.properties file to the application.yaml file and renamed them.
  • Removed DayToDayDifference, PnLStart and PnLEnd context values : Replaced with analysis hierarchies.
  • Added Spring extension points for source and measure configurations: Added the option of configuring the CSV sources and also the measure chains through Spring Beans.
  • Improved package structure for source and measure configurations: Cleaned up the packages and classes containing the source and measure configurations.
  • Added Spring Conditions classes for @Configuration and @Bean : Added extensions of Spring Conditions classes for enabling and disabling @Configuration and @Bean instantiation based on application.yaml properties.
  • Handle multiple hierarchies and level depths higher than 1 for sign-off scopes : Until version 3.1.0, the scope of a Sign-off task could only be defined for the first level of one hierarchy. Now the scope definition can contain multiple hierarchies, and within each hierarchy, a level at a depth that can be higher than 1.

    note

    The hierarchies and levels that can be used in the scopes of the Sign-off task must be part of the ones defined in configuration properties.

  • Possibility to define Sign-off DEE export templates by cube-measure pairs: On top of being defined by cube names, DEE templates used for Sign-off export can now be defined by cube name and measures.
  • Upgraded to ActivePivot 5.10.10 and ActiveUI 5.0.14
  • File Upload: Create or append a WhatIf scenario by uploading CSV files into the cube. For more information, see File Upload.
  • Limit monitoring : Support has been added for Limits Module integration.

Known issues

  • Updated 2022-09-12: PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.

Dependency versions

Component Version
ActivePivot 5.10.10
ActiveUI 5.0.14
Data Connectors 2.2.3
Java JDK11
What-if 1.7.0
accelerator-sdk 5.0.9
Sign-Off API 1.5.0
Adjustments Services API 1.0.0

Added

Issue Key Details
MRA-642 Migrate PnLStart and PnLEnd from context value to analysis hierarchy.
MRA-1224 Customizable date location shift post-processor
MRA-1236 Created MarketData cube.
MRA-1240 Intermediate PnL metrics for Taylor VaR.
MRA-1261 File upload widget in UI and associated code in MRA back-end.

Changed

Issue Key Details
GENACL-706 Level depths higher than 1 in a given hierarchy in the Sign-off scope definition are now supported.
MRA-1166 Replaced Spring profiles with properties.
MRA-1235 Context Values setup is now customizable.
MRA-1243 First phase of the Accelerator redesign. Added Spring extension points for sources and measures and cleaned up the package structure of the modules.
MRA-1259 Taylor VaR API changes for normalization.
MRA-1272 Created a specific IF to compute Moneyness in % from ATM.

Removed

None

Fixed

None

3.0.0-ui-update-1

2023-03-23

note

The MR 3.0.0-ui-update-1 release is a UI only release, and no server-side changes were made.

To access the distribution folder, click here.

Or, to download the distribution files individually, click the links below:

Summary

  • ActiveUI: Upgrade to 5.0.21.

Dependency versions

Component Version
ActivePivot 5.10.6
ActiveUI 5.0.21
Data Connectors 2.2.2
Java JDK11
What-if 1.7.0
accelerator-sdk 4.1.1
Sign-Off API 1.5.0
Adjustments Services API 1.0.0

3.0.0

2022-02-09

To access the distribution folder, click here.

Or, to download the distribution files individually, click the links below:

Summary

  • Summary Cubes : Cube import spring profile is replaced by a set of summary cubes that can be started along with the standard cubes.
  • Level path on tenor value adjustment input : Added a level path to the vectorised sensitivity tenor value adjustment input.
  • JUnit 5: All tests use JUnit5 and tests with the same Spring setup are grouped in test suites for faster spin-up.
  • Harrell-Davis VaR/VaR-ES cube : Harrell-Davis VaR is available on VaR-ES cube with incremental and L estimators.
  • DEE Template Orders : Added data extraction template orders to DEETemplateOrders directory
  • Upgrade to Sign-off API 1.5.0 : Upgraded the Sign-off API to version 1.5.0.
  • New dependency - adjustments-services module : The MRA has a dependency on the new module adjustments-services which contains the DTOs and services for handling supported types of what-if operations and a DTO for sending the what-if operation request.

Known issues

  • Updated 2022-09-12: PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.
  • Update 2022-06-07: We’ve identified a bug in the Frequent Value Compression ActivePivot feature (new since AP 5.10). MRA 3.0.0 depends on ActivePivot 5.10.6 and is therefore impacted. We strongly recommend disabling Frequent Value Compression by setting the following property when launching ActivePivot: -Dactiveviam.chunk.compression.enabledFrequentValue=0. The next maintenance release of MRA will include an upgrade to ActivePivot, which resolves this issue.

Dependency versions

Component Version
ActivePivot 5.10.6
ActiveUI 5.0.7
Data Connectors 2.2.2
Java JDK11
What-if 1.7.0
accelerator-sdk 4.1.1
Sign-Off API 1.5.0
Adjustments Services API 1.0.0

Test suites

Two tests suites have been created : ScalarProfileTestSuite and StandardProfileTestSuiteto avoid the spin-up delay at the start of each test.

To prevent test run duplication, the tests that are part of a test suite are renamed as *SubTest. They are excluded from the surefire perimeter and instead included in *TestSuite.java.

A suite selects its own subtest by using the JUnit5 tagging feature (@Tag) and the *SubTest class name pattern.

The subtests can still be executed in a standalone mode.

Scalar profile Standard profile
Suite ScalarProfileTestSuite StandardProfileTestSuite
Expected Spring profile SP_PROFILE__SCALAR_SENSI SP_PROFILE__STANDARD
Filtering Tag Scalar Standard

DEETemplateOrders

Data extraction can now be performed with templates that describe the query, the extracted fields and the output file format. These templates are also used as the backbone for the sign-off data export phase which uses the templates after programmatically enriching them.

The DEETemplateOrder folder contains:

  • A set of templates specifically designed for the export of data intended to be re-imported into the summary cubes.
  • Sample templates you can use to build your own for direct extraction or sign-off.

For details, see Using DEE Template Orders

Added

Issue Key Details
MRA-1091 Create Harrell-Davis VaR

Changed

Component Version
MRA-1182 Doubles are now used for the level comparator for buckets instead of integers to define the number of dates per time period (year, month, week)
MRA-1184 The configuration of measures used for dynamic bucketing for scalar sensitivities has been fixed
MRA-1175 Added a level path to the vectorised sensitivity tenor value adjustment input, in order to support automatic retrieval of the tenor from the UI.

Removed

None

Fixed

Issue Key Details
MRA-806 Real-time updates in MarketData.csv file are not taken into account
MRA-1152 Add continuous query handler for cube-level adjustments post-processor
MRA-1165 Cube-level adjustment post-processor contains unused properties
MRA-1175 Investigate definition of fact-level adjustments for sensitivities in vector profile
MRA-1176 Reference Regression tool to JUnit5
MRA-1180 Upgrade to AP5.10
MRA-1182 Level comparator for buckets uses integers instead of doubles
MRA-1183 Handle swallowed exceptions during adjustment execution
MRA-1189 Change Spring configuration to start summary cube in the same profile as other cubes
MRA-1191 Move ReferenceCurrency to analysis hierarchy
MRA-1201 Migration bookmarks UI4 to UI5
MRA-1209 Use DEE export on Sign-Off
MRA-1210 Add dependency to new module adjustments-services 1.0.0 and use DTOs from that module for supported what-if operations and what-if execution requests.
GENACL-479 Design integration of sign-off analysis hierarchy into common library / signoff-ext
GENACL-606 Add AUI connection to backend across multiple domains
GENACL-641 Implement DTOs for what-if operations

2.1

2021-08-13

To access the distribution folder, click here.

Or, to download the distribution files individually, click the links below:

  • A zip of the ui - we recommend building with a frozen lockfile. Both a lockfile for npm and yarn can be found in the lockfiles folder.
  • A zip of the source files that can be used to build the reference implementation (including sample queries).
  • A zip of the Maven repository required to build the project and run the tests. The ActiveViam 5.9.6 Maven repository files have been removed from this zip, so you’ll need to download them separately. Click here to locate them.
  • A zip of the offline documentation that can be served by the Accelerator.

Summary

  • Sign-off/Analysis Hierarchy : The sign-off analysis hierarchy has been redesigned for clarity, see Sign-Off Analysis Hierarchy
  • Sign-off/Adjustment : The adjustments are integrated within the sign-off workflow.
  • Sign-off/Rollback : The sign-off rollback reverts to the live state of the cube without adjustments.
  • Sign-off/Cube-level adjustment : It’s now possible to modify a single cell value in a cube.

Known issues

  • Updated 2022-09-12: PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.
Issue Key Details
MRA-1165 Cube-level adjustment post-processor contains two unused properties:
* sign-off.adjustments.cube.ids
* sign-off.database.asOfDate.pattern

We will remove these properties in a later release.
MRA-1138 When a cube-level adjustment request is sent to the MRA, the slicing hierarchies not explicitly present in the filters are not handled.
MRA-1091 Create Harrell-Davis:
The Harrell-Davis VaR methodology is currently only implemented as an example on the Sensitivities Cube as the Taylor HD VaR measure. You can also implement it on the VaR-ES cube by copying the setup to this cube.

Dependency versions

Component Version
ActivePivot 5.9.6
ActiveUI 4.3.17
Data Connectors 1.2.0
Java JDK11
What-if 1.5.0
accelerator-sdk 4.1.2

Added

Issue Key Details
MRA-1115 Sign-off: Implement approval mechanism for adjustments
MRA-1126 Implement logic to delete adjustments for roll-back in sign-off workflow
MRA-1148 Implement export of cube-level adjustments
MRA-1153 Handle _Version field for adjustments to display adjusted/non-adjusted values in sign-off status analysis hierarchy

Changed

Issue Key Details
MRA-1108 Sign-off: Extract execution parameters to configuration properties

Removed

Issue Key Details
MRA-1141 Clean up RESTful services for SignOffService (there are two implementations currently)

Fixed

Issue Key Details
MRA-1139 Roll-over of PnL vectors: The Pnl values are not shifted properly.
MRA-1123 Implement non-regression tests for adjustments approval mechanism
MRA-1142 Add testing for roll-over and remaining fact-level adjustments
MRA-1157 Fix cube-level adjustment unit test
MRA-1160 Exception when attempting to parse a double in BucketingUtils

2.1.0-alpha

2021-07-09

Summary

  • Azure data loading support: MRA supports data loading from Azure Blob storage.
  • Cube configuration: VaR, sensitivities and PnL cubes can now be disabled using properties.
  • Cube-level adjustments: MRA handles adjustments of aggregated measures.
  • Fact-level adjustments: Overrides and scaling are now handled in addition to add-ons.
  • New approval mechanism for approvals: The sign-off approval mechanism now uses a specific analysis hierarchy instead of the epoch hierarchy.
  • Harrell-Davis VaR: Harrell-Davis VaR has been implemented.
  • Day count computation: The day count computation is now computed differently.

Known issues

  • Updated 2022-09-12: PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.
Issue Key Details
MRA-1138 When a cube-level adjustment request is sent to the MRA, the slicing hierarchies not explicitly present in the filters are not handled.
MRA-1091 Create Harrell-Davis VaR
MRA-1139 Roll-over of PnL vectors: The Pnl values are not shifted properly.

Added

Issue Key Details
MRA-1056 Data can be loaded from an Azure Blob Storage. Loading CSV data is split into two spring profiles; one for loading data from local file system and the other for cloud. NOTE: The necessary profiles must be included in future test files.
MRA-1091 Create Harrell-Davis VaR
MRA-1116 Implement location digest mechanism
MRA-1106 Implement fact-level overrides
MRA-1104 Implement fact-level scaling

Changed

Issue Key Details
MRA-1115 Implement new approval mechanism for adjustments
MRA-1111 Use Common lib for day count computation
MRA-1102 Ability to disable cubes in configuration
MRA-1115 Implement new approval mechanism for adjustments

The following features still need to be implemented:

  • Roll-back of adjustments
  • Handling of sign-off status and adjustment status in a more ergonomic way
  • Exporting and importing cube-level adjustments

2.0.0

2021-05-17

Summary

note

MRA 2.0.0 uses ActivePivot 5.9, which requires Java 11. We therefore no longer support Java 8. Projects running on Java 8 must upgrade to Java 11.

  • Usage of the common library : The common features used by all Accelerators are located in the ‘com.activeviam.apps/shared*.jar’ library. Several classes have been moved to this library. As a consequence a lot of imports have changed from ‘com.activeviam.risk’ to ‘com.activeviam.accelerator.common’.
  • Upgrade to AP5.9 : The Accelerator now uses Active Pivot 5.9.x, which also means that only Java 11 is supported.
  • Adjustments 2.0 : Integration of the interfaces allowing the interaction with the sign-off module.
  • Datastore Helper 2.0 : The Datastore Helper tool for defining and customizing the datastore schema has been upgraded to version 2.0.
  • JUnit 5 : Most of the tests now use JUnit 5.
  • Data Connectors : The DEE feature is now integrated into an import/export toolbox library called “Data Connectors” prefixed with ‘com.activeviam.io’.
  • Corporate Actions : The dividends, coupons, stock splits or merge are now taken in account for PnL calculations.
  • Correlation : The correlation metric is handled. Its market data name is ‘RiskFactor 1/RiskFactor 2’.
  • Cross-Gamma : The cross-gamma metric is handled; it is the gamma between two risk factors, without bucketing.
  • Spring configuration : The Spring configuration templates for cube and datastore definition are in common with FRTB.

Known issues

  • Updated 2022-09-12: PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.

Added

Issue Key Details
MRA-1006 Integrate common Accelerators library with MRA
MRA-1071 2.0 adjustments
MRA-1043 Corporate Actions
MRA-1059 Add correlations input data and measure configuration
MRA-1058 Add cross-gamma input data and measures configuration

Changed

Issue Key Details
MRA-1061 Upgrade MRA to AP 5.9
MRA-995 New performance testing cluster
MRA-1067 Handle AsOfDate for dynamic bucketing
MRA-1029 Get Cube Spring configuration made for FRTB

Removed

None

Fixed

None

Security

None

1.10.0

2021-01-29

Summary

  • Bug fix in export feature: In cube and aggregated exports, cube measures were not put in the output columns. This has been fixed.
  • Parent/child data load: The system now waits for parent-child processing to complete before loading main stores.

Known issues

  • Updated 2022-09-12: PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.
Issue Key Details
MRA-806 Real-time updates in MarketData.csv file are not taken into account.
MRA-1028 MRA SDK has an unmet dependency that causes build to fail. It is fixed now and the new version is uploaded. The old one is marked as broken.

Added

Issue Key Details
MRA-1026 Fields were added in the base store used for aggregated import of VaR-ES data to match the measures put in the exported files.

Removed

Issue Key Details
MRA-973 The unused sign-off REST service / members endpoint has been removed.

Fixed

Issue Key Details
MRA-1022 Wait for parent-child processing to complete before loading main stores.
MRA-979 In cube and aggregated exports, cube measures were not put in the output columns.

1.9.1

2020-12-11

Summary

  • Minor bug fixes
  • Configuration of sparse vectors: Sparse vectors can be used on any double[] vector and activated below a defined threshold.

Known issues

  • Updated 2022-09-12: PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.
Issue Key Details
MRA-806 Real-time updates in MarketData.csv file are not taken into account.

Added

Issue Key Details
MRA-987 Sparse vectors can be used on any double[] vector and activated below a defined threshold.
MRA-974 Added property controlling the creation of a new database persistence file when one isn’t provided.

Changed

None

Removed

None

Fixed

Issue Key Details
MRA-1002 The definition of sample KPIs in the MRA cubes were using non-existing measures.
MRA-1004 Added caching mechanism per partition for market data retrieval to speed up PnL explain queries.

Security

None

1.9.0

2020-11-06

Summary

  • Sign-off: the sign-off is handled by an external application, only the export services stay under the responsibility of MRA.
  • DEE: the common Accelerator export tool is embedded in MRA.
  • Market Data Retrieval Service: the Market Data computation and retrieval is handled by a specific spring bean that is customizable at will by the user.
  • Cash metric: a new metric that computes the risk linked to a foreign currency position.
  • Theta metric: a new metric that takes the time decay on the PnL into account.
  • Incremental metrics: Incremental metrics has been reviewed and is customizable from the property file, with new reference metric introduced.

Known issues

  • Updated 2022-09-12: PIVOT-579 - Attempting to create partitions for reference stores causes a deadlock.
Issue Key Details
MRA-806 Real-time updates in MarketData.csv file are not taken into account

Added

Issue Key Details
MRA-403 Explain PL needs to support Time Decay (Theta)
MRA-580 “ReferenceLevel” for Incremental measures - similar to FRTB
MRA-888 Contribution to VaR measures for weighted metrics (incremental metric compared to top level)
MRA-899 Market Data Retrieval Service
MRA-915 PL from PL in a different native currency (Cash metric)
MRA-942 [Sign-off] ExportRestService code into MRA
MRA-943 Integrate DEE into MRA

Changed

Issue Key Details
MRA-887 Use Spring resolvers for content service DB
MRA-905 Implement common coding standards style (ongoing)
MRA-912 PL formula rule is now based on Sensitivity Type or SensitivityName
MRA-964 Upgrade MRA to AP5.8.14

Removed

Issue Key Details
MRA-891 Remove duplicate incremental measures
PST-589 Remove code from old sign-off server

Fixed

Issue Key Details
MRA-879 Add US locale to all DateTime formatter calls
MRA-890 Remove cube filters on As Of Date for PnL explain and market data measures
MRA-910 DLC unload All with a date causes data for all dates to be unavailable
MRA-913 Get rid of Maven build warnings
MRA-934 Current MD measures returns null if sensitivity data are present for the previous as of date but not for the current as of date
MRA-936 Cannot compute Weighted VaR on multiple scenario sets
MRA-952 DTD PnL measure not affected by the referenceCurrency
MRA-897 Secondary index on scalar market data store missing

Security

None

1.8.0

2020-07-08

Known issues

None

Added

Issue Key Details
MRA-838 Product control features were added and separated to the new module which can be used if those features are required.

Changed

Issue key Details
MRA-867 Upgrade MRA to Data Load Controller version 1.4.1
MRA-866 Product control cumulative PnL measures are no longer filtered on Actual PL Attributed only and is nullable.
MRA-864 Upgrade MRA to Data Load Controller version 1.4.1
MRA-863 MRA project and tools used by the MRA is upgraded to 5.8.11
MRA-854 The number formats can be set up from the config file.
MRA-850 The UI of Market Risk Accelerator was upgraded to the newest version of the Accelerator SDK (3.0.1) and ActiveUI version (4.3.7).
MRA-838 Product control features were added and separated to the new module which can be used if those features are required. The instructions of how to do it is in the migration notes.
MRA-510 Default value for tenors and maturities and default value for moneyness can be defined in property file

Removed

None

Fixed

None

Security

None

1.7.1

2020-07-24

Known issues

None

Added

Issue Key Details
MRA-829 Add possibility to do custom computations bases on the input location in market data post-processors
MRA-881 Add updateOnlyIfDifferent() to referenced store to avoid unnecessary classification and bitmap operations

Changed

Issue Key Details
MRA-869 The number formats can be set up from the config file.
MRA-849 The updateOnlyIfDifferent() method has been added to referenced stores to avoid unnecessary operations when data are resubmitted to the datastore.
MRA-870 Exclude has_ladder field from the list of columns read from input files for sensitivities. That field is calculated and is not read from the input data.
MRA-871 The default value for tenors and maturities and the default value for the moneyness are defined in properties

Removed

None

Fixed

Issue Key Details
MRA-880 Fix configuration of measures for the data import Spring profiles and add unit tests to check the export and import mechanisms

Security

None

1.7.0

2020-05-14

Known issues

None

Added

Issue Key Details
MRA-777 Add the DLC feature : the datastores load and unload are commanded by a REST service and not anymore by a “pull” behavior.
MRA-788 For debugging purposes, measures that display information about the computation of market data interpolation have been added. Each step of the calculation is detailed for each axis (tenors, maturities, moneyness).
MRA-801 Query cache added for marketShifts in both - scalar and default Spring profiles for Taylor VaR performance improvement.

Changed

Issue Key Details
MRA-634 Default bookmarks are now compatible with the scalar version. Just execute the script “migrateToScalarCube.sh” on bookmark folder.
MRA-808 Cleanup related to the PNL explain functionality in distributed mode.
MRA-780 For PnL explain the interpolation of market data is now defined defined by risk classes and sensitivity.
MRA-790 The metrics with an as-of date slicing (yesterday, day-to-day, …) are now compatible with the distribution topology by as-of date clustering.
MRA-775 The change effect on the VaR is displayed on the FX risk class and on the corresponding FX risk factor.
MRA-804 The PnL explain API now allows computations to be performed on market data before and after the interpolation of market data is performed on each axis (tenors, maturities, moneyness). Those computations are based on the value of the market data to process and on the value of the member on the current axis (tenors, maturities, moneyness).
MRA-772 Sensitivity ladders are now accepted as input for PnL Explain and Taylor VaR calculations. The sensitivity input file now contains fields for first-order and second-order ladders. An extra configuration input file is required to define the scale of the ladders used in the sensitivity input file. Configuration options have been added to control the behavior per sensitivity type, with options to: - use the ladder input if available or default to the standard sensitivity. - use the ladder input exclusively (with null input if no ladders are provided). - use the sensitivity input exclusively.
MRA-786 Upgrade MRA to ActivePivot 5.8.8-jdk8 and 5.8.8-jdk11
MRA-778 Cleanup of Spring configuration linked with DLC
MRA-743 DayToDayDifference context value is not taken into account anymore by the PnL explain computation

Removed

Issue Key Details
MRA-809 The bookmark export single JSON file has been replaced by a content server DB file to enable persistence between sessions in development. The folder-based bookmarks are considered the main reset option.

Fixed

Issue Key Details
MRA-744 Fix AsOfDateNeighbourValuePostProcessor
MRA-776 A GSON dependency was missing in the POM file
MRA-80 The definition of the measures to display market data was incorrect in the vectorised sensitivities Spring profile. This bug only affected the display of the market data and not the computations of the PnL explain based on the market data.

Security

None

1.6.1

2020-03-24

Known issues

ActivePivot incompatible with latest OpenJDK

WARNING!

ActivePivot 5.8.7 (and all earlier versions) are incompatible with the latest version of OpenJDK 11 (Version 11.0.6, released 2020-01-15). This is due to a breaking change in OpenJDK (JDK-8211919)

Added

None

Changed

Issue Key Details
MRA-792 Several custom actions that were using hardcoded level names have been updated to use settings. The following keys and defaults are part of the mr-sdk library: * “mr.trade-level.name”: “TradeId” * “mr.as-of-date-level.name”:“AsOfDate” * “mr.book-level.name”: “Book” * “mr.var-domain-level.name”:“VaR” * “mr.sensi-domain-level.name”:“Sensi” * “mr.calculation-id-level.name”:“CalculationId” * “mr.risk-factor-level.name”:“RiskFactor” * “mr.scenario-set-level.name”:“Scenario Set” * “mr.scenario-level.name”:“Scenario” * “mr.tenor-level.name”: “Tenor” * “mr.branch-level.name”: “Branch”

Removed

None

Fixed

Issue Key Details
MRA-783 Fix calculation error for the weighted measures when the PnL data are present from oldest to newest in the input vectors
MRA-785 Fix implementation of best scenario measure
MRA-797 Fix order in which scenarios names are displayed in the scenarios names measures: the order in previous releases was non-deterministic and did not match the values returned by the scenario values measures.

Security

None

1.6.0

2020-02-24

Known issues

WARNING

Calculation error for weighted measures

There is a calculation error for the weighted measures when the PnL data are present from oldest to newest in the input vectors (MRA-783)

Best scenario measure is incorrectly implemented

The best scenario measure in incorrectly implemented(MRA-785)

ActivePivot incompatible with latest OpenJDK

ActivePivot 5.8.7 (and all earlier versions) are incompatible with the latest version of OpenJDK 11 (Version 11.0.6, released 2020-01-15). This is due to a breaking change in OpenJDK (JDK-8211919)

Added

Issue Key Details
MRA-762 Add support for RiskFactor2 field for the Vanna sensitivity in the export/import feature
MRA-758 Add access to user documentation present in MRA back-end
MRA-755 Implement Parametric VaR and Parametric VaE measures
MRA-752 Create 2 MRA versions: one compatible with the JDK 8 and one compatible with the JDK 11.
MRA-711 Create PnL explain measures for Vanna and Volga
MRA-366 Implement Taylor VaR (VaR computed from sensitivities and market data shifts). Note: this feature is only intended to be used for demos at the moment; the complete implementation will be delivered in a future release of the MRA

Changed

Issue Key Details
MRA-754 Expose intermediate calculations used for VaR, VaE, ES and ETG as measures, e.g. the list scenarios used and the corresponding PnL values
MRA-753 The Accelerator now uses the Bookmark Import/Export Tool for bookmark management. Documentation is available for the functionality available via this tool in the “Managing bookmarks with the Bookmark Tool” section.
MRA-766 Some default values for context values were hard-coded in the definition of the VaR/ES cube; they are now defined in the mr-config.properties file

Removed

None

Fixed

Issue Key Details
MRA-751 Fix location out of scope issue in dynamic bucketing
MRA-691 Fixing What-if so it would be able to support scalar sensitivities

Security

None

1.5.1

2019-11-06

Known issues

None

Added

Issue Key Details
MRA-648 Document weighted VaR and weighted ES computations.
MRA-704 Add support of moneyness for Vega
MRA-707 Market data interpolation logic now supports moneyness
MRA-709 Add EmptyCalculator for domain field in sensitivities scalar source
MRA-734 Create measures for non-interpolated market data
MRA-737 Some bookmarks were added: * Vanna PnL explain and Volga PnL explain measures were added. * A bookmark that shows non-interpolated market data vs. interpolated market data was added

Changed

Issue Key Details
None Spring Boot Starting from version 1.4.0, the risk-starter and risk-activemonitor projects have been migrated to Spring Boot. As an immediate consequence, building these projects will produce executable JAR files instead of WAR files, which are deployed as standalone applications.
MRA-718 Market data are now interpolated in the market data post-processor and not in the PnL explain post-processor

Removed

None

Fixed

Issue Key Details
MRA-703 Update read-me file that was out-of-date.
MRA-708 Fix a bug in BucketComparator
MRA-742 The logger used in classes SensiImportSourceConfig and PnlImportSourceConfig was named incorrectly.

Security

None

1.5.1 alpha1

2019-10-16

This is a test version delivered specifically to test the PnL explain calculations on site before an offical 1.5.1 delivery.

1.5.0

Known issues

None

Added

Issue Key Details
MRA-690 Non-regression tests have been added for scalar sensitivities
MRA-689 Implement interpolation of market data for PnL explain for vectorised sensitivities.
MRA-682 Added the Epoch dimension to the combined cube. This supports existing branches on data nodes, but does not support individual epochs.
MRA-681 Pivot wizard is added into explore view
MRA-675 In the sample data set, some static data were missing for four trades. Those data have been added.
MRA-660 Fields for risk factor enrichment coming for the Risk Factors Catalog input CSV file have been added to the schema.
MRA-695 In the ‘02 - What-If Scaling’ bookmark real-time has been enabled and a filter on one trade id has been added.

Changed

Issue Key Details
MRA-687 Translation has been updated
MRA-676 Offset for VaR whatif substitution is now taken into the account and gives correct numbers for different scenarios
MRA-673 When sensitivity is not aligned with the market pillars, a linear interpolation is now applied on market data in order to fit the tenor/maturity/moneyness of the sensitivity. This feature is available on Scalar configuration.
MRA-662 Use an EmptyCalculator for the sensitivities domain field to allow easier customisation of sensitivities base store.
MRA-621 If a percentile of ‘0’ is set for the VaR or ES computations, the best scenario is now returned. Previously the 0 percentile was considered as a non-valid input and the computations were done with the default confidence level instead.
MRA-614 By default, the length of the PnL vector is used for the length of the regression in the Component VaR computation, unless a value is explicitly defined for the property cvar.regression.length
MRA-590 When sensitivity is not aligned with the market pillars, a linear interpolation is now applied on market data in order to fit the tenor/maturity/moneyness of the sensitivity. This feature is available on Scalar configuration.
MRA-520 The UI now contains an option to scale PnL numbers by scenario.

Removed

Issue Key Details
MRA-692 Obsolete documentation files have been removed.

Fixed

Issue Key Details
MRA-685 The ‘rouding’ property was misspelled and has been replaced by the ‘rounding’ property
MRA-684 An ‘ES’ measure folder was incorrectly present alongside the ‘Expected Shortfall’ folder.
MRA-672 The ordering of security filters has been changed to ensure JWT filtering is done after CORS. This fixes the issues with expired tokens preventing ActiveUI logins.
MRA-664 The ‘NotionalCcy’ level is used for Notional FX conversion. Previously the ‘Ccy’ level was used, which was incorrect.
MRA-550 The previous day market data post-processor uses the current day sensitivities as underlying measures so that the if no sensitivities is present for the current day no market data is returned for the previous day. It has been resolved.

Security

None

1.4.0

Known issues

None

Added

Issue Key Details
MRA-485 Support for scalar sensitivities has been implemented.
To run the application in scalar data-load mode, use one of the following Spring Profiles, as required:
* scalar-sensi
* scalar-sensi-store-import
* scalar-sensi-aggregated-import The file format for the default sample data load is unchanged between vectorised and scalar sensitivities, however signoff import data formats will be different.
MRA-575 DHS (Displaced Historical Simulation) computation is implemented for PnL explain. It can be defined in the greek-based-pl-formula-rules.properties file.
MRA-545 Volga and Vanna sensitivities measures have been implemented.

Changed

Issue Key Details
MRA-551](https://activeviam.atlassian.net/browse/MRA-551) Context actions ordered and standardised across UI components
MRA-547 Migrate ActiveUI code to ESLint config 1.3.1
MRA-538 Measure ‘Notional Native’ shows the aggregated notional value in native currency (provided the currency level is present in the MDX query) and the ‘Notional’ measure shows the aggregated notional converted into reference currency.
MRA-470 Weighted VaR is using exponential weighting for PnL values so that the most recent PnL figures have more weight than older PnL values. The parameter used to compute the weight is defined in the IWeightedVaRLambda context value.
MRA-537 Weighted ES is using exponential weighting for PnL values so that the most recent PnL figures have more weight than older PnL values. The parameter used to compute the weight is defined in the IWeightedVaRLambda context value.
MRA-534 Migrate to Spring Boot to deploy using executable JAR file instead of a WAR file.
MRA-494 Reporting server upgraded from 0.1.0 to 0.1.8
MRA-461 A server started with a non-default port will generate non-default H2 console ports, using the application port as a seed.
MRA-456 Maturity conversion for dynamic bucketing is now done via the IMaturityConverter interface. The default implementation queries the tenor stores for static and dynamic tenors and maturities.
There is also a simple implementation that allows a custom tenor converter and day count convention to be used.
MRA-298 Sensitivities are now present in one store: TradeSensitivities. The abstract classes AGreekSensiCubeMeasureConfig, AMatrixTypeSensiCubeMeasureConfig and A3DTypeSensiCubeMeasureConfig allow the configuration of 1-dimensional, 2-dimensional and 3-dimensional sensitivities measures.

Removed

None

Fixed

Issue Key Details
MRA-556 Fix exception in dynamic bucketing computation when Tenors and DynamicTenors levels are simultaneously present in a view.

Security

None

1.3.0

2019-07-30

Known issues

None

Added

Issue Key Details
MRA-511 Implement methodology to find the rank in the PNL vector from the quantile : EQUAL_WEIGHT means equally spaced PNLs in ]0%-100%[ , CENTERED means centered PNL on quantile with 1/size steps.
This methodology is defined via the property: rounding.quantile2Rank=EQUAL_WEIGHT
MRA-501 Create measures for mean and standard deviation of PnL explain: measures ‘Average’ and ‘Standard deviation’ in folder; ‘Value At Risk/VaR’
MRA-484 Create test data set to assess impact of sparse vectors (for ActiveViam internal testing)
MRA-483 Implement sparse vectors for sensitivities. Sparse vectors allow ta reduction of the off-heap memory usage in the datastore for vectors that contain a high proportion of zeros.
MRA-478 Implement 3 rounding methods used to find the closest quantile for VaR and ES computation, you can use : FLOOR, CEIL, ROUND.
The rounding methods are defined in properties:
‘rouding.var’, ‘rouding.es’ and ‘rouding.vae’
MRA-459 Implement VaE (Value at Earnings). The VaE measure logic is identical to VaR but it is used to estimate the probability of profits instead of losses.

Changed

Issue Key Details
MRA-509 Display FX Rate value in VaR cube (measure: ‘VaR FX Rate’ in folder: ‘Utility’). The FX rate corresponding to the members of the ‘Ccy@Currency@Currencies’ are displayed
MRA-499 Upgrade MRA to ActivePivot 5.8.2-jdk8
MRA-482 Refactor reload functionality for mandates to improve performance
MRA-472 Implement better mandate status filtering UX in sign-off views in ActiveUI
MRA-464 Externalise levels configuration in post-processors in properties file mr-config.properties.
The levels used in post-processors are now defined in the properties instead of the risk measures to make the renaming of dimensions/hierarchies/levels easier.
Examples from proprieties file mr-config.properties :
tenors.analysis.level=Tenor@Tenors@Risk maturities.analysis.level=Maturity@Maturities@Risk
MRA-448 Increase number of measures displayed in sign-off widgets in ActiveUI
MRA-337 Migrate UI components to ActiveUI 4.2.7 API
MRA-310 Improve UX of Manager view in sign-off UI
MRA-274 Disable the negative values in red default parameter in the sign-off Controller/Manager views

Removed

Issue Key Details
MRA-503 Remove H2 console server (used for ActiveViam internal testing only)
MRA-476 Remove hard-coded ActiveMonitor REST URL in SignOffNotificationService
MRA-392 Remove deprecated actions/builders from default bookmarks in ActiveUI

Fixed

Issue Key Details
MRA-493 Fix ActiveViam logo routing & match routing pattern with FRTB in ActiveUI
MRA-334 Fix issue of mandate list showing the wrong mandate when the selected one is moved out of the filtered view in ActiveUI
MRA-312 Fix bug in approval workflow in sign-off module
MRA-458 Fix unnecessary UI renders in sign-off widgets in ActiveUI
MRA-477 Multiple indices on the same fields with different ordering
MRA-481 Fix issues with Redux caused by multiple Controller/Manager widgets in the same screen in ActiveUI

Security

None