Skip to content

Releases: finos/common-domain-model

7.0.0-dev.95

27 Feb 16:51
98873d8

Choose a tag to compare

Asset Model - Aligning AssetType with Asset and Security

Background

There is inconsistency in how asset type, instrument, and security types are modelled. This release seeks to restructure the types and enums so they are harmonised.

What is being released?

  • Renaming InstrumentTypeEnum to SecurityTypeEnum
  • Adding SecurityTypeEnum as an attribute under Security and removing it from InstrumentBase
  • Removing ListedDerivative and LetterOfCredit from SecurityTypeEnum and adding them to AssetTypeEnum
  • Adding Loan to AssetTypeEnum to further align it with the asset and instrument model
  • Adding AssetTypeEnum to AssetBase
  • Adding conditions on each of the types to enforce the correct asset type selection

Review Directions

Changes can be reviewed in PR: #4434

7.0.0-dev.94

24 Feb 11:21
187b69c

Choose a tag to compare

Collateral Model - Addition of IndexType

Background

In the collateral model, there is no way of specifying whether a security is a constituent of a particular index without also specifying an asset identifier for that index.

Furthermore, it was agreed on the working group discussions that RegCap could be removed as it is not in use.

Addition of a new type IndexType.

This allows for the definition of an index within collateral criteria without using Index in the Product Model. Therefore, only the value in the EquityIndexEnum needs to be specified rather than an AssetIdentifier.

Review Directions

The changes can be reviewed in PR: #4476

Asset Model - Removal of DebtClassEnum

Background

There is ambiguity around vanilla and structured enum values without a defined taxonomy. Recent changes in DebtType now allow for Structured and Vanilla debt to be defined outside of this enum based solely on their characteristics.

Furthermore, it was agreed on the working group discussions that RegCap could be removed as it is not in use.

What is being released?

Removal of DebtClassEnum and any references to it.

Review Directions

The changes can be reviewed in PR: #4474

7.0.0-dev.93

19 Feb 16:01
b5f92c7

Choose a tag to compare

Asset Model - Adding Redemption Attribute to Debt Type

Background

There are several values in the the DebtClassEnum relating to the redemption of the debt which could be more granular and composable. There are 4 attributes representing unique combinations for IssuerConvertible, HolderConvertible, IssuerExchangeable, HolderExchangeable. However, these could be represented using separate enums and conditions within DebtType. This would also remove the additional Convertible attribute.

What is being released?

Created a DebtRedemption type

  • Added redemptionType attribute with type RedemptionTypeEnum
  • Added putCall attribute with type PutCallEnum
  • Added party attribute with type RedemptionPartyEnum

Created 2 new enums

  • RedemptionTypeEnum with values Convertible, Exchangeable, ContingentConvertible, Sinkable, Extraordinary
  • RedemptionPartyEnum with values Holder and Issuer

Review Directions

The changes can be reviewed in PR: #4447

6.15.0

17 Feb 16:37
a0373b6

Choose a tag to compare

Product Model - Commodity Qualification and Cashflow function updates

Background

The qualification of Commodity Products is currently incomplete due to a missing condition. Additionally, modification is required in Create_CashflowFromSettlementPayout function to address errors in FX Products.

What is being released?

This release includes:

  1. Modifications made to Qualify_AssetClass_Commodity
  2. Removal of redundant condition in Qualify_Commodity_Swap_FixedFloat
  3. Addition of valueDate in SettlementDate condition
  4. Addition of cashflow from OptionPayout and SettlementPayout in Create_CashflowFromPayout function.

Review Directions

Changes can be reviewed in PR: #4438

Product Model - Updating Qualification Functions to Handle only exists Syntax

Background

In 6.x.x, the only exists syntax does not apply to the choice Payout -> SettlementPayout, because there is always only one. Instead, only-element is used on the payout, which is incorrect, because if there is more than one payout then none will be set. The original intention was to allow for multiple of the same payout types.

What is being released?

Updating any previous instance of only-exist to use a function which checks whether only the payout in questions exists, allowing for multiple of the same payouts.

Review Directions

Changes can be reviewed in PR: #4415

Product Model - EquityForward Qualification functions

Background

There are no qualification functions for Equity Forwards.

What is being released?

