7.0.0-dev.101
Collateral Model - Rename of EquityIndexEnum to CollateralEquityIndexEnum and moving to Collateral model
Background
The EQ index enumerated list was originally added to the CDM in an earlier version of CDM 7 The list was presented and agreed upon at the Collateral WG, with the list of EQ indices provided by collateral members. The intention was for this enum list to be used in Eligible Collateral Schedules where eligible collateral is defined as securities listed in a specific index.
What is being released?
- Remove 'EquityIndexEnum' from type 'EquityIndex'
- Rename 'EquityIndexEnum' to 'CollateralEquityIndexEnum'
- Move the enum to the collateral model - 'cdm.product.collateral:enum'
Review Directions
Changes can be reviewed in PR: #4612
Removal of selected CDM legal agreement samples
Background
Removal of selection legal agreement samples, as changes required, #4604
What is being released?
Removal of previously released CDM legal agreement samples
Review Directions
Changes can be reviewed in PR: #4605
Math Model - New DSL Core Mathematical Functions
Background
To support complex financial calculations new CDM fundamental mathematical capabilities are required. This release bridges that gap by providing native DSL implementations for exponential, natural logarithm, and square root operations.
For further information, see issue #4169.
What is being released?
This release introduces core mathematical function definitions within the cdm.base.math namespace. These functions utilize standard numerical analysis techniques adapted specifically for the Rune DSL to ensure deterministic execution without external dependencies.
New functions include:
base-math-fuc.rosetta
Exp: The exponential function, uses a 10th-degree Taylor-Maclaurin series expansion with argument reduction.Log: The natural logarithm, uses the Inverse Hyperbolic Tangent series expansion up to degree 19 with argument scaling.Sqrt: The square root function, approximates using the Newton-Raphson method with a logarithmic initial-guess ladder.
base-math-util-func.rosetta
-
Exp_Pos_Router&Exp_Squaring_Helper: Manage argument reduction and repeated squaring to keep inputs within a numerically stable sweet spot. -
Exp_Core_Taylor&Log_Internal_Series: Execute the 10th-degree Taylor-Maclaurin and 19th-degree Inverse Hyperbolic Tangent series, respectively. -
Functional Summations (reduce): Both series approximations have been optimized to utilize the native Rune DSL reduce operator (e.g., [t1, t3...] reduce a, b [ a + b ]). This allows for concise, functional summations of the expansion terms.
Verification and Testing:
The following JUnit scenarios have been added to validate the mathematical properties, series approximation accuracy, and boundary conditions:
cdm.base.math.functions.ExpTestcdm.base.math.functions.LogTestcdm.base.math.functions.SqrtTest
As these are new functions, there are no backward compatibility issues or impacts on existing model logic.
Review Directions
Changes can be reviewed in PR: #4563
Reference Data - Rune DSL FpML Coding Scheme Validation Upgrade
Background
The Common Domain Model relied on a custom Java-based implementation for externalized FpML coding scheme validation.
This release upgrades the validation framework by moving the core logic directly into native Rune DSL. It removes the dependency on the Java runtime for cross-platform consistency.
What is being released?
Key improvements include:
- The
ValidateFpMLCodingSchemeDomainfunction is now implemented directly in the model. - Decommissioned the legacy
ValidateFpMLCodingSchemeImpland itsCdmRuntimeModulebinding. - Decommissioned Java-specific validation unit tests.
Review Directions
Changes can be reviewed in PR: #4562