This is the message format for reporting transactions to ESMA - reference here. This adheres to the ISO 20022 message format auth.108.001.01.
Data within the XML is transformed and flattened to rows of data with the following fields. Data in repeated structures are flattened into concatenated text.
Duco field name | Regulatory Reporting Field | Duco field type | Xpath | Repeating structure |
ActionType | 3.28 - Action type | Text |
In /Document/DerivsTradMrgnDataRpt/TradData if .../Rpt/MrgnUpd exist, then "MARU" if .../Rpt/Crrctn exist, then "CORR" |
No |
ReportingTimestamp | 3.01 - Reporting timestamp | DateTime | .../RptgTmStmp | No |
Counterparty1 | 3.04 - Counterparty 1 (Reporting counterparty) | Text | .../CtrPtyId/RptgCtrPty/Id/Lgl/Id/LEI | No |
Counterparty2_IDType | 3.05 - Counterparty 2 identifier type | Boolean |
In .../CtrPtyId/OthrCtrPty/IdTp if .../Lgl exists, then "True" if .../Ntrl exists, then "False" |
No |
Counterparty2 | 3.06 - Counterparty 2 | Text |
In .../CtrPtyId/OthrCtrPty/IdTp if .../Lgl exists, then .../Id/LEI if .../Ntrl exists, then .../Id/Id/Id |
No |
ReportSubmittingEntityID | 3.02 - Report submitting entity ID | Text | .../CtrPtyId/SubmitgAgt/LEI | No |
EntityResponsibleForReporting | 3.03 - Entity responsible for reporting | Text | .../CtrPtyId/NttyRspnsblForRpt/LEI | No |
EventDate | 3.29 - Event date | Date | .../EvtDt | No |
UTI | 3.10 - UTI | Text |
In .../TxId if .../UnqTxIdr exists, then .../UnqTxIdr if .../Prtry exists, then .../Prtry/Id |
No |
CollateralPortfolioIndicator | 3.08 - Collateral portfolio indicator | Boolean |
In .../Coll/CollPrtflCd/Prtfl if .../Cd exists, then "True" if .../NoPrtfl exists, then "False" |
No |
CollateralPortfolioCode | 3.09 - Collateral portfolio code | Text | .../Coll/CollPrtflCd/Prtfl/Cd | No |
CollateralisationCategory | 3.11 - Collateralisation category | Text | .../Coll/CollstnCtgy | No |
CollateralTimestamp | 3.07 - Collateral timestamp | DataTime | .../Coll/TmStmp | No |
InitlMrgnPstd_PreHrcut | 3.12 - Initial margin posted by the counterparty 1 (pre-haircut) | Decimal | .../PstdMrgnOrColl/InitlMrgnPstdPreHrcut | No |
Ccy_InitlMrgnPstd_PreHrcut | 3.14 - Currency of the initial margin posted | Text | .../PstdMrgnOrColl/InitlMrgnPstdPreHrcut/@Ccy | No |
InitlMrgnPstd_PstHrcut | 3.13 - Initial margin posted by the counterparty 1 (post-haircut) | Decimal | .../PstdMrgnOrColl/InitlMrgnPstdPstHrcut | No |
Ccy_InitlMrgnPstd_PstHrcut | 3.14 - Currency of the initial margin posted | Text | .../PstdMrgnOrColl/InitlMrgnPstdPstHrcut/@Ccy | No |
VartnMrgnPstd_PreHrcut | 3.15 - Variation margin posted by the counterparty 1 (pre-haircut) | Decimal | .../PstdMrgnOrColl/VartnMrgnPstdPreHrcut | No |
Ccy_VartnMrgnPstd_PreHrcut | 3.17 - Currency of the variation margins posted | Text | .../PstdMrgnOrColl/VartnMrgnPstdPreHrcut/@Ccy | No |
VartnMrgnPstd_PstHrcut | 3.16 - Variation margin posted by the counterparty 1 (post-haircut) | Decimal | .../PstdMrgnOrColl/VartnMrgnPstdPstHrcut | No |
Ccy_VartnMrgnPstd_PstHrcut | 3.17 - Currency of the variation margins posted | Text | .../PstdMrgnOrColl/VartnMrgnPstdPstHrcut/@Ccy | No |
XcssCollPstd | 3.18 - Excess collateral posted by the counterparty 1 | Decimal | .../PstdMrgnOrColl/XcssCollPstd | No |
Ccy_XcssCollPstd | 3.19 - Currency of the excess collateral posted | Text | .../PstdMrgnOrColl/XcssCollPstd/@Ccy | No |
InitlMrgnRcvd_PreHrcut | 3.20 - Initial margin collected by the counterparty 1 (pre-haircut) | Decimal | .../RcvdMrgnOrColl/InitlMrgnRcvdPreHrcut | No |
Ccy_InitlMrgnRcvd_PreHrcut | 3.22 - Currency of initial margin collected | Text | .../RcvdMrgnOrColl/InitlMrgnRcvdPreHrcut/@Ccy | No |
InitlMrgnRcvd_PstHrcut | 3.21 - Initial margin collected by the counterparty 1 (post-haircut) | Decimal | .../RcvdMrgnOrColl/InitlMrgnRcvdPstHrcut | No |
Ccy_InitlMrgnRcvd_PstHrcut | 3.22 - Currency of initial margin collected | Text | .../RcvdMrgnOrColl/InitlMrgnRcvdPstHrcut/@Ccy | No |
VartnMrgnRcvd_PreHrcut | 3.23 - Variation margin collected by the counterparty 1 (pre-haircut) | Decimal | .../RcvdMrgnOrColl/VartnMrgnRcvdPreHrcut | No |
Ccy_VartnMrgnRcvd_PreHrcut | 3.25 - Currency of variation margin collected | Text | .../RcvdMrgnOrColl/VartnMrgnRcvdPreHrcut/@Ccy | No |
VartnMrgnRcvd_PstHrcut | 3.24 - Variation margin collected by the counterparty 1 (post-haircut) | Decimal | .../RcvdMrgnOrColl/VartnMrgnRcvdPstHrcut | No |
Ccy_VartnMrgnRcvd_PstHrcut | 3.25 - Currency of variation margin collected | Text | .../RcvdMrgnOrColl/VartnMrgnRcvdPstHrcut/@Ccy | No |
XcssCollRcvd | 3.26 - Excess collateral collected by the counterparty 1 | Decimal | .../RcvdMrgnOrColl/XcssCollRcvd | No |
Ccy_XcssCollRcvd | 3.27 - Currency of excess collateral collected | Text | .../RcvdMrgnOrColl/XcssCollRcvd/Ccy | No |
Notes:
Currency regulatory fields were divided to match the schema division by Pre-haircut and Post-haircut:
- 3.14 - Currency of the initial margin posted regulatory field into:
- Ccy_InitlMrgnPstd_PreHrcut
- Ccy_InitlMrgnPstd_PstHrcut
- 3.17 - Currency of the variation margins posted regulatory field into:
- Ccy_VartnMrgnPstd_PreHrcut
- Ccy_VartnMrgnPstd_PstHrcut
- 3.22 - Currency of initial margin collected regulatory field into:
- Ccy_InitlMrgnRcvd_PreHrcut
- Ccy_InitlMrgnRcvd_PstHrcut
- 3.25 - Currency of variation margin collected regulatory field into:
- Ccy_VartnMrgnRcvd_PreHrcut
- Ccy_VartnMrgnRcvd_PstHrcut