forked from finos/common-domain-model
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into feature/remove-rosetta-project
- Loading branch information
Showing
835 changed files
with
295,006 additions
and
294,791 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,43 @@ | ||
# _Event Model - FpML Synonym Mappings for Ingested Events_ | ||
# _Product Model - Refactoring of Extraordinary Events and Substitution Provisions_ | ||
|
||
_Background_ | ||
|
||
This release introduces mapping support for ingested FpML messages representing events, in alignment with the recommendation of the CDM Architecture and Review Committee to capture the event under the intent flag. | ||
The description and determination of extraordinary events and substitution provisions do not pertain to economic terms of financial products. They should be positioned within the legal agreement that conditions the performance of the transaction. | ||
|
||
Accordingly, the representation of legal `Agreement` needs to be enhanced with additional terms at transaction level with `TransactionAdditionalTerms`. This new data type will encompass the data effectively used to draft OTC Trade Long Form Confirmations. For each asset class the data set will describe: | ||
1. `ExtraordinaryEvents`, as previously an attribute of `EconomicTerms`, | ||
2. `DeterminationRolesAndTerms`, representing the roles of the parties determining the occurrence of the extraordinary events | ||
3. UnderlierSubstitutionProvision, describing the terms of a substitution of the underlier(s) | ||
|
||
The `EquityAdditionalTerms` was designed per the ISDA Equity Derivatives Definitions 2002. The `foreignExchangeAdditionalTerms` has been released mainly per the 1998 FX and Currency Option Definitions. The `commoditiesAdditionalTerms`, `interestRateAdditionalTerm`, `digitalAssetAdditionalTerms` have been created as placeholder strings, until related terms are digitized as well in CDM. | ||
|
||
_What is being released?_ | ||
|
||
The release enhances the FpML mapping coverage for terminating events, extending the mapping of the CDM `intent` flag with the following values of the `EventIntentEnum`: `NOVATION`, `COMPRESSION`, `OPTION_EXERCISE`, `ALLOCATION` and `CREDIT_EVENT`. | ||
The description of Extraordinary events has been abstracted from the economic terms and the `TransactionAdditionalTerms` data type has been added as a new attribute of `Agreement`, with the following attributes: | ||
1. `equityAdditionalTerms` – attributes : extraordinaryEvents (prior existing type, removed from EconomicTerms), `determinationTerms and substitutionProvisions | ||
2. `foreignExchangeAdditionalTerms` – attributes : `disruptionEvents` and `determinationTerms` | ||
3. `commoditiesAdditionalTerms` – string type (“placeholder” object) | ||
4. `interestRateAdditionalTerms` – string type (“placeholder” object) | ||
5. `digitalAssetAdditionalTerms` – string type (“placeholder” object) | ||
|
||
`SubstitutionProvisions` is an optional item, mainly made of a role definition by re-using again `CounterpartyRoleEnum` with label `whoToSubstitute`, and the description of the substitution provisions as such is of type string. | ||
|
||
A new generic type `Clause` has been introduced to document digitally bespoke Terms, that cannot be modelled for now in CDM but are critically needed to foster CDM implementation. | ||
This type has been used for the following new attribute: | ||
1. `ExtraordinaryEvents` -> `additionalBespokeTerms` | ||
2. `ExtraordinaryEvents` -> `additionalDisruptionEvents` -> `additionalBespokeTerms` | ||
3. `UnderlierSubstitutionProvision` -> `substitutionBespokeTerms` | ||
|
||
The descriptions of certain existing data types have been simplified to remove the overlaps with existing ISDA documents, for example `AdditionalDisruptionEvents`. | ||
|
||
The values of the Enum `ContractualDefinitionsEnum` have been aligned with the title of the documents they are referring to. The corresponding FpML synonym mappings have been adjusted. | ||
|
||
References to the Emerging Markets Traders Association and the Foreign Exchange Committee have been added to the `LegalAgreementPublisherEnum`. | ||
|
||
Furthermore, it introduces mapping coverage to facilitate the ingestion of FpML messages representing Option Exercises. | ||
The FpML synonym mapping for extraordinary events and sub-components have been removed temporarily and will be reintroduced in a second part. | ||
|
||
_Review directions_ | ||
|
||
In the CDM Portal, select the Textual Browser, navigate to the file cdm/mapping/fpml/confirmation/workflowstep/synonym, and inspect the changes identified above. | ||
In the CDM Portal, select the textual view or the graphical representation and inspect the structural definitions of the data type mentioned above. | ||
|
||
PR: https://github.com/finos/common-domain-model/pull/2376 | ||
PR: https://github.com/finos/common-domain-model/pull/2435 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,27 +4,11 @@ title: Development Guidelines | |
|
||
# Governance | ||
|
||
The CDM is an open source project with a governance framework that | ||
regulates any contribution to its on-going development. A three-tiered | ||
committee structure pilots the development of the CDM: | ||
|
||
1. The *CDM Executive Committee* is accountable for setting the | ||
strategy, promoting adoption of the standard, and overseeing the | ||
activity of the Working Groups and the Architecture & Review | ||
Committee. Members are senior executives appointed by the FINOS Board | ||
considering their strategic influence in the decision making at | ||
their firm and active contribution to the development of the CDM. | ||
2. The *CDM Architecture and Review Committee* is responsible for | ||
specifying the technical and modelling guidelines and reviewing and | ||
approving proposals for new modelling components introduced by the | ||
CDM Working Groups. Members include subject matter experts, senior | ||
technologists, as well as practitioners in business process, legal | ||
documentation, and technical modelling. | ||
3. The *CDM Working Groups* are assembled per subject matter or use | ||
cases to actively develop and implement concretely targeted elements | ||
of the CDM. Participants include FINOS members and non-members from | ||
the CDM user community who commit time and effort for the | ||
development and implementation of the CDM as a global standard. | ||
The Common Domain Model is an open standard project hosted under FINOS, the [Fintech Open Source Foundation](https://community.finos.org/docs/governance/Standards-Projects), starting in February 2023. | ||
|
||
The standard is developed through the [Community Specification](https://community.finos.org/docs/governance/#open-standard-projects) open governance process, and underlying code assets are released under the [Community Specification License 1.0](https://github.com/finos/standards-project-blueprint/blob/master/governance-documents/4._License.md). For versions before 4.0.0 and other license details, check [Notice.md](https://github.com/finos/common-domain-model/blob/master/NOTICE.md). | ||
|
||
For a more detailed overview of the existing Working Group and standard Participants, Editors and Maintainers, please see [Governance.md](https://github.com/finos/standards-project-blueprint/blob/master/governance-documents/5._Governance.md). For more information on discussions and announcements subscribe to our mailing list using the following [link](mailto:[email protected]). | ||
|
||
Committee members or any user of CDM within the community can propose | ||
amendments in accordance with the following process: | ||
|
@@ -43,6 +27,51 @@ reviewing, revising or extending the proposal. | |
Once approved, the amendment will be scheduled to be merged with the | ||
CDM's main code branch by the CDM Maintainers. | ||
|
||
### Roles | ||
The CSL specifies [three different contribution roles](https://github.com/finos/standards-project-blueprint/blob/master/governance-documents/5._Governance.md#1roles) for each specific Working Group: | ||
|
||
* Maintainers - those who drive consensus within the working group | ||
* Editors - those who codify ideas into a formal specification | ||
* Participants - anyone who provides contributions to the project under a signed CSL CLA. A great way to sign the CLA is to open a Pull Request to add your name to the [Participants.md](https://github.com/finos/standards-project-blueprint/blob/master/governance-documents/participants.md) file. | ||
|
||
# Working Groups | ||
|
||
**2.1.0 Any Participant may propose a Working Group.** Proposals for the formation of a new Working Group are made by completion of a new [new CDM Working Group](https://github.com/finos/common-domain-model) template, clearly stating the objectives, deliverables and committed maintainers/editors for the proposed Working Group. | ||
|
||
**2.1.1 Approval of Specification Changes by Working Groups.** Participants of each Working Group approve the “proposed” changes from that working group; the “approved changes” within a given Working Group will be brought to the Steering Working Group as a proposed “Pre-Draft” contribution. | ||
|
||
* Participants of the CDM Steering Working Group approve DRAFT specification releases. | ||
* Maintainers of the CDM Steering Working Group will approve merging of the proposed “Pre-Draft” changes (coming from other Working Groups or otherwise from community) into the repo. | ||
|
||
**2.2.0 CDM Steering Working Group.** The CDM Steering Working Group will review and approve completed Working Group formation proposals per 2.1.0. | ||
|
||
**2.2.1 CDM Steering Working Group Purpose:** The Steering Working Group is responsible for developing the technical and modelling guidelines, setting and revising the project’s strategic roadmap, and for vetting proposed changes. The CDM Steering Working Group may approve or establish additional working groups. | ||
|
||
**2.2.2 Appointment of CDM Steering Working Group Maintainers:** | ||
|
||
* At the launch of the project, up to two initial Maintainers will be nominated by ICMA, ISDA, and ISLA (collectively, the “trade associations”). | ||
* Additional CDM Steering Group Maintainers may be proposed by Participants. Proposed maintainers will be approved via consensus of the Participants and with agreement of existing Maintainers, and should meet the following criteria: | ||
* Proven experience in data modelling and/or software development in financial markets. | ||
* In-depth understanding and proven track record of contribution to the CDM, as well as other data standards (such as ISO) and messaging protocols (such as FIX, FpML or Swift). | ||
|
||
**2.2.3 CDM Steering Working Group Decision Making:** As outlined in [governance.md](https://github.com/finos/standards-project-blueprint/blob/master/governance-documents/5._Governance.md#2decision-making), The CDM Steering Working Group will operate by consensus-based decision-making. Maintainers are responsible for determining and documenting when consensus has been reached. In the event a clear consensus is not reached, Maintainers may call for a simple majority vote of Participants to determine outcomes. | ||
|
||
**2.2.4 CDM Steering Working Group Appointment of the Editor(s):** Editors will review and implement pull requests not expressed in code, test and release new functionalities, resolve bugs and implement approved improvements. | ||
|
||
## CDM Design Principles | ||
|
||
Contributions to the CDM have to comply with the following set of design principles that include the following concepts: | ||
|
||
* **Normalisation** through abstraction of common components | ||
* **Composability** where objects are composed and qualified from the bottom up | ||
* **Mapping** to existing industry messaging formats | ||
* **Embedded logic** to represent industry processes | ||
* **Modularisation** into logical layers \ | ||
|
||
## CDM development guidelines | ||
|
||
The CDM Development Guidelines are defined by the Steering Working Group. The full set of CDM development guidelines can be found [here](https://cdm.docs.rosetta-technology.io/source/contribution.html). | ||
|
||
## Version Management | ||
|
||
The CDM is developed, built and released using standard software | ||
|
Oops, something went wrong.