Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt

Use this file to discover all available pages before exploring further.

This page explains the changes since 5.3.0-beta, plus any changes required to migrate from 5.3.0-beta to the stated version of Atoti Market Risk.

Changes since 5.3.0-beta

Added

Issue KeyDetails
MR-1606Added a new implementation of IVaRQuantile: SimpleQuantile.

Changed

Issue KeyDetails
MR-1605Quantile type and rounding method display names can now be set with properties.
MR-1595Upgraded to Atoti Server 6.0.9.

Removed

Issue KeyDetails
MR-1615Removed the ActivePivotRemotingServicesConfig import.

Fixed

Issue KeyDetails
MR-1392The 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-1610Configured missing Volga Taylor VaR measures.
MR-1618Ladder-based sensitivity measures can now be excluded from the configuration.

Migrate to 5.3.0

Upgrading from version 5.3.0-beta, see Atoti Market Risk 5.3 Release Notes. Atoti Market Risk uses Atoti Server 6.0.9 and Atoti UI 5.1.x. For new features and fixes included in these releases, please see the Atoti UI documentation and Atoti UI Migration Notes, and the release notes for Atoti Server.

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).
  • Atoti Server upgrade : The Atoti Market Risk has been upgraded to Atoti Server 6.0.9.
  • Solutions Tools BOM upgrade : The Solutions Tools BOM dependency has been upgraded to 2.0-AS6.0. All included tools are compatible with, and require Java 17.
  • 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. See IPnLExplainFormulaProvider consistency cleanup.
  • Removal of ActivePivotRemotingServicesConfig: The import of ActivePivotRemotingServicesConfig has been removed from the configuration class MarketRiskConfig.
  • 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.

Breaking Changes

  • The MR 5.3.0 release is now compatible with, and requires Java 17.
  • The Solutions Tools BOM dependency has been upgraded to 2.0-AS6.0. All included tools are compatible with, and require Java 17.
  • The Spring Security configuration has been upgraded to version 5.8.7, for future compatibility with Spring 6.0. Customizations built on previous versions will need to be migrated.
  • A new getShiftFromMDFormula function has been added to the IPnLExplainFormulaProvider.
  • The import of ActivePivotRemotingServicesConfig has been removed from the configuration class MarketRiskConfig.

Properties

Properties Added

Old Property NameNew Property NameComment
mr.cubes.context-values.defaults.quantile-typemr.cubes.context-values.defaults.quantileProperty name changed to bring it in line with other references to quantiles. No other changes made to the property.
mr.cubes.context-values.defaults.rounding-typemr.cubes.context-values.defaults.rounding-methodProperty name changed to bring it in line with other references to rounding methods. No other changes made to the property.

Beans

Added

The following beans have been added to define parameters related to Volga Taylor VaR:
ConstantQualifierTypeDetails
SP_QUALIFIER__VOLGA_TAYLOR_VAR_PARAMETERS“Volga Taylor VAR Parameters”VaRMetricParametersAndNamesParameters and constants used for Volga Taylor VAR measures.
SP_QUALIFIER__VOLGA_TAYLOR_ES_PARAMETERS“Volga Taylor ES Parameters”VaRMetricParametersAndNamesParameters and constants used for Volga Taylor ES measures.
SP_QUALIFIER__VOLGA_TAYLOR_ETG_PARAMETERS“Volga Taylor ETG Parameters”VaRMetricParametersAndNamesParameters and constants used for Volga Taylor ETG measures.
SP_QUALIFIER__VOLGA_TAYLOR_VAE_PARAMETERS“Volga Taylor VAE Parameters”VaRMetricParametersAndNamesParameters and constants used for Volga Taylor VAE measures.
SP_QUALIFIER__VOLGA_TAYLOR_WVAE_PARAMETERS“Volga Taylor WVAE Parameters”VaRMetricParametersAndNamesParameters and constants used for Volga Taylor WVAE measures.
SP_QUALIFIER__VOLGA_TAYLOR_WVAR_PARAMETERS“Volga Taylor WVAR Parameters”VaRMetricParametersAndNamesParameters and constants used for Volga Taylor WVAR measures.
Those constants are defined in the SpringConstants class of the mr-common-lib module, and the beans are defined in the mr-sensi-config module. In the following files in the mr-sensi-config module:
  • CashShiftViewerChain
  • CorrelationShiftViewerChain
  • CrossGammaShiftViewerChain
  • DeltaShiftViewerChain
  • GammaShiftViewerChain
  • VannaShiftViewerChain
  • VegaShiftViewerChain
  • VolgaShiftViewerChain