Qualification Functions for Equity Forwards introduced:

  • Qualify_EquityForward_PriceReturnBasicPerformance_SingleName
  • Qualify_EquityForward_PriceReturnBasicPerformance_SingleIndex
  • Qualify_EquityForward_PriceReturnBasicPerformance_Basket

Review Directions

Changes can be reviewed in PR: #4404

Infrastructure - Dependency Update

What is being released?

This release updates the DSL , bundle and FpML as Rune dependency:

Version updates include:

  • DSL 9.75.3 Performance improvements and bug fix. See DSL release notes: 9.75.3
  • bundle 11.108.0 Performance improvements and bug fix.
  • FpML as Rune 1.5.0 See Release notes: 1.5.0.
  • FpML as Rune 1.4.0 See Release notes: 1.4.0.

Review Directions

The changes can be reviewed in PR: #4391 && #4410

Ingestion Framework for FpML - Principal Payment Schedule

Background

An issue was identified related to the FpML mapping of PrincipalPaymentSchedule for single final payments. For further information, see #4076.

What is being released?

Synonym Ingest and Ingest Functions related to PrincipalPaymentSchedule have been updated to set principalPaymentSchedule->finalPrincipalPayment when principalPayment->finalPayment is true.

Review Directions

Changes can be reviewed in PR: #4401

Ingestion Framework for FpML - Mapping Coverage: FX and Rates

Background

Ingestion functions for FpML Confirmation to CDM have mapping coverage gaps for some products or test packs compared to the legacy Synonym mapping coverage. For further information, see #4260.

What is being released?

This release maps FX and Rates products, as per #4373 and #4440.

  • Mapping updates to quantitySchedule for FpML FX products
  • Duplicate mappings removed in product taxonomy for FpML FRA products

Review Directions

Changes can be reviewed in PR: #4374

Ingestion Framework for FpML - Mapping Coverage: Credit, Equity and Commodity

Background

Ingestion functions for FpML Confirmation to CDM have mapping coverage gaps for some products or test packs compared to the legacy Synonym mapping coverage. For further information, see #4260.

What is being released?

This release maps Credit, Equity and Commodity products, as per #4453, #4454 and #4455.

  • Mapping support added for AssetIdTypeEnum values Name and REDID for FpML Credit products
  • Mapping of price per option updated for FpML Equity products
  • Mapping of id to CommodityPayout for FpML Commodity products

Review Directions

Changes can be reviewed in PR: #4445

5.32.0

17 Feb 13:10
0378b71

Choose a tag to compare

Infrastructure - Dependency Update

What is being released?

This release updates the DSL and bundle dependency:

Version updates include:

  • DSL 9.75.3 Performance improvements and bug fix. See DSL release notes: 9.75.3
  • bundle 11.108.0 Performance improvements and bug fix.

Review Directions

The changes can be reviewed in PR: #4409

Ingestion Framework for FpML - Principal Payment Schedule

Background

An issue was identified related to the FpML mapping of PrincipalPaymentSchedule for single final payments. For further information, see #4076.

What is being released?

Synonym Ingest mappings related to PrincipalPaymentSchedule have been updated to set principalPaymentSchedule->finalPrincipalPayment when principalPayment->finalPayment is true.

Review Directions

Changes can be reviewed in PR: #4402

7.0.0-dev.92

17 Feb 09:52
1a4bca1

Choose a tag to compare

Ingestion Framework for FpML - Mapping Coverage: Credit, Equity and Commodity

Background

Ingestion functions for FpML Confirmation to CDM have mapping coverage gaps for some products or test packs compared to the legacy Synonym mapping coverage. For further information, see #4260.

What is being released?

This release maps Credit, Equity and Commodity products, as per #4453, #4454 and #4455.

  • Mapping support added for AssetIdTypeEnum values Name and REDID for FpML Credit products
  • Mapping of price per option updated for FpML Equity products
  • Mapping of id to CommodityPayout for FpML Commodity products

Review Directions

Changes can be reviewed in PR: #4456

7.0.0-dev.91

13 Feb 13:19
a82c727

Choose a tag to compare

Product Model - Updating stubPeriodType cardinality

Background

The cardinality of stubPeriodType inside CalculationPeriodDates is currently 0..1 which prevents specifying the stub type when a leg contains two stubs. The cardinality should be changed from 0..1 to 0..2. A cardinality of 2 enables the stub type to be specified for both the initial and final stubs simultaneously.

What is being released?

