Skip to content

Releases: finos/common-domain-model

2.19.2

03 Dec 07:04
Compare
Choose a tag to compare

ISDA Create Projection

What is being released

  • Bug Fix - small bug related to the Projection mapping of CDM type CustodyArrangements for CsaInitialMargin2016NewYorkLaw documents.

Review Directions

In the Projection Panel in Rosetta Core, see:

  • Drag and drop any ISDA Create Initial Margin 2016 NY Law CDM document and will now be projected into JSON.

2.19.1

02 Dec 08:11
Compare
Choose a tag to compare

ISDA Create Ingestion

What is being released

  • ISDA_Create_1_0 synonyms added to increase the Ingestion mapping coverage of CDM types MinimumTransferAmount, Threshold and PartyInformation.

Review Directions

In the Ingestion Panel, see:

  • ISDA-Create > any file, and see that the MinimumTransferAmount, Threshold and PartyInformation fields are now mapped.

ISDA Create Projection

What is being released

  • Projection mapping coverage added for CDM types MinimumTransferAmount, Threshold PartyInformation and CsaInitialMargin2016NewYorkLaw.

Review Directions

In the Projection Panel, see:

  • Drag and drop any ISDA Create Initial Margin 2016 NY Law CDM document and will now be projected into JSON.

2.18.0

27 Nov 19:08
80debc3
Compare
Choose a tag to compare

Quantity and Price Refactoring - Initial Use Case: FX

What is being released

This is a follow-on from the quantity refactoring stream, which is now supplemented by a refactoring of the price concept too. In essence both the quantity and price are abstracted away from the contractual product definition, and positioned alongside it in either the contract and execution.

The refactoring is driven from the initial use case of representing FX products, starting with simple FX (spot and forward).

The changes aim at introducing the new price concept as well as furthering the clean-up of the quantity concept, following feedbacks received in the WG:

  • Introducing the PriceNotation type, similar to QuantityNotation, which is a generic type designed to capture different styles of prices. At this point only the CashPrice and ExchangeRate price styles have been represented, with a view to augment that list over time.
  • Introducing the AssetIdentifier type, which is both used in QuantityNotation and PriceNotation to uniquely identify the asset being quantified or priced.
  • Removing the QuantityTypeEnum and PriceTypeEnum types and corresponding quantityNotationTag attribute, which are now redundant since the type can be inferred from the assetIdentifier attribute.
  • Mapping of assetIdentifier attribute for currency and equity types, both outside the product (in the QuantityNotation) and inside the product (in the ResolvablePayoutQuantity). This allows, for instance, to uniquely identify where to position quantities in the legs of a XC Swap or in the underlyer of an Equity Swap.
  • Mapping of exchangeRate attribute in the PriceNotation object for (simple) FX products. The price attributes have now been extracted away from the FX product definition.
  • Mapping of options premium and other cash payment components as part of the cashPrice for contractual products.
  • Positioning of the price and contractualPrice attributes under the Execution / Contract objects, and unification of the price attribute in the former for both cash and contractual products, with the specialisation handled by the PriceNotation.
  • Plus some clean-up related to those changes.

This is only an initial implementation of the price refactoring and further work will be required to solidify the implementation for simple FX products scope first, then tackle more complex FX product (like options), and then move on to other product types.

Review Directions

In the textual Browser in the CDM Portal, see:

  • QuantityNotation and PriceNotation types and their use of the assetIdentifier attribute
  • Contract now shows all three contractualProduct, contractualQuantity and contractualPrice positioned side by side.
  • Execution shows the price and product attributes, generically across product types. Note that the quantity and executionQuantity still need to be unified.

In the Ingestion Panel, see:

  • Products > Rates > any XC Swap, and see that the currency has been kept as assetIdentifier as part of the quantity at the individual leg level
  • Products > Equity, and see that the asset identifier is now positioned in the contractualQuantity
  • Products > Rates > any Swaption, and see that the premium is now positioned as part of the contractualPrice.

Further synonym syntax consistency - hint, meta and mapper

  • Following restructuring of the synonym syntax to use quoted elements for both path and value, other synonym components such as hint, meta and mapper have been migrated to be quoted for consistency.

Review Directions

  • All synonyms now have consistent syntax. An example of the change is in the synonyms in the type BusinessEvent.

2.17.1

22 Nov 08:08
81a7c91
Compare
Choose a tag to compare

What is being released

  • Infrastructure change to support ingestion of ISDA Create in Rosetta Core
  • Bug fix of mapped internal paths for ingested JSON files.

2.16.0

19 Nov 17:35
81a7c91
Compare
Choose a tag to compare

Addition of WorkflowEventState and new ClearedTrade event qualification

What is being released

The isEvent ClearedTrade definition has been update as part of the Clearing process in the CDM. It is now defined by the termination of a contract (alpha) and an execution and contract formation of the beta and gamma with a party role of ClearingOrganisation.