the following beans have been added to define statistical measures on interpolated market shift measures:
ConstantQualifierTypeDetails
SENSI + SHIFT_VECTOR_INTERPOLATED_MINSENSI + “Shift Vector Interpolated Minimum”CopperMeasureMeasure computing the minimum of the Market Shift vector used by the sensitivity, interpolated, not normalized.
SENSI + SHIFT_VECTOR_INTERPOLATED_MAXSENSI + “Shift Vector Interpolated Maximum”CopperMeasureMeasure computing the maximum of the Market Shift vector used by the sensitivity, interpolated, not normalized.
SENSI + SHIFT_VECTOR_INTERPOLATED_AVGSENSI + “Shift Vector Interpolated Average”CopperMeasureMeasure computing the average of the Market Shift vector used by the sensitivity, interpolated, not normalized.
SENSI + SHIFT_VECTOR_INTERPOLATED_PERCENTILESENSI + “Shift Vector Interpolated Percentile”CopperMeasureMeasure computing the percentile of the Market Shift vector used by the sensitivity, interpolated, not normalized.
SENSI + SHIFT_VECTOR_INTERPOLATED_NORMALIZED_MINSENSI + “Shift Vector Interpolated Normalized Minimum”CopperMeasureMeasure computing the maximum of the Market Shift vector used by the sensitivity, interpolated, normalized.
SENSI + SHIFT_VECTOR_INTERPOLATED_NORMALIZED_MAXSENSI + “Shift Vector Interpolated Normalized Maximum”CopperMeasureMeasure computing the minimum of the Market Shift vector used by the sensitivity, interpolated, normalized.
SENSI + SHIFT_VECTOR_INTERPOLATED_NORMALIZED_AVGSENSI + “Shift Vector Interpolated Normalized Average”CopperMeasureMeasure computing the average of the Market Shift vector used by the sensitivity, interpolated, normalized.
SENSI + SHIFT_VECTOR_INTERPOLATED_NORMALIZED_PERCENTILESENSI + “Shift Vector Interpolated Normalized Percentile”CopperMeasureMeasure computing the percentile of the Market Shift vector used by the sensitivity, interpolated, normalized.
In the mr-sensi-config module, the following classes containing the definition of Volga Taylor VaR measures have been added:
PackageFile NameDetails
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.esVolgaTaylorESContextualChainDefinition of the Volga Taylor ES measures using the ESConfidenceLevel context value for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.esVolgaTaylorESFixedConfidenceChainDefinition of the Volga Taylor ES measures using fixed values for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.etgVolgaTaylorETGContextualChainDefinition of the Volga Taylor ETG measures using the ETGConfidenceLevel context value for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.etgVolgaTaylorETGFixedConfidenceChainDefinition of the Volga Taylor ETG measures using fixed values for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.vaeVolgaTaylorVAEContextualChainDefinition of the Volga Taylor VAE measures using the VAEConfidenceLevel context value for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.vaeVolgaTaylorVAEFixedConfidenceChainDefinition of the Volga Taylor VAE measures using fixed values for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.varVolgaTaylorVARContextualChainDefinition of the Volga Taylor VAR measures using the VARConfidenceLevel context value for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.varVolgaTaylorVARFixedConfidenceChainDefinition of the Volga Taylor VAR measures using fixed values for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.wvaeVolgaTaylorWVAEContextualChainDefinition of the Volga Taylor Weighted VAE measures using the VAEConfidenceLevel context value for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.wvaeVolgaTaylorWVAEFixedConfidenceChainDefinition of the Volga Taylor Weighted VAE measures using fixed values for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.wvarVolgaTaylorWVARContextualChainDefinition of the Volga Taylor Weighted VAR measures using the VAEConfidenceLevel context value for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylor.wvarVolgaTaylorWVARFixedConfidenceChainDefinition of the Volga Taylor Weighted VAR measures using fixed values for the percentile.
com.activeviam.mr.sensi.measures.chains.complete.volga.taylorVolgaTaylorChainDefinition of the PnL vector measures used for Volga Taylor VaR and of the Volga Taylor Tail VaE and Volga Taylor Tail VaR measures.
com.activeviam.mr.sensi.measures.config.parameters.taylorVolgaTaylorParametersConfigDefinition of the parameters used for Volga Taylor VaR measure definitions.
In the mr-sensi-config module, imports of the following configuration files have been added to the VolgaTaylorMeasuresConfig class:
  • VolgaTaylorETGContextualChain
  • VolgaTaylorETGFixedConfidenceChain
  • VolgaTaylorVAEContextualChain
  • VolgaTaylorVAEFixedConfidenceChain
  • VolgaTaylorWVAEContextualChain
  • VolgaTaylorWVAEFixedConfidenceChain
  • VolgaTaylorWVARContextualChain
  • VolgaTaylorWVARFixedConfidenceChain
  • VolgaTaylorESContextualChain
  • VolgaTaylorESFixedConfidenceChain
  • VolgaTaylorVaRContextualChain
  • VolgaTaylorVaRFixedConfidenceChain
  • VolgaTaylorChain
