Capturing arbitrary number of external IDs




There are a number of different, mostly external, IDs that I need to capture for identification of a trade. This would likely be a part of a 35=AE message. For instance, we may need to capture an ID from a clearing house, an ID from a counterparty, and an ID from a matching system.

Is there something analogous to NoRegulatoryTradeIDs which does not require or connote a regulatory context? Is NoRegulatoryTradeIDs the right place to do this?



There are a number of ID fields for trades in the TCR that should be used before using the repeating group you mention above. For example, the ID of the matching system should be provided with TrdMatchID(880) and the ID of the counterparty should be SideTradeID(1506) in the instance of TrdCapRptSideGrp representing the half-trade of the counterparty.

Maybe you can use RegulatoryTradeIDGrp for the ID of the clearing house by choosing RegulatoryTradeIDType(1906) = 4 (Cleared block trade). In general, the question is why one needs IDs from various related systems in a single message unless it is for regulatory purposes (e.g. reconciliation). Two IDs are enough to reconcile IDs between two systems at a time (e.g. matching engine and clearing house).

An alternative is to use the parties block and its sub-block (PtysSubGrp) to convey a related system (i.e. external party) and its trade ID. You can identify the clearing house with PartyRole = 4 (Clearing firm) and the ID with PartySubIDType(803) = 57/58 (System trade (sub-)identifier).