Skip to content

Commit

Permalink
Merge branch 'master' into feature/remove-rosetta-project
Browse files Browse the repository at this point in the history
  • Loading branch information
Chuks-Ajeh authored Oct 11, 2023
2 parents c7a7966 + a0cb888 commit c331d9a
Show file tree
Hide file tree
Showing 835 changed files with 295,006 additions and 294,791 deletions.
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,17 @@ Changes to the CDM may be proposed by CDM Working Groups, individual corporate c

**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:**
**2.2.2 Appointment of CDM 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:
* Maintainers can be of one of two types: Organisational Representative (OrgRep) or Private individual. Private individuals are maintainers in their own right, acting on their own volition and not representing another legal entity. OrgReps are appointed by their organisation, acting on behalf and for that organisation. In this case it is the organisation which will be subject to any vote on maintainer membership. Organisations are recommended to appoint at least two representatives for coverage purposes. Those representatives can be changed at any time, without any voting process by other maintainers or community Participants, by the organisation in order to cater for staff changes.
A list of Maintainers along with their type will be kept visible within the governance documentation provided on the repo and mini-site.

* Additional CDM Maintainers may be proposed by Participants. Proposed new Private individuals or new organisations 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).

*Private individuals and Organisations may choose to rescind their maintainership at will but must notify the other maintainers. OrgReps may be replaced by their organisations at any time. Any entity who has chosen to rescind their maintainership, but then at a later time would like to re-join the maintainer team, is subject to the voting process outlined above. Additionally any OrgRep who has been replaced by their organisation, but wishes to remain a maintainer as a Private Individual will also need to go through the voting process

**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.
Expand Down
38 changes: 32 additions & 6 deletions RELEASE.md
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
21 changes: 10 additions & 11 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,20 @@
## International Swaps and Derivatives Association (ISDA)
* Enhancements to CDM to support Digital Regulatory Reporting (DRR):
- Exchange traded derivatives (ETD)
- ETD transactions (new type of product for CDM)
- Target for initial contribution c. late July/early Aug 2023
- ETD transactions (new type of product for CDM) - COMPLETED
- ETD positions
- Target for initial contribution c. late Aug 2023
- Commodity derivatives
- Target for initial contribution on position state- MVP for EMIR Reporting by late Oct
- Model enhancement to state transition of a position to support position reporting- November
- Commodity derivatives- MVP for EMIR Reporting by late Oct
- Support for financially settled and physically settled commodity derivatives
- Mostly implemented as enhancements to CommodityPayout
- Target for initial contribution c. Sept 2023
- Valuation and Collateral
- Enhancements to existing models and new types
- Target for initial contribution c. Sept 2023
- Trade Valuation
- Enhancements to existing models and new types- COMPLETED
- Representation of trade valuation report event- TBC, Potential for November
- Margin Reporting- Completed for reporting use cases
- Additional new features may also needed:
- dynamic code list validation
- min/max on quantity schedules
* On-going support and maintenance of CDM to support ISDA needs
- Minor enhancements to collateral model
- Possible minor enhancements to the Legal Agreement model to support additions to internal ISDA models for Credit Support Annex (CSA) versions and elections which are built on CDM
- Timing on these minor enhancements above is TBD
- Possible minor enhancements to the Legal Agreement model to support additions to internal ISDA models for Credit Support Annex (CSA) versions and elections which are built on CDM
- Estimate for contribution of these is Q1 2024
8 changes: 3 additions & 5 deletions codefresh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -248,12 +248,10 @@ steps:
- bash -c "${{GPG_IMPORT_COMMAND}}"
- cd src/generated/excel
- mv model.xlsx encoded.model.xlsx
- base64 -d encoded.model.xlsx > model.xlsx
- base64 -d encoded.model.xlsx > cdm-excel-${{RELEASE_NAME}}.xlsx
- rm encoded.model.xlsx
- cd ../
- tar -cvzf cdm-excel-${{RELEASE_NAME}}.zip excel
- ${{GEN_DEPLOY_POM_SCRIPT}} cdm-excel ${{RELEASE_NAME}} zip
- mvn gpg:sign-and-deploy-file ${{MVN_DEPLOY_FILE_FLAGS}} -Dfile=cdm-excel-${{RELEASE_NAME}}.zip -DgroupId=org.finos.cdm -DartifactId=cdm-excel -Dversion=${{RELEASE_NAME}} -DpomFile=cdm-excel-${{RELEASE_NAME}}.pom
- ${{GEN_DEPLOY_POM_SCRIPT}} cdm-excel ${{RELEASE_NAME}} xlsx
- mvn gpg:sign-and-deploy-file ${{MVN_DEPLOY_FILE_FLAGS}} -Dfile=cdm-excel-${{RELEASE_NAME}}.xlsx -DgroupId=org.finos.cdm -DartifactId=cdm-excel -Dversion=${{RELEASE_NAME}} -DpomFile=cdm-excel-${{RELEASE_NAME}}.pom

NotifySlackOnFail:
stage: 'finalise'
Expand Down
9 changes: 1 addition & 8 deletions docs/cdm-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,7 @@ the development of the CDM in open source.

## Scope

The product scope of the CDM includes OTC derivatives, cash securities,
securities financing, and commodities.
The CDM covers OTC derivatives, cash securities, securities financing, commodities, and can expand to include other Capital Markets products and Asset Classes.

# CDM Components

Expand Down Expand Up @@ -174,9 +173,3 @@ file in the CDM jar.

For more details, please follow the
[CDM Java Distribution Guidelines](/docs/cdm-guidelines).

---
**Note:**
These guidelines are intended as a technical documentation for
developers to make use of the Java distribution in their implementation.
---
71 changes: 50 additions & 21 deletions docs/contribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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
Expand Down
Loading

0 comments on commit c331d9a

Please sign in to comment.