The cardinality of stubPeriodType inside CalculationPeriodDates has been updated from 0..1 to 0..2.

Review Directions

The changes can be reviewed in PR: #4444

Product Model - Updating Qualification Functions to Handle only exists Syntax

Background

In 7 dev, the only exists syntax does not apply to the choice Payout -> SettlementPayout, because there is always only one. Instead, only-element is used on the payout, which is incorrect, because if there is more than one payout then none will be set. The original intention was to allow for multiple of the same payout types.

What is being released?

Updating any previous instance of only-exist to use a function which checks whether only the payout in questions exists, allowing for multiple of the same payouts.

Review Directions

Changes can be reviewed in PR: #4430

Product & Event Model - Recall Provisions and Unscheduled Transfers

Background

There are several times during the lifecycle of a securities lending trade that cash and shares may need to be transferred between the lender and the borrower. Two of these scenarios - Returns and Recalls - happen on an ad-hoc basis, the timing of these transfers being decided by the lender or the borrower.

Returns happen during the term of a loan, or when the loan ends, as the borrower will need to return the securities to the lender, and the lender will need to return the collateral that they received against that loan to the borrower.

Recalls occur when an agent lender needs to recall the shares they have lent out on behalf of their clients, often required when the owner of the shares has sold them. To support these ad-hoc transfers the UnscheduledTransfer type is being introduced, as well as a new RecallProvision type where details of the recall criteria for a trade can be placed.

What is being released?

To support the entry of recall criteria the following enhancements have been made to the Product model:

  • Addition of new RecallProvision type, which includes attributes required to define a recall
  • Update to TerminationProvision to add RecallProvision and update type conditions accordingly

To support the processing of transfers associated to returns or recalls the following enhancements have been made to the Event model:

  • Addition of new UnscheduledTransferEnum containing options for "Return" and "Recall"
  • Addition of new UnscheduledTransfer type, which includes transferType which uses the new UnscheduledTransferEnum
  • Update TransferExpression to now offer scheduledTransfer and a new unscheduledTransfer attributes
  • Move priceTransfer from TransferExpression to now be under UnscheduledTransfer
  • Update FpML ingestion mapping for priceTransfer to relocate to unscheduledTransfer -> priceTransfer

Review Directions

Changes can be reviewed in PR: #4397

7.0.0-dev.89

12 Feb 14:36
0ee66b3

Choose a tag to compare

Ingestion Framework for FpML - Mapping Coverage: FX and Rates

Background

Ingestion functions for FpML Confirmation to CDM have mapping coverage gaps for some products or test packs compared to the legacy Synonym mapping coverage. For further information, see #4260.

What is being released?

This release maps FX and Rates products, as per #4373 and #4440.

  • Mapping updates to quantitySchedule for FpML FX products
  • Duplicate mappings removed in product taxonomy for FpML FRA products

Review Directions

Changes can be reviewed in PR: #4376

Product Model - EquityForward Qualification functions

Background

There are no qualification functions for Equity Forwards.

What is being released?

Qualification Functions for Equity Forwards introduced:

  • Qualify_EquityForward_PriceReturnBasicPerformance_SingleName
  • Qualify_EquityForward_PriceReturnBasicPerformance_SingleIndex
  • Qualify_EquityForward_PriceReturnBasicPerformance_Basket

Review Directions

The changes can be reviewed in PR: #4405

7.0.0-dev.88

03 Feb 09:46
979487e

Choose a tag to compare

Infrastructure - Dependency Update

What is being released?

This release updates the DSL , bundle and FpML as Rune dependency:

Version updates include:

  • DSL 9.75.3 Performance improvements and bug fix. See DSL release notes: 9.75.3
  • bundle 11.108.0 Performance improvements and bug fix.
  • FpML as Rune 1.5.0 See Release notes: 1.5.0.

Review Directions

The changes can be reviewed in PR: #4411

7.0.0-dev.87

29 Jan 17:12
3fc0cd5

Choose a tag to compare

Ingestion Framework for FpML - Principal Payment Schedule

Background

An issue was identified related to the FpML mapping of PrincipalPaymentSchedule for single final payments. For further information, see #4076.

What is being released?

Ingest function mappings related to PrincipalPaymentSchedule have been updated to set principalPaymentSchedule->finalPrincipalPayment when principalPayment->finalPayment is true.

Review Directions

Changes can be reviewed in PR: #4403