This is the message format for reporting transactions to ESMA - reference here. This adheres to the ISO 20022 message format auth.109.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 |
ReportingTimestamp | 3.01 - Reporting timestamp | DateTime |
In /Document/DerivsTradMrgnDataTxStatRpt/TradData/Stat: .../RptgTmStmp |
No |
Counterparty1_IdType | Text |
In .../CtrPtyId/RptgCtrPty/Id/Lgl/Id: if .../LEI exists, then "LEI" if .../Othr/Id/Id exists, then "Other Id" |
No | |
Counterparty1_LEI | 3.04 - Counterparty 1 (Reporting counterparty) | Text | .../CtrPtyId/RptgCtrPty/Id/Lgl/Id/LEI | No |
Counterparty1_OtherId | Text | .../CtrPtyId/RptgCtrPty/Id/Lgl/Id/Othr/Id/Id | No | |
Counterparty2_IdType | 3.05 - Counterparty 2 identifier type | Text |
In .../CtrPtyId/OthrCtrPty/IdTp if .../Lgl exists, then "True" if .../Ntrl exists, then "False" |
No |
Counterparty2_Legal_LEI | 3.06 - Counterparty 2 | Text | .../CtrPtyId/OthrCtrPty/IdTp/Lgl/Id/LEI | No |
Counterparty2_Natural_Id | 3.06 - Counterparty 2 | Text | .../CtrPtyId/OthrCtrPty/IdTp/Ntrl/Id/Id/Id | No |
ReportSubmittingEntityID_Type | Text |
In .../CtrPtyId/SubmitgAgt If .../LEI exists, then "LEI" If .../Othr exists, then "Other Id" |
No | |
ReportSubmittingEntityID_LEI | 3.02 - Report submitting entity ID | Text | .../CtrPtyId/SubmitgAgt/LEI | No |
ReportSubmittingEntityID_OtherId | Text | .../CtrPtyId/SubmitgAgt/Othr/Id/Id | No | |
ReportSubmittingEntityID_SchemeName | Text | .../CtrPtyId/SubmitgAgt/Othr/Id/SchmeNm | No | |
ReportSubmittingEntityID_Issuer | Text | .../CtrPtyId/SubmitgAgt/Othr/Id/Issr | No | |
ReportSubmittingEntityID_Name | Text | .../CtrPtyId/SubmitgAgt/Othr/Nm | No | |
ReportSubmittingEntityID_Domicile | Text | .../CtrPtyId/SubmitgAgt/Othr/Dmcl | No | |
EntityResponsibleForReporting_Type | Text |
In .../CtrPtyId/NttyRspnsblForRpt If .../LEI exists, then "LEI" If .../Othr exists, then "Other Id" |
No | |
EntityResponsibleForReporting_LEI | 3.03 - Entity responsible for reporting ID | Text | .../CtrPtyId/NttyRspnsblForRpt/LEI | No |
EntityResponsibleForReporting_OtherId | Text | .../CtrPtyId/NttyRspnsblForRpt/Othr/Id/Id | No | |
EntityResponsibleForReporting_SchemeName | Text | .../CtrPtyId/NttyRspnsblForRpt/Othr/Id/SchmeNm | No | |
EntityResponsibleForReporting_Issuer | Text | .../CtrPtyId/NttyRspnsblForRpt/Othr/Id/Issr | No | |
EntityResponsibleForReporting_Name | Text | .../CtrPtyId/NttyRspnsblForRpt/Othr/Nm | No | |
EntityResponsibleForReporting_Domicile | Text | .../CtrPtyId/NttyRspnsblForRpt/Othr/Dmcl | No | |
EventDate | 3.29 - Event date | Date | .../EvtDt | No |
TransactionId_Type | Text |
In .../TxId if .../UnqTxIdr exists, then "Unique Transaction Id" if .../Prtry exists, then "Proprietary Id" |
No | |
TransactionId_UniqueTransactionId | 3.10 - UTI | Text | .../TxId/UnqTxIdr | No |
TransactionId_ProprietaryId | 3.10 - UTI | Text | .../TxId/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 |
In .../Coll/CollPrtflCd/Prtfl OR .../Cd OR .../NoPrtfl |
No |
CollateralisationCategory | 3.11 - Collateralisation category | Text | .../Coll/CollstnCtgy | No |
CollateralTimestamp | 3.07 - Collateral timestamp | DateTime | .../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 (pre-haircut) | 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 (post-haircut) | 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 (pre-haircut) | 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 (post-haircut) | 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 (pre-haircut) | 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 (post-haircut) | 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 (pre-haircut) | 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 (post-haircut) | 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 |
ActionType | 3.28 - Action type | Text | .../CtrctMod/ActnTp | 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