In the mr-sensi-config module, the import of the following file has been added to the AllTaylorParameters class:
  • VolgaTaylorParametersConfig
In the mr-sensi-lib module, the following constants have been added in the file SensiMeasureParameters:
ConstantValueDetails
SHIFT_VECTOR_INTERPOLATED_MIN“Shift Vector Interpolated Minimum”Suffix of the measure computing the minimum of the Market Shift vector used by a sensitivity, interpolated, not normalized.
SHIFT_VECTOR_INTERPOLATED_MAX“Shift Vector Interpolated Maximum”Suffix of the measure computing the maximum of the Market Shift vector used by a sensitivity, interpolated, not normalized.
SHIFT_VECTOR_INTERPOLATED_AVG“Shift Vector Interpolated Average”Suffix of the measure computing the average of the Market Shift vector used by a sensitivity, interpolated, not normalized.
SHIFT_VECTOR_INTERPOLATED_PERCENTILE“Shift Vector Interpolated Percentile”Suffix of the measure computing the percentile of the Market Shift vector used by a sensitivity, interpolated, not normalized.
SHIFT_VECTOR_INTERPOLATED_NORMALIZED_MIN“Shift Vector Interpolated Normalized Minimum”Suffix of the measure computing the minimum of the Market Shift vector used by a sensitivity, interpolated, normalized.
SHIFT_VECTOR_INTERPOLATED_NORMALIZED_MAX“Shift Vector Interpolated Normalized Maximum”Suffix of the measure computing the maximum of the Market Shift vector used by a sensitivity, interpolated, normalized.
SHIFT_VECTOR_INTERPOLATED_NORMALIZED_AVG“Shift Vector Interpolated Normalized Average”Suffix of the measure computing the average of the Market Shift vector used by a sensitivity, interpolated, normalized.
SHIFT_VECTOR_INTERPOLATED_NORMALIZED_PERCENTILE“Shift Vector Interpolated Normalized Percentile”Suffix of the measure computing the percentile of the Market Shift vector used by a sensitivity, interpolated, normalized.

