Skip to content

Commit 5a416a5

Browse files
Merge branch 'rosetta-models:master' into master
2 parents 06066b2 + ccb01ec commit 5a416a5

File tree

1,016 files changed

+34871
-30157
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,016 files changed

+34871
-30157
lines changed

CDM Overview.pptx.pdf

-5.4 MB
Binary file not shown.

GOVERNANCE.md

Lines changed: 199 additions & 0 deletions
Large diffs are not rendered by default.

RELEASE.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
# _CDM Model - Modification to product condition_
1+
# _Infrastructure - Dependency Update_
22

33
_What is being released?_
44

5-
Modified condition for `FpML_cd_30`
6-
- Addition of clause to allow `adjustedDate` check
5+
This release updates the `DSL` dependency.
76

8-
Modified condition for `Floating Rate` Option.
9-
- Addition of clause to allow posting of supplementary attribute `IndexReferenceInformation`
7+
Version updates include:
8+
- `DSL` 9.14.0: Support for accessing meta features after a deep feature call. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.14.0
109

1110
_Review directions_
1211

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

ROADMAP.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,19 @@
33
![](.github/cdm-roadmap-2024-1.png)
44

55
![](.github/cdm-roadmap-2024-2.png)
6+
7+
# 2024-5 Release schedule
8+
![CDM Release Guidelines Task Force Summary - July 2 2024](https://github.com/finos/common-domain-model/assets/7291088/9542593d-b63e-4447-8a21-cfec1df65221)
9+
10+
Release States
11+
===============
12+
Release states are defined as follows:
13+
* Development – versions that include new designs from the “main” branch that are still under development. All tests must pass but the model may continue to evolve before being released into production.
14+
* Production - the "latest and greatest" stable version that ideally everyone should upgrade to, and where enhancements compatible with the existing models will be included. We should aim for a release to be in Production for around a year if we can, to alleviate upgrade costs to consumers.
15+
* Maintenance – when a new Production version is released then the current Production will go into Maintenance. Only critical bug fixes and changes related to critical regulatory requirements should be ported to Maintenance releases. Otherwise, functional changes would not be ported to maintenance releases. The intention would be to have only 1 version at a time in maintenance, so each time a new Production version drops, the previous Maintenance release would go to Unsupported.
16+
* Unsupported/End of Life – There will be no bug fixes or other support for the version. TBD: We may perform security scans on some more recent unsupported versions and report any identified vulnerabilities, but will not perform security remediations.
17+
18+
19+
At any point we want a maximum of 1 centrally supported development version, 1 production version, and one maintenance version.
20+
21+

codefresh.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ steps:
125125
python3 -m pip wheel --no-deps --only-binary :all: --wheel-dir ./rosetta-source/target/classes/cdm/python ./rosetta-source/target/classes/cdm/python
126126
- python3 -m pip install ./rosetta-source/target/classes/cdm/python/python_cdm-*-py3-none-any.whl
127127
- python3 -m pip install pytest
128-
- pytest -p no:cacheprovider ./cdm-python/test/
128+
# - pytest -p no:cacheprovider ./cdm-python/test/
129129

130130
DeployDaml:
131131
stage: 'build'

docs/CDM-Collateral-WG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
title: CDM Collateral Working Group
33
---
44

5+
## Common Domain Model Collateral Start-Up Guide
6+
7+
ISDA has also launched the Get Started with the CDM for Collateral Guide! You can now access a wealth of resources and tutorials on CDM for collateral management on the [CDM-Collateral Initiatives page](https://www.isda.org/2023/02/16/isda-collateral-initiatives/).
8+
59
## Overview
610

711
The Collateral Working Group plays a pivotal role in the CDM ecosystem by providing a robust framework for harmonizing data and processes related to collateral flows and documentation.

docs/cdm-guidelines.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ needs to be added to the project pom.xml:
4545

4646
> _NOTE:_ All current CDM dependencies are available in Maven Central.
4747
> For CDM releases prior to version 4.0.0 the dependencies can be found in the ISDA repository: <artifactregistry://europe-west1-maven.pkg.dev/production-208613/isda-maven>
48-
> Add the following two snippets to the `<build>` and `<repositories>` sections of your project `pom.xml`:
48+
> Add the following two snippets to the `<build>` and `<repositories>` sections of your project `pom.xml`.
49+
> You can also use the `https` protocol instead of `artifactregistry`.
50+
> If you do this then the `<build>` extension is not necessary.
4951
>
5052
> ``` xml
5153
>

docs/cdm-materials.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
title: Common Domain Model Materials
3+
---
4+
5+
Explore More Resources and Videos on the Common Domain Model in the [FINOS Resource Center](https://resources.finos.org/category/projects-sigs/common-domain-model-cdm?projects-sigs=common-domain-model-cdm&c=cG9zdDo5OTEwNzc%3D)
6+
7+
## COMMON DOMAIN MODEL IN THE NEWS
8+
### [CDM: data standardisation across the trade lifecycle](https://www.securitiesfinancetimes.com/sltimes/SFT_issue_324.pdf)
9+
10+
SFT examines what comes next on the Common Domain Model project agenda. Read more about the benefits of CDM adoption include reduced reconciliation burdens and lower risk of settlement failures. The CDM available in FINOS as open source, broadening the base of CDM contributors. Future work includes applying CDM to collateral management and further automating processes like collateral calculation and interest processing.
11+
12+
### [Six major banks trial Fragmos Chain in OTC derivatives market](https://www.finextra.com/pressarticle/100503/six-major-banks-trial-fragmos-chain-in-otc-derivatives-market)
13+
14+
Fragmos Chain successfully trialed its innovative post-trade processing platform for OTC derivatives with six major banks, achieving trade confirmations within an average of 6 minutes. The platform's use of R3 Corda's Distributed Ledger Technology and the Common Domain Model ensured seamless interoperability and efficiency, receiving high praise for handling complex trades.
15+
16+
### [Fintech Open-Source Foundation (FINOS) Chosen to Support Community Around Common Domain Model from ISLA, ISDA, ICMA](https://www.crowdfundinsider.com/2022/09/195862-fintech-open-source-foundation-finos-chosen-to-support-community-around-common-domain-model-from-isla-isda-icma/)
17+
18+
In this article, Crowdfund Insider discussed the appointment of FINOS as the host of CDM. Viewed as a milestone in promoting open and common standards in financial markets and praised FINOS for its potential to accelerate the adoption of CDM and bring greater consistency across the industry.
19+
20+
### [FINOS Launches Common Domain Model](https://www.accesswire.com/viewarticle.aspx?id=739516)
21+
22+
In February 2023, FINOS announced the launch of the Common Domain Model, which aims to to become the industry standard for digital regulatory reporting. The CDM streamlines and automates various lifecycle events and processes related to open repos, evergreens, and floating rate repos - ultimately reducing costs and improving sustainability in regulatory compliance by mutualizing regulatory reporting. The journey towards implementing the CDM is a significant step towards real-world industry implementation of digital regulatory reporting and compliance. See the press coverage here securitiesfinancetimes and FINADIUM.
23+
24+
25+
## CDM RESOURCES
26+
### [A discussion of "The Future of the Securities Lending Market: An Agenda for Change"](https://www.finos.org/blog/the-future-of-securities-lending-market)
27+
28+
ISLA published a paper entitled ‘The Future of the Securities Lending Market | An Agenda for Change’ in September 2019, looking at the conjunction of market complexity, technical architecture and regulatory impacts. The conclusion reached was that a transformation was overdue and the solution would be underpinned by common standards.
29+
30+
### [CDM Now Available In Python](https://www.finos.org/blog/cdm-now-available-in-python)
31+
32+
A recent contribution to the CDM project makes it available in the Python programming language for the first time, which will allow a new community of developers to use the CDM in their projects.
33+
34+
### [Common Domain Model into Open Source at FINOS](https://www.finos.org/hubfs/Accepted%20FINOS%20Edits_%20Common%20Domain%20Model%20into%20Open%20Source%20at%20FINOS.docx.pdf)
35+
36+
Read more about CDM's journey into open source, project contribution guidelines, principles, and frequently asked questions.
37+
38+
### [Barclays demonstration of interest rate swap processing using the Common Domain Model (CDM)](https://www.youtube.com/watch?v=LTWn_AWC4F8)
39+
40+
In this recording, Barclays introduces a prototype for processing interest rate swaps using the common domain model. Starting with how the post-trade industry in capital markets has evolved over time, resulting in procedural inefficiencies that are complex, duplicative, and costly to maintain. The common domain model covers processes, events, and data, and Barclays prototype aims to showcase the potential of this new standard in revolutionizing the post-trade industry. 
41+
42+
### [ISLA, ICMA & ISDA Appoint FINOS for CDM Repository](https://www.islaemea.org/press-releases/isla-icma-isda-appoint-finos-for-cdm-repository/)
43+
44+
On Thursday, September 8th, 2022, three leading organizations in the financial industry, International Securities Lending Association (ISLA), International Capital Market Association (ICMA), and International Swaps and Derivatives Association (ISDA), made a major announcement appointing FINOS to provide a repository for the Common Domain Model (CDM) with the aim of fostering growth in the open-source community.
45+
46+
### [2022 Open Source in Finance Forum New York Keynote Panel: Common Domain Model (CDM)](https://resources.finos.org/content/keynote-panel-common-domain-model-cdm/?projects-sigs=common-domain-model-cdm)
47+
48+
At the keynote session of the 2022 Open Source in Finance Forum New York, a panel of industry leaders including Adrian Dale of ISLA, Alan Milligan of ISDA, and Georgina Jarrett, joined moderator Ffion Acland of Goldman Sachs to delve into the exciting topic of trade association collaboration, open sourcing, and the creation of a common domain for the market, built by the market. 
49+
50+
### [Looking Backwards & Forwards at CDM: History of the Common Domain Model…](https://resources.finos.org/content/looking-backwards-forwards-at-cdm-history-of-the-common-domain-model/?projects-sigs=common-domain-model-cdm)
51+
52+
The first portion of the one-hour CDM presentation at the 2022 NYC Open Source in Finance Forum featured a panel of distinguished industry leaders, including Ian Sloyan of ISDA, David Shone of ISLA, Gabriel Callsen of ICMA, and Amy Caruso of ISDA. The panel came together to provide a comprehensive overview of the history of Common Domain Model (CDM) and its evolution. The experts shared their insights on where CDM has come from and where it's headed in the future, offering valuable perspectives on the role of CDM in shaping the future of finance.
53+
54+
### [Implementing CDM: How is it Done, Why is it Beneficial to Financial Markets Infrastructure?](https://resources.finos.org/content/implementing-cdm-how-is-it-done-why-is-it-beneficial-to-financial-markets-infrastructure/?projects-sigs=common-domain-model-cdm)
55+
56+
The second half of the one-hour CDM presentation at the Open Source in Finance Forum (OSFF) in New York was dedicated to exploring the potential of Common Domain Model (CDM) in market infrastructure. A panel of experts, including Jon Nance of Axoni, Dianne Boyle of Symbiont, Sunil Challa of Credit Suisse, and Eleonora Acuna of ISDA, came together to delve into the possibilities of CDM in the real world. They discussed the practical applications and potential of CDM, offering valuable insights into the future of this exciting technology.
57+
58+
### [FINOS on what’s next for CDM and open source trends](https://finadium.com/sfm-interview-finos-on-whats-next-for-cdm-and-open-source-trends/)
59+
60+
On January 11th, 2023, FINADIUM sat down with Gabriele Columbro, the Executive Director at FINOS and General Manager of the Linux Foundation Europe, to discuss the exciting world of open source trends in financial services. During the conversation, Gabriele shared his insights on what to expect in the coming months and years and provided a broad overview of the overarching open source trends in the financial services industry.
61+
62+
### [ISDA Digital Reporting](https://resources.finos.org/content/isda-digital-reporting/?projects-sigs=common-domain-model-cdm)
63+
64+
ISDA's Digital Regulatory Reporting provides a comprehensive solution for translating amended rules into machine-executable open-source code. This allows financial firms to access a standardized interpretation of the requirements and integrate them directly into their systems, streamlining their regulatory reporting processes and reducing the risk of compliance errors. With ISDA's Digital Regulatory Reporting, financial institutions can stay ahead of the regulatory curve and easily implement the latest industry standards and requirements.

docs/cdm-overview.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@ and machine-executable blueprint for how financial products are traded
1515
and managed across the transaction lifecycle. It is represented as a
1616
[domain model](https://olegchursin.medium.com/a-brief-introduction-to-domain-modeling-862a30b38353) and distributed in open source.
1717

18-
For an overview of the Common Domain Model, a comparative analysis with FpML, an exploration of the CDM's historical development and events, as well as insights into its further applications, including its role in the ecosystem and support for smart contract technology, we recommend reviewing the [CDM Overview deck](/pdfs/CDM-Overview.pdf).
18+
For an overview of the Common Domain Model, a comparative analysis with FpML, an exploration of the CDM's historical development and events, as well as insights into its further applications, including its role in the ecosystem and support for smart contract technology, we recommend reviewing the [CDM Overview deck](/pdfs/CDM-Overview.pdf).
19+
20+
ISDA’s Digital Regulatory Reporting (DRR) solution leverages the open-source Common Domain Model (CDM) to convert industry-agreed interpretations of new or amended regulatory reporting rules into clear, machine-executable code. This approach enhances implementation efficiency and reduces costs. Institutions contributing to the development of the ISDA DRR include (but are not limited to) those listed on [ISDA’s Digital Regulatory Reporting Page](https://www.isda.org/isda-digital-regulatory-reporting/).
21+
22+
ISDA has also launched the Get Started with the CDM for Collateral Guide! You can now access a wealth of resources and tutorials on CDM for collateral management on the [CDM-Collateral Initiatives page](https://www.isda.org/2023/02/16/isda-collateral-initiatives/).
23+
24+
If you’re interested in the Common Domain Model (CDM), please complete the [CDM Interest Form](https://www.finos.org/common-domain-model) to join our mailing list. By signing up, you’ll receive updates on CDM initiatives, meeting agendas, and other working group activities.
1925

2026
## Purpose
2127

@@ -186,3 +192,4 @@ file in the CDM jar.
186192

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

docs/common-domain-model.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ In each section, selected examples of model definitions are used as
1818
illustrations to help explain each dimension and include, where
1919
applicable, data samples to help demonstrate the structure.
2020

21-
The CDM is expressed in a language called the Rosetta DSL. All the
21+
The CDM is expressed in a language called the Rune DSL. All the
2222
language components used by the CDM including types, functions and
23-
annotations are described in the [Rosetta DSL Documentation](https://docs.rosetta-technology.io/rosetta/rosetta-dsl/rosetta-modelling-component).
23+
annotations are described in the [Rune DSL Documentation](https://docs.rosetta-technology.io/rosetta/rosetta-dsl/rune-modelling-component).

docs/download.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ the following dependency needs to be added to the project pom.xml:
3535

3636
> _NOTE:_ All current CDM dependencies are available in Maven Central.
3737
> For CDM releases prior to version 4.0.0 the dependencies can be found in the ISDA repository: <artifactregistry://europe-west1-maven.pkg.dev/production-208613/isda-maven>
38-
> Add the following two snippets to the `<build>` and `<repositories>` sections of your project `pom.xml`:
38+
> Add the following two snippets to the `<build>` and `<repositories>` sections of your project `pom.xml`.
39+
> You can also use the `https` protocol instead of `artifactregistry`.
40+
> If you do this then the `<build>` extension is not necessary.
3941
>
4042
> ``` xml
4143
>

docs/event-model.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -285,12 +285,20 @@ type Transfer extends TransferBase:
285285

286286
``` Haskell
287287
type TransferBase:
288-
identifier Identifier (0..*)
289-
[metadata scheme]
290-
quantity NonNegativeQuantity (1..1)
291-
observable Observable (0..1)
292-
payerReceiver PartyReferencePayerReceiver (1..1)
293-
settlementDate AdjustableOrAdjustedOrRelativeDate (1..1)
288+
identifier Identifier (0..*)
289+
[metadata scheme]
290+
quantity NonNegativeQuantity (1..1)
291+
asset Asset (1..1)
292+
payerReceiver PartyReferencePayerReceiver (1..1)
293+
settlementDate AdjustableOrAdjustedOrRelativeDate (1..1)
294+
295+
condition QuantityUnitExists:
296+
if asset -> Cash exists
297+
then quantity -> unit -> currency exists
298+
else if asset -> Commodity exists
299+
then quantity -> unit -> capacityUnit exists
300+
else if asset -> Instrument exists
301+
then quantity -> unit -> financialUnit exists
294302
```
295303

296304
## Primitive Operator {#primitive-event}

docs/home.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Welcome to CDM documentation !
2121
- [Pre-trade Processing](/docs/pre-trade-processing)
2222
* [CDM Java Distribution Guidelines](/docs/cdm-guidelines)
2323
* [Development Guidelines](/docs/contribution)
24+
* [CDM Materials](/docs/cdm-materials)
2425
* [Get Involved](/docs/get-involved)
2526
- [Join the Contribution Review Working Group](/docs/CDM-Contribution-Review-WG)
2627
- [Join the Collateral Working Group](/docs/CDM-Collateral-WG)

docs/process-model.md

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -755,29 +755,30 @@ func ResolvePerformanceObservationIdentifiers:
755755
identifiers ObservationIdentifier (1..1)
756756

757757
alias adjustedFinalValuationDate:
758-
ResolveAdjustableDate( payout -> valuationDates -> finalValuationDate -> valuationDate)
758+
ResolveAdjustableDate( payout -> valuationDates -> finalValuationDate -> valuationDate )
759759

760-
alias valuationDates:
761-
if adjustedDate < adjustedFinalValuationDate then
762-
payout -> valuationDates -> interimValuationDate
763-
else
764-
payout -> valuationDates -> finalValuationDate
760+
alias valuationDates:
761+
if adjustedDate < adjustedFinalValuationDate
762+
then payout -> valuationDates -> interimValuationDate
763+
else payout -> valuationDates -> finalValuationDate
765764

766-
add identifiers -> observable -> productIdentifier:
767-
payout -> underlier -> security -> productIdentifier
765+
add identifiers -> observable -> asset -> Instrument -> Security -> identifier:
766+
payout -> underlier -> security -> identifier
768767

769-
set identifiers -> observationDate:
770-
AdjustedValuationDates( payout -> valuationDates )
768+
set identifiers -> observationDate:
769+
AdjustedValuationDates(payout -> valuationDates)
771770
filter item <= adjustedDate
772771
then last
773772

774-
set identifiers -> observationTime:
775-
ResolvePerformanceValuationTime(valuationDates -> valuationTime,
776-
valuationDates -> valuationTimeType,
777-
identifiers -> observable -> productIdentifier only-element,
778-
valuationDates -> determinationMethod )
773+
set identifiers -> observationTime:
774+
ResolvePerformanceValuationTime(
775+
valuationDates -> valuationTime,
776+
valuationDates -> valuationTimeType,
777+
identifiers -> observable -> asset ->> identifier only-element,
778+
valuationDates -> determinationMethod
779+
)
779780

780-
set identifiers -> determinationMethodology -> determinationMethod:
781+
set identifiers -> determinationMethodology -> determinationMethod:
781782
valuationDates -> determinationMethod
782783
```
783784

0 commit comments

Comments
 (0)