Skip to main content

DRR data journey using an IDE

The development environment may be different for each firm – DRRDRR Digital Regulatory Reporting. An industry‑developed, machine‑executable interpretation of regulatory rules that produces consistent, transparent and fully traceable reporting outputs from standardised CDM data. is not tied to a specific development environment. Below is a simplified, generic example of how to use DRRDRR Digital Regulatory Reporting. An industry‑developed, machine‑executable interpretation of regulatory rules that produces consistent, transparent and fully traceable reporting outputs from standardised CDM data. to produce a report using an IDEIDE Integrated Development Environment. A software application that brings together all the essential tools a developer needs to write, test and debug code in one unified workspace. (Integrated Development Environment) such as Visual Studio Code, IntelliJ IDEA, Eclipse or PyCharm.

Whichever environment you use, the process is essentially the same, as DRRDRR Digital Regulatory Reporting. An industry‑developed, machine‑executable interpretation of regulatory rules that produces consistent, transparent and fully traceable reporting outputs from standardised CDM data. processes a trade event (which has been converted into the CDMCDM Common Domain Model. A standardised, machine-readable and machine-executable blueprint for how financial products are traded and managed across the transaction lifecycle. It is represented as a domain model and distributed in open source.), enriches it with regime-specific logic, and ultimately produces the correct regulatory report for a given jurisdiction (e.g. DTCC RDS Harmonized).

1. Start with the CDM event

Everything begins with a CDMCDM Common Domain Model. A standardised, machine-readable and machine-executable blueprint for how financial products are traded and managed across the transaction lifecycle. It is represented as a domain model and distributed in open source. trade event. This is the raw representation of what happened: a new trade, an amendment, a termination, etc.

type ReportableEvent { event: CdmEvent }

This stage captures the trade lifecycle event in a standard CDMCDM Common Domain Model. A standardised, machine-readable and machine-executable blueprint for how financial products are traded and managed across the transaction lifecycle. It is represented as a domain model and distributed in open source. format so DRRDRR Digital Regulatory Reporting. An industry‑developed, machine‑executable interpretation of regulatory rules that produces consistent, transparent and fully traceable reporting outputs from standardised CDM data. has a clean, consistent starting point.

2. Attach the regulatory context

Next, DRRDRR Digital Regulatory Reporting. An industry‑developed, machine‑executable interpretation of regulatory rules that produces consistent, transparent and fully traceable reporting outputs from standardised CDM data. takes the CDMCDM Common Domain Model. A standardised, machine-readable and machine-executable blueprint for how financial products are traded and managed across the transaction lifecycle. It is represented as a domain model and distributed in open source. event and wraps it in a structure that prepares it for a specific regime:

func Create_RegimeReportableEvent(event: ReportableEvent, regime: Regime)

This stage prepares the event for a particular regulator (e.g. CFTCCFTC Commodity Futures Trading Commission – United States regulator overseeing derivatives markets, including swaps and futures., ESMAESMA European Securities and Markets Authority – EU‑level regulator responsible for securities markets, including EMIR reporting., MASMAS Monetary Authority of Singapore – Singapore’s central bank and integrated financial regulator.) by applying the correct reporting rules.

3. Apply regime-specific logic

This is where DRRDRR Digital Regulatory Reporting. An industry‑developed, machine‑executable interpretation of regulatory rules that produces consistent, transparent and fully traceable reporting outputs from standardised CDM data. interprets the CDMCDM Common Domain Model. A standardised, machine-readable and machine-executable blueprint for how financial products are traded and managed across the transaction lifecycle. It is represented as a domain model and distributed in open source. event through the lens of the chosen regime.

type RegimeReportableEvent extends ReportableEvent { regimeContext: Regime }

This stage applies the required regime specific rules, handles overridesIDE Integrated Development Environment. A software application that brings together all the essential tools a developer needs to write, test and debug code in one unified workspace. and normalises the data according to that regulator’s expectations.

4. Convert the event into a report instruction

Next, DRRDRR Digital Regulatory Reporting. An industry‑developed, machine‑executable interpretation of regulatory rules that produces consistent, transparent and fully traceable reporting outputs from standardised CDM data. transforms the regime interpreted event into a transaction report instruction.

func Create_TransactionReportInstructionForRegime(rre: RegimeReportableEvent)

This stage turns the regulatory interpretation into a specific instruction that outlines the type of report to be produced and the data required to build it.

5. Per regime reporting logic

Each regulator has its own reporting structure – this data typedata type A structured model object that defines: what information exists; how that information is organised; what constraints or validations apply. It’s the basic building block used to model reporting concepts such as events, trades, parties, reports and enriched information. captures the structure required.

type TransactionReportInstructionForRegime { reportFields: RegimeSpecificFields }

This stage defines the exact fields, formats, timestamps, and logic required by the supervisory bodybody The organisation or authority that issues the regulatory or technical document the model is based on e.g. a regulator (CFTC, ESMA) or a standard‑setting organisation (CPMI–IOSCO). (e.g. DTCC, ASICASIC Australian Securities and Investments Commission – the financial regulator for Australia, MASMAS Monetary Authority of Singapore – Singapore’s central bank and integrated financial regulator.). This is the point where the output diverges depending on the jurisdiction.

6. Final projection to the jurisdiction's report format

From the instruction, DRRDRR Digital Regulatory Reporting. An industry‑developed, machine‑executable interpretation of regulatory rules that produces consistent, transparent and fully traceable reporting outputs from standardised CDM data. produces the final regulatory report. For example, under the Canadian Securities Administrators (CSACSA Canadian Securities Administrators – an umbrella organization of Canada’s provincial and territorial securities regulators.) workflow, the instruction may be projected into one of two outputs:

Option A – CSA Trade Report

CSA_Trade Project_CSATradeReportToDtccRdsHarmonized

Option B – CSA PPD Report

CSA_PPD Project_CSAPpdReportToDtccRdsHarmonized

This stage converts DRRDRR Digital Regulatory Reporting. An industry‑developed, machine‑executable interpretation of regulatory rules that produces consistent, transparent and fully traceable reporting outputs from standardised CDM data.’s internal representation into the regulator’s required schema. It then applies final formatting and harmonization rules to produce the exact structure expected by DTCC RDS Harmonized (or another TRTR trade repository).