Measures

Added

CubeMeasureDetails
Market DataShift Vector Interpolated MinimumMinimum of the Market Shift vector, interpolated, not normalized
Market DataShift Vector Interpolated MaximumMaximum of the Market Shift vector, interpolated, not normalized
Market DataShift Vector Interpolated AverageAverage of the Market Shift vector, interpolated, not normalized
Market DataShift Vector Interpolated PercentilePercentile of the Market Shift vector, interpolated, not normalized
Market DataShift Vector Interpolated Normalized MinimumMinimum of the Market Shift vector, interpolated, normalized
Market DataShift Vector Interpolated Normalized MaximumMaximum of the Market Shift vector, interpolated, normalized
Market DataShift Vector Interpolated Normalized AverageAverage of the Market Shift vector, interpolated, normalized
Market DataShift Vector Interpolated Normalized PercentilePercentile of the Market Shift vector, interpolated, normalized
SensiCorrelation Shift Vector Interpolated MinimumMinimum of the Market Shift vector used by the Correlation sensitivity, interpolated, not normalized
SensiCorrelation Shift Vector Interpolated MaximumMaximum of the Market Shift vector used by the Correlation sensitivity, interpolated, not normalized
SensiCorrelation Shift Vector Interpolated AverageAverage of the Market Shift vector used by the Correlation sensitivity, interpolated, not normalized
SensiCorrelation Shift Vector Interpolated PercentilePercentile of the Market Shift vector used by the Correlation sensitivity, interpolated, not normalized
SensiCorrelation Shift Vector Interpolated Normalized MinimumMinimum of the Market Shift vector used by the Correlation sensitivity, interpolated, normalized
SensiCorrelation Shift Vector Interpolated Normalized MaximumMaximum of the Market Shift vector used by the Correlation sensitivity, interpolated, normalized
SensiCorrelation Shift Vector Interpolated Normalized AverageAverage of the Market Shift vector used by the Correlation sensitivity, interpolated, normalized
SensiCorrelation Shift Vector Interpolated Normalized PercentilePercentile of the Market Shift vector used by the Correlation sensitivity, interpolated, normalized
SensiCrossGamma Shift Vector Interpolated MinimumMinimum of the Market Shift vector used by the CrossGamma sensitivity, interpolated, not normalized
SensiCrossGamma Shift Vector Interpolated MaximumMaximum of the Market Shift vector used by the CrossGamma sensitivity, interpolated, not normalized
SensiCrossGamma Shift Vector Interpolated AverageAverage of the Market Shift vector used by the CrossGamma sensitivity, interpolated, not normalized
SensiCrossGamma Shift Vector Interpolated PercentilePercentile of the Market Shift vector used by the CrossGamma sensitivity, interpolated, not normalized
SensiCrossGamma Shift Vector Interpolated Normalized MinimumMinimum of the Market Shift vector used by the CrossGamma sensitivity, interpolated, normalized
SensiCrossGamma Shift Vector Interpolated Normalized MaximumMaximum of the Market Shift vector used by the CrossGamma sensitivity, interpolated, normalized
SensiCrossGamma Shift Vector Interpolated Normalized AverageAverage of the Market Shift vector used by the CrossGamma sensitivity, interpolated, normalized
SensiCrossGamma Shift Vector Interpolated Normalized PercentilePercentile of the Market Shift vector used by the CrossGamma sensitivity, interpolated, normalized
SensiDelta Shift Vector Interpolated MinimumMinimum of the Market Shift vector used by the Delta sensitivity, interpolated, not normalized
SensiDelta Shift Vector Interpolated MaximumMaximum of the Market Shift vector used by the Delta sensitivity, interpolated, not normalized
SensiDelta Shift Vector Interpolated AverageAverage of the Market Shift vector used by the Delta sensitivity, interpolated, not normalized
SensiDelta Shift Vector Interpolated PercentilePercentile of the Market Shift vector used by the Delta sensitivity, interpolated, not normalized
SensiDelta Shift Vector Interpolated Normalized MinimumMinimum of the Market Shift vector used by the Delta sensitivity, interpolated, normalized
SensiDelta Shift Vector Interpolated Normalized MaximumMaximum of the Market Shift vector used by the Delta sensitivity, interpolated, normalized
SensiDelta Shift Vector Interpolated Normalized AverageAverage of the Market Shift vector used by the Delta sensitivity, interpolated, normalized
SensiDelta Shift Vector Interpolated Normalized PercentilePercentile of the Market Shift vector used by the Delta sensitivity, interpolated, normalized
SensiGamma Shift Vector Interpolated MinimumMinimum of the Market Shift vector used by the Gamma sensitivity, interpolated, not normalized
SensiGamma Shift Vector Interpolated MaximumMaximum of the Market Shift vector used by the Gamma sensitivity, interpolated, not normalized
SensiGamma Shift Vector Interpolated AverageAverage of the Market Shift vector used by the Gamma sensitivity, interpolated, not normalized
SensiGamma Shift Vector Interpolated PercentilePercentile of the Market Shift vector used by the Gamma sensitivity, interpolated, not normalized
SensiGamma Shift Vector Interpolated Normalized MinimumMinimum of the Market Shift vector used by the Gamma sensitivity, interpolated, normalized
SensiGamma Shift Vector Interpolated Normalized MaximumMaximum of the Market Shift vector used by the Gamma sensitivity, interpolated, normalized
SensiGamma Shift Vector Interpolated Normalized AverageAverage of the Market Shift vector used by the Gamma sensitivity, interpolated, normalized
SensiGamma Shift Vector Interpolated Normalized PercentilePercentile of the Market Shift vector used by the Gamma sensitivity, interpolated, normalized
SensiVanna Shift Vector Interpolated MinimumMinimum of the Market Shift vector used by the Vanna sensitivity, interpolated, not normalized
SensiVanna Shift Vector Interpolated MaximumMaximum of the Market Shift vector used by the Vanna sensitivity, interpolated, not normalized
SensiVanna Shift Vector Interpolated AverageAverage of the Market Shift vector used by the Vanna sensitivity, interpolated, not normalized
SensiVanna Shift Vector Interpolated PercentilePercentile of the Market Shift vector used by the Vanna sensitivity, interpolated, not normalized
SensiVanna Shift Vector Interpolated Normalized MinimumMinimum of the Market Shift vector used by the Vanna sensitivity, interpolated, normalized
SensiVanna Shift Vector Interpolated Normalized MaximumMaximum of the Market Shift vector used by the Vanna sensitivity, interpolated, normalized
SensiVanna Shift Vector Interpolated Normalized AverageAverage of the Market Shift vector used by the Vanna sensitivity, interpolated, normalized
SensiVanna Shift Vector Interpolated Normalized PercentilePercentile of the Market Shift vector used by the Vanna sensitivity, interpolated, normalized
SensiVega Shift Vector Interpolated MinimumMinimum of the Market Shift vector used by the Vega sensitivity, interpolated, not normalized
SensiVega Shift Vector Interpolated MaximumMaximum of the Market Shift vector used by the Vega sensitivity, interpolated, not normalized
SensiVega Shift Vector Interpolated AverageAverage of the Market Shift vector used by the Vega sensitivity, interpolated, not normalized
SensiVega Shift Vector Interpolated PercentilePercentile of the Market Shift vector used by the Vega sensitivity, interpolated, not normalized
SensiVega Shift Vector Interpolated Normalized MinimumMinimum of the Market Shift vector used by the Vega sensitivity, interpolated, normalized
SensiVega Shift Vector Interpolated Normalized MaximumMaximum of the Market Shift vector used by the Vega sensitivity, interpolated, normalized
SensiVega Shift Vector Interpolated Normalized AverageAverage of the Market Shift vector used by the Vega sensitivity, interpolated, normalized
SensiVega Shift Vector Interpolated Normalized PercentilePercentile of the Market Shift vector used by the Vega sensitivity, interpolated, normalized
SensiVolga Shift Vector Interpolated MinimumMinimum of the Market Shift vector used by the Volga sensitivity, interpolated, not normalized
SensiVolga Shift Vector Interpolated MaximumMaximum of the Market Shift vector used by the Volga sensitivity, interpolated, not normalized
SensiVolga Shift Vector Interpolated AverageAverage of the Market Shift vector used by the Volga sensitivity, interpolated, not normalized
SensiVolga Shift Vector Interpolated PercentilePercentile of the Market Shift vector used by the Volga sensitivity, interpolated, not normalized
SensiVolga Shift Vector Interpolated Normalized MinimumMinimum of the Market Shift vector used by the Volga sensitivity, interpolated, normalized
SensiVolga Shift Vector Interpolated Normalized MaximumMaximum of the Market Shift vector used by the Volga sensitivity, interpolated, normalized
SensiVolga Shift Vector Interpolated Normalized AverageAverage of the Market Shift vector used by the Volga sensitivity, interpolated, normalized
SensiVolga Shift Vector Interpolated Normalized PercentilePercentile of the Market Shift vector used by the Volga sensitivity, interpolated, normalized
SensiList of Volga Taylor ES measuresSee the list of all Volga Taylor ES measures in the link.
SensiList of Volga Taylor ETG measuresSee the list of all Volga Taylor ETG measures in the link.
SensiList of Volga Taylor VaE measuresSee the list of all Volga Taylor VaE measures in the link.
SensiList of Volga Taylor VaR measuresSee the list of all Volga Taylor VaR measures in the link.

