Skip to content

Commit

Permalink
Lionel Smith-Gordon Use of Asset in AssetCriteria (#3228)
Browse files Browse the repository at this point in the history
* Use of Asset in AssetCriteria

Change from AssetIdentifier to Asset itself

* Update eligible-collateral-representation.md

AssetCriteria documentation update

* Release note

* Updated documentation

* ListingType cardinality

ListingType cardinality

* Update RELEASE.md

* Update eligible-collateral-representation.md

* Update product-collateral-type.rosetta

* Update product-collateral-type.rosetta

---------

Co-authored-by: Lionel Smith-Gordon <lionel@oblongs.uk>
Co-authored-by: Lionel SG <lionel.smith-gordon@regnosys.com>
Co-authored-by: JayasriR <124573358+JayasriR@users.noreply.github.com>
  • Loading branch information
4 people authored Nov 11, 2024
1 parent 0432f02 commit 4e0a19c
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 9 deletions.
27 changes: 27 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@

# _Product Model - Asset Refactoring in AssetCriteria_

_Background_

The Asset Refactoring initiative (see https://github.com/finos/common-domain-model/issues/2805) is seeking to improve the Product Model to address some long-standing issues and to ensure the continued extensibility to additional financial products and markets. A proposal has been agreed - through a cross-industry Task Force - to implement this remodelling in the CDM.

This release includes some additional functionality (following three planned major tranches of work in CDM 6 to implement the refactored model).

_What is being released?_

AssetCriteria:
- The attribute `assetIdentifier` has been refactored to model an actual asset, specified using the `Asset` choice data type, rather than just an identifier. The attribute name has also been updated to `specificAssets` to make it clear that it is a list of specific assets, all of whom are eligible to be pledged as collateral. The condition on the data type has been updated too.

ListingType:
- The cardinality of the three attributes in the data type `ListingType` (which is used in `AssetCriteria`) has been changed to none-to-many (rather than none or one); the attributes are `exchange`, `sector`, `index`. Without this, it would be only possible to select one of the values.

_Review directions_

The changes can be reviewed in PR: [#3228](https://github.com/finos/common-domain-model/pull/3228)

_Backward-incompatible changes_

This release contains changes that are not backward-compatible:
- All references to the attribute `assetIdentifier` on `AssetCriteria` need to be updated as referenced; the new attribute is `asset`.

# _Mapping Update - InterestRateForwardDebtPriceMappingProcessor updated to handle 'Percentage' quoteUnits_

_Background_
Expand All @@ -15,3 +41,4 @@ _Review directions_
In Rosetta, select the Textual Browser and inspect each of the changes identified above.

The changes can be reviewed in PR: [#3242](https://github.com/finos/common-domain-model/pull/3242)

11 changes: 7 additions & 4 deletions docs/eligible-collateral-representation.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,13 +220,13 @@ type AssetCriteria:
agencyRating AgencyRatingCriteria (0..*)
maturityType MaturityTypeEnum (0..1)
maturityRange PeriodRange (0..1)
assetIdentifier AssetIdentifier (0..*)
specificAssets Asset (0..*)
collateralTaxonomy CollateralTaxonomy (0..*)
domesticCurrencyIssued boolean (0..1)
listing ListingType (0..1)

condition AssetCriteriaChoice:
optional choice collateralAssetType, collateralTaxonomy, assetIdentifier
optional choice collateralAssetType, collateralTaxonomy, specificAssets
```

- `collateralAssetType` Represents a filter based on the asset product
Expand All @@ -244,8 +244,11 @@ type AssetCriteria:
or original maturity.
- `maturityRange` Represents a filter based on the underlying asset
maturity.
- `productIdentifier` Represents a filter based on specific instrument
identifiers (e.g. specific ISINs, CUSIPs etc)
- `specificAssets` Represents a filter based on specific assets which
are acceptable as collateral (e.g. specific securities, loans, equities,
commodities or other assets etc). Assets may be defined using the
`Asset` data type, including by reference to an identifier such
as ISIN, CUSIP, etc.
- `collateralTaxonomy` Specifies the collateral taxonomy, which is
composed of a taxonomy value and a taxonomy source.
- `domesticCurrencyIssued` Identifies that the Security must be
Expand Down
10 changes: 5 additions & 5 deletions rosetta-source/src/main/rosetta/product-collateral-type.rosetta
Original file line number Diff line number Diff line change
Expand Up @@ -181,20 +181,20 @@ type AssetCriteria: <"Represents a set of criteria used to specify eligible coll
agencyRating AgencyRatingCriteria (0..*) <"Represents an agency rating based on default risk and creditors claim in event of default associated with specific instrument.">
maturityType MaturityTypeEnum (0..1) <"Specifies whether the maturity range is the remaining or original maturity.">
maturityRange PeriodRange (0..1) <"Represents a filter based on the underlying asset maturity.">
assetIdentifier AssetIdentifier (0..*) <"Represents a filter based on specific instrument identifiers (e.g. specific ISINs, CUSIPs etc).">
specificAssets Asset (0..*) <"Represents a filter based on specifically identified assets (eg certain securities, loans, or commodities, etc), including using source identifiers such as CUSIP or ISIN.">
collateralTaxonomy CollateralTaxonomy (0..*) <"Specifies the collateral taxonomy,which is composed of a taxonomy value and a taxonomy source.">
domesticCurrencyIssued boolean (0..1) <"Identifies that the Security must be denominated in the domestic currency of the issuer.">
listing ListingType (0..1) <"Specifies the exchange, index or sector specific to listing of a security.">

condition AssetCriteriaChoice: <"If any are specified, only one of AssetType, CollateralTaxonomy or Asset should exist.">
optional choice collateralAssetType, collateralTaxonomy, assetIdentifier
optional choice collateralAssetType, collateralTaxonomy, specificAssets

type ListingType: <"Specifies a filter based on an underlying corporate financial official listing defined at a stock exchange.">
exchange string (0..1) <"Represents a filter based on the Primary Stock Exchange facilitating the listing of companies, exchange of Stocks, Exchange traded Derivatives, Bonds, and other Securities expressed in ISO standard 10383.">
exchange string (0..*) <"Represents a filter based on the Primary Stock Exchange facilitating the listing of companies, exchange of Stocks, Exchange traded Derivatives, Bonds, and other Securities expressed in ISO standard 10383.">
[metadata scheme]
sector string (0..1) <"Represents a filter based on an industry sector defined under a system for classifying industry types such as Global Industry Classification Standard (GICS) and North American Industry Classification System (NAICS)">
sector string (0..*) <"Represents a filter based on an industry sector defined under a system for classifying industry types such as Global Industry Classification Standard (GICS) and North American Industry Classification System (NAICS)">
[metadata scheme]
index Index (0..1) <"Represents a filter based on an index that measures a stock market, or a subset of a stock market.">
index Index (0..*) <"Represents a filter based on an index that measures a stock market, or a subset of a stock market.">

type EligibleCollateralSpecificationInstruction:
[rootType]
Expand Down

0 comments on commit 4e0a19c

Please sign in to comment.