The new WorkflowEventState type is where the status of the clearing process will be held (i.e. Accepted, Rejected). The type EventWorkflow has been renamed to WorkflowEventState so that it is not confused with the EventWorkflow type.

Review direction

Search for isEvent ClearedTrade to see the definition of ClearedTrade.
Navigate to WorkflowEvent and see the last attribute to see the usage of WorkflowEventState.

2.15.0

15 Nov 12:10
24be2da
Compare
Choose a tag to compare

CDM to ISDA Create Projection

What is being released

Infrastructure work to support the projection from CDM into ISDA Create JSON documents. Initial projection service implementation and a simple mapping class support the projection of 'LegalAgreement CDM objects for English Law. Further mapping classes will be added soon.

Bug Fix This is a fix that will prevent incomplete sequence sample files from being generated. These files are generated for use within Rosetta Core Instance Viewer for seeding the visualisation with sample data.

Review direction

The projection functionality will be made available in Rosetta Core, and linked from CDM Portal, where users can drag and drop CDM JSON files in, which will be projected into ISDA Create documents and displayed as JSON.

2.14.1

14 Nov 14:39
d1cfa09
Compare
Choose a tag to compare

Introduce the concept of Workflow Event

What is being released

WorkflowEvent is a higher-level concept on top of BusinessEvent (and contains it), to be used by implementors to build their own workflow rule-book that eventually leads to a state-transition (as expressed in the BusinessEvent).

  • Renamed the type Event to WorkflowEvent
  • Positioned the BusinessEvent type to be an attribute of the new WorkflowEvent
  • Renamed the Rosetta_Workbench synonym to Workflow_Event

Event Sequence Sample Testing event sequence sample files are located in the CDM codebse and used to generate visualisations in CDM Portal. These files will now be automatically tested to ensure that they are valid sueqences at the CDM Portal build time. This will ensure that they will allways be compatible with any model changes that are made.

Review direction

Visit the ISDA CDM Portal and navigatge to WorkflowEvent`.

2.13.3

12 Nov 23:54
8ec358a
Compare
Choose a tag to compare

CDM Portal - Introductory Video

What is being released

As part of on-going improvement, visual material is added to facilitate understanding of ISDA CDM and its supporting infrastructure. In this release an introductory video is added to the Home Page of the CDM Portal that explains the main features in the ISDA CDM and how to make use of them.

Additionally, the DerivHack 2019 Tile has been removed.

Review direction

Visit the ISDA CDM Portal to find the video on the Home Page.

2.13.2

12 Nov 13:32
68a23e7
Compare
Choose a tag to compare

Syntax Upgrade - Consistency across Synonym syntax

What is being released

As part of on-going improvements, the Rosetta syntax has been upgraded to consolidate language features. This work aims to simplify the syntax needed when contributing to the CDM. This will become increasingly important as the number of CDM contributors increase and as CDM contributions starting coming from a variety of sources.

This is the fifth release in a series of that will cover the scope described in the Rosetta Syntax Upgrade Wiki[1].

In this release, the Synonym syntax used on types and enums have been consolidated to bring consistency. All Synonym syntax now follow a single set of grammar rules and are represented by a single meta-model (Ecore) for each of code generation. An enumeration of changes below:

  1. Synonym Values, Synonym Path Values should both be inside double-quotes " ... "
  2. All model paths are represented with the arrow syntax ->. This applies to:
    1. CDM model attribute paths i.e. Event -> party -> assignedIdentifier;
    2. Enumeration values i.e. PartyRoleEnum -> Seller;
    3. Synonym path values i.e. [synonym DTCC_11_0 value "OTC_RM" path "Header", "OTC_Matching" path "Body" set when "Header->OTC_RM->Manifest->TradeMsg->TransType" = "Trade”]

For readability, auto-formatting feature was added to the new Syntax such that all CDM files and future contributions will have a consistent style in terms of white space i.e. new-lines, spaces and indentation.

This release also includes the following, related Bug Fix. Support was added to the as-key keyword such that it can operate on attributes with multiple cardinality. CDM will be updated to make use of this bug fix in the following releases.

Review direction

Make use of the Textual Browser Tile to inspect the new model syntax.

[1] https://github.com/REGnosys/rosetta-dsl/wiki/Rosetta-Syntax-Upgrade

2.12.1

08 Nov 16:33
f219396
Compare
Choose a tag to compare

What is being released

  • Added new type called BusinessEvent to capture just the collection of Primitive Events.
  • Changed the cardinality of BusinessEvent.primative from 1..1 to 1..*.
  • Changed the cardinality of all attributes of PrimitiveEvent from 0..* to 0..1 and introduced a one-of constraint.
  • Moved all primitive types to their own file for ease of navigating the model files.
  • Renamed primitives to have consistent naming convention (e.g. Inception changed to InceptionPrimitive)
  • Updated all qualifications to work with the primitives cardinality change.

Review direction

View the BusinessEvent type and PrimitiveEvent type in the CDM Portal to see the changes.