Releases: finos/common-domain-model
7.0.0-dev.95
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
InstrumentTypeEnumtoSecurityTypeEnum - Adding
SecurityTypeEnumas an attribute underSecurityand removing it fromInstrumentBase - Removing
ListedDerivativeandLetterOfCreditfromSecurityTypeEnumand adding them toAssetTypeEnum - Adding
LoantoAssetTypeEnumto further align it with the asset and instrument model - Adding
AssetTypeEnumtoAssetBase - 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
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
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
redemptionTypeattribute with typeRedemptionTypeEnum - Added
putCallattribute with typePutCallEnum - Added
partyattribute with typeRedemptionPartyEnum
Created 2 new enums
RedemptionTypeEnumwith values Convertible, Exchangeable, ContingentConvertible, Sinkable, ExtraordinaryRedemptionPartyEnumwith values Holder and Issuer
Review Directions
The changes can be reviewed in PR: #4447
6.15.0
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:
- Modifications made to
Qualify_AssetClass_Commodity - Removal of redundant condition in
Qualify_Commodity_Swap_FixedFloat - Addition of
valueDateinSettlementDatecondition - Addition of cashflow from
OptionPayoutandSettlementPayoutinCreate_CashflowFromPayoutfunction.
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_SingleNameQualify_EquityForward_PriceReturnBasicPerformance_SingleIndexQualify_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:
DSL9.75.3Performance improvements and bug fix. See DSL release notes: 9.75.3bundle11.108.0Performance improvements and bug fix.FpML as Rune1.5.0See Release notes: 1.5.0.FpML as Rune1.4.0See 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
quantitySchedulefor 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
AssetIdTypeEnumvaluesNameandREDIDfor FpML Credit products - Mapping of price per option updated for FpML Equity products
- Mapping of
idtoCommodityPayoutfor FpML Commodity products
Review Directions
Changes can be reviewed in PR: #4445
5.32.0
Infrastructure - Dependency Update
What is being released?
This release updates the DSL and bundle dependency:
Version updates include:
DSL9.75.3Performance improvements and bug fix. See DSL release notes: 9.75.3bundle11.108.0Performance 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
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
AssetIdTypeEnumvaluesNameandREDIDfor FpML Credit products - Mapping of price per option updated for FpML Equity products
- Mapping of
idtoCommodityPayoutfor FpML Commodity products
Review Directions
Changes can be reviewed in PR: #4456
7.0.0-dev.91
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
RecallProvisiontype, which includes attributes required to define a recall - Update to
TerminationProvisionto addRecallProvisionand 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
UnscheduledTransferEnumcontaining options for "Return" and "Recall" - Addition of new
UnscheduledTransfertype, which includestransferTypewhich uses the newUnscheduledTransferEnum - Update
TransferExpressionto now offerscheduledTransferand a newunscheduledTransferattributes - Move
priceTransferfromTransferExpressionto now be underUnscheduledTransfer - Update FpML ingestion mapping for
priceTransferto relocate tounscheduledTransfer -> priceTransfer
Review Directions
Changes can be reviewed in PR: #4397
7.0.0-dev.89
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
quantitySchedulefor 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_SingleNameQualify_EquityForward_PriceReturnBasicPerformance_SingleIndexQualify_EquityForward_PriceReturnBasicPerformance_Basket
Review Directions
The changes can be reviewed in PR: #4405
7.0.0-dev.88
Infrastructure - Dependency Update
What is being released?
This release updates the DSL , bundle and FpML as Rune dependency:
Version updates include:
DSL9.75.3Performance improvements and bug fix. See DSL release notes: 9.75.3bundle11.108.0Performance improvements and bug fix.FpML as Rune1.5.0See Release notes: 1.5.0.
Review Directions
The changes can be reviewed in PR: #4411
7.0.0-dev.87
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