Releases: finos/common-domain-model
2.19.2
ISDA Create Projection
What is being released
- Bug Fix - small bug related to the Projection mapping of CDM type
CustodyArrangements
forCsaInitialMargin2016NewYorkLaw
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
ISDA Create Ingestion
What is being released
ISDA_Create_1_0
synonyms added to increase the Ingestion mapping coverage of CDM typesMinimumTransferAmount
,Threshold
andPartyInformation
.
Review Directions
In the Ingestion Panel, see:
- ISDA-Create > any file, and see that the
MinimumTransferAmount
,Threshold
andPartyInformation
fields are now mapped.
ISDA Create Projection
What is being released
- Projection mapping coverage added for CDM types
MinimumTransferAmount
,Threshold
PartyInformation
andCsaInitialMargin2016NewYorkLaw
.
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
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 toQuantityNotation
, which is a generic type designed to capture different styles of prices. At this point only theCashPrice
andExchangeRate
price styles have been represented, with a view to augment that list over time. - Introducing the
AssetIdentifier
type, which is both used inQuantityNotation
andPriceNotation
to uniquely identify the asset being quantified or priced. - Removing the
QuantityTypeEnum
andPriceTypeEnum
types and correspondingquantityNotationTag
attribute, which are now redundant since the type can be inferred from theassetIdentifier
attribute. - Mapping of
assetIdentifier
attribute for currency and equity types, both outside the product (in theQuantityNotation
) and inside the product (in theResolvablePayoutQuantity
). 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 thePriceNotation
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
andcontractualPrice
attributes under theExecution
/Contract
objects, and unification of theprice
attribute in the former for both cash and contractual products, with the specialisation handled by thePriceNotation
. - 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
andPriceNotation
types and their use of theassetIdentifier
attributeContract
now shows all threecontractualProduct
,contractualQuantity
andcontractualPrice
positioned side by side.Execution
shows theprice
andproduct
attributes, generically across product types. Note that thequantity
andexecutionQuantity
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
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
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
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
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
toWorkflowEvent
- Positioned the
BusinessEvent
type to be an attribute of the newWorkflowEvent
- Renamed the
Rosetta_Workbench
synonym toWorkflow_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
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
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 type
s and enum
s 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:
- Synonym Values, Synonym Path Values should both be inside double-quotes
" ... "
- All model paths are represented with the arrow syntax
->
. This applies to:- CDM model attribute paths i.e.
Event -> party -> assignedIdentifier
; - Enumeration values i.e.
PartyRoleEnum -> Seller
; - 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”]
- CDM model attribute paths i.e.
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
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.