Other changes

Java 17 upgrade

The Solution is now built and intended to be run within a Java 17 JVM. Some functionality in the full application and in the regressions tests requires deep reflection access to Java packages. To enable access, please use the following JVM parameters, either through the command line or maven surefire/failsafe configuration.
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
The Solution will not work in a Java 11 JVM.

Spring Security upgrade

We have upgraded to Spring Security 5.8.7. To do so, we override the version of Spring Security in Spring Boot by importing the common-dependencies-bom version 1.2.0 into the parent pom file. The common-dependencies-bom overrides the Spring Security version using Spring’s migration guide. You will eventually need to migrate your own custom security configuration(s) in preparation for Spring Security 6.0. We have upgraded our out-of-the-box security configurations to help in this migration.
We recommend using your own custom security configuration(s) and referring to the out-of-the-box security configuration provided only as a sample.
The default security users and roles have not changed, only the way we implement the security. We have done so by making the following changes:
Stop Using WebSecurityConfigurerAdapter
We have replaced instances of WebSecurityConfigurerAdapter with SecurityFilterChain beans.
Use the new requestMatchers methods
In Authorize Http Requests, we have replaced invocations of http.authorizeHttpRequests((authz) -> authz.antMatchers(...)) with http.authorizeHttpRequests((authz) -> authz.requestMatchers(...)).
Use the new securityMatchers methods
We have replaced invocations of http.antMatchers(...) with http.securityMatchers(...). As an example of the previous changes, the configuration for accessing the endpoint which exposes the JWT token changed from:
@Configuration
@Order(1)
public static abstract class AJwtSecurityConfigurer extends WebSecurityConfigurerAdapter {

