How to identify counterparty in an Execution Report for a trade ?

Imported from previous forum

Let’s assume that trader 1 of firm A (A1) enters a Buy Order and that his order will match against an existing Sell Order entered by trader 2 of firm B (B2). Which is the proper way to identify counterparty B2 in the Execution Report (FIX 4.3) message for the executed trade sent to A1 ? Using the Parties component block is it correct to have:

  • PartyID = B2 (actually the Sell Side code)
  • PartyRole = 1 [Executing Firm]

in the Execution Report message sent to firm A or shall we find:

  • PartyRole = 17 [Contra Firm] ?

Thanks in advance for your help.

Regards,

Antonio Caroselli
GATE T.I.
www.gatelab.com

Let’s assume that trader 1 of firm A (A1) enters a Buy Order and that his order will match against an existing Sell Order entered by trader 2 of firm B (B2). Which is the proper way to identify counterparty B2 in the Execution Report (FIX 4.3) message for the executed trade sent to A1 ? Using the Parties component block is it correct to have:

  • PartyID = B2 (actually the Sell Side code)
  • PartyRole = 1 [Executing Firm]

in the Execution Report message sent to firm A or shall we find:

  • PartyRole = 17 [Contra Firm] ?

If A1 receives the ExecutionReport(Trade), B2 is the counterparty for this trade. Therefore, PartyRole=17 [Contra Firm] is the correct role.

To be more precise, you could make use of the PartySubID field to separate the name of the firm (“A” or “B”) and the trader:

PartyID=B
PartyIDSource=
PartyRole=17
PartySubID=2

Note, that the PartySubID is optional: Some systems do not report the actual trader to the other side.

Cheers, Jörg

If A1 receives the ExecutionReport(Trade), B2 is the counterparty for
this trade. Therefore, PartyRole=17 [Contra Firm] is the correct role.

To be more precise, you could make use of the PartySubID field to
separate the name of the firm (“A” or “B”) and the trader:

PartyID=B PartyIDSource= PartyRole=17 PartySubID=2

Note, that the PartySubID is optional: Some systems do not report the
actual trader to the other side.

Looking at FIX 4.4 PartyRole, there is even a “Contra Trader” role which replaces the PartySubID usage above.

Cheers, Jörg

[ original email was from Bernt Sandén - bernt.sanden@om.com ]
Hi,

What about the entering firm, should’nt it be a part of the execution report? Is it implicitly defined by the FIX session? In the case below firm “A” is the entering firm.

If A1 receives the ExecutionReport(Trade), B2 is the counterparty for
this trade. Therefore, PartyRole=17 [Contra Firm] is the correct role.

To be more precise, you could make use of the PartySubID field to
separate the name of the firm (“A” or “B”) and the trader:

PartyID=B PartyIDSource= PartyRole=17 PartySubID=2

Note, that the PartySubID is optional: Some systems do not report the
actual trader to the other side.

Looking at FIX 4.4 PartyRole, there is even a “Contra Trader” role which
replaces the PartySubID usage above.

Cheers, Jörg