   @Autowired
   protected ApplicationContext context;

   @Autowired
   @Qualifier(BASIC_AUTH_BEAN_NAME)
   protected AuthenticationEntryPoint authenticationEntryPoint;

   @Override
   protected void configure(HttpSecurity http) throws Exception {
      http
              .antMatcher(JwtRestServiceConfig.REST_API_URL_PREFIX + "/**")
              // As of Spring Security 4.0, CSRF protection is enabled by default.
              .csrf().disable()
              // Configure CORS
              .cors().and()
              .authorizeRequests()
              .antMatchers("/**").hasAnyAuthority(ROLE_USER)
              .and()
              .httpBasic().authenticationEntryPoint(authenticationEntryPoint);
   }
}
to
@Bean
@Order(1)
public SecurityFilterChain jwtSecurityFilterChain(HttpSecurity http,ApplicationContext applicationContext){
final AuthenticationEntryPoint basicAuthenticationEntryPoint = applicationContext.getBean(BASIC_AUTH_BEAN_NAME,AuthenticationEntryPoint.class);
        return http
            // As of Spring Security 4.0, CSRF protection is enabled by default.
            .csrf(AbstractHttpConfigurer::disable)
            // Configure CORS
            .cors().and()
            .securityMatcher(url(JwtRestServiceConfig.REST_API_URL_PREFIX,WILDCARD))
            .authorizeHttpRequests(
                auth->auth.requestMatchers(HttpMethod.OPTIONS,url(WILDCARD))
                .permitAll()
                .anyRequest()
                .hasAnyAuthority(ROLE_USER))
            .httpBasic(basic->basic.authenticationEntryPoint(basicAuthenticationEntryPoint))
            .build();
        }

IPnLExplainFormulaProvider consistency cleanup

A new getShiftFromMDFormula function has been added to the IPnLExplainFormulaProvider, used to transform a couple of market data into a shift. It returns a lambda function (double quoteT, double quoteTMinus1) -> shift. The PnLExplainFormulaProvider implementation has been cleaned up to reduce the cases: the getPnlExplainFormula implementation has been replaced with pnlExplainFormula = (sensitivity, quoteT, quoteTMinus1) -> vaRExplainFormula.applyAsDouble(sensitivity, shiftFormula.applyAsDouble(quoteT, quoteTMinus1)) This bean returns null instead of (...) -> 0.0 when no formula has been found, to avoid printing out an incorrect null PnL.

Removal of ActivePivotRemotingServicesConfig

  • The import of ActivePivotRemotingServicesConfig has been removed from the configuration class MarketRiskConfig.
  • The following antMatchers have been rmoved from the security configuration file SecurityConfig:
.antMatchers(ID_GENERATOR_REMOTING_SERVICE + "/**").hasAnyAuthority(ROLE_USER, ROLE_TECH)
.antMatchers(LONG_POLLING_REMOTING_SERVICE + "/**").hasAnyAuthority(ROLE_USER, ROLE_TECH)
.antMatchers(LICENSING_REMOTING_SERVICE + "/**").hasAnyAuthority(ROLE_USER, ROLE_TECH)

Integration tests

In the mr-application-tests module, the following changes have been made in the file used for integration tests:
  • The files present in the folder test-bookmarks/07 - Aggregate Taylor VaR have been updated to reflect the changes in the Taylor VaR measure numbers introduced by the addition of the Taylor VaR measures.
  • The files present in the folder test-bookmarks-combined/03 - Taylor VaR have been updated to reflect the changes in the Taylor VaR measure numbers introduced by the addition of the Taylor VaR measures.
  • The folder test-bookmarks/08 - Market Shifts Statistics has been renamed to test-bookmarks/09 - Market Shifts Statistics and its content has been changed to add queries for more sensitivity types than just delta.
  • The folder test-bookmarks/08 - Volga Taylor VaR has been created to test Volga Taylor VaR measures
  • The following files have been created to test the statistical in the market data cube:
    • test-bookmarks/MarketDataCube/shiftStats.query
    • test-bookmarks/MarketDataCube/shiftStats.csv
    • test-bookmarks-combined/MarketDataCube/shiftStats.query
    • test-bookmarks-combined/MarketDataCube/shiftStats.csv