The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The table below lists examples of Trading Venues and the counterparty information they provide, alongside a JSON extract of how the resulting information would be transported by Whisperer to the customer application.

Number
Description
FIX Fragment
Resulting JSON
1LastMkt tag30=Hotspot{"LastMkt":{"ID":"Hotspot"}}
2LastMkt tag, 2 parties: Acceptable Counterparty and Executing Firm453=2 448=BAML 452=1 448=Citadel 452=56 30=Hotspot

{"AcceptableCounterparty":{"ID":"Citadel"},"ExecutingFirm":{"ID":"BAML"},"LastMkt":{"ID":"Hotspot"}}

3LastMkt tag, 2 parties: Acceptable Counterparty and Executing Firm; ExecutingFirm BAML has 2 subparties, Application and Firm

453=2 448=BAML 452=1 802=2 523=UBS 803=1 523=Whisperer 803=4 448=Citadel 452=56 30=Hotspot

{"AcceptableCounterparty":{"ID":"Citadel"},"ExecutingFirm":{"Application":"Whisperer","Firm":"UBS","ID":"BAML"},
"LastMkt":{"ID":"Hotspot"}}

4Corner case: LastMkt tag with hypothetical LastMkt party (duplicate counterparty), Executing Firm party453=2 448=BAML 452=1 448=Citadel 452=56 30=Hotspot

{"ExecutingFirm":{"ID":"BAML"},"LastMkt":[{"ID":"Hotspot"},{"ID":"Citadel"}]}

5Corner case: AcceptableCounterparty party, ExecutingFirm party=BAML with duplicate subparty (Application) and subparty Firm, and LastMkt tag453=2 448=BAML 452=1 802=3 523=UBS 803=1 523=Whisperer 803=4 523=Reuters2000 803=444 8=Citadel 452=56 30=Hotspot

{"AcceptableCounterparty":{"ID":"Citadel"},"ExecutingFirm":{"Application":["Whisperer","Reuters2000"],"Firm":"UBS",
"ID":"BAML"},"LastMkt":{"ID":"Hotspot"}}

This example shows counterparty information as received in the FIX messages and presented in the TradeCapture message. The counterparty information is highlighted in red.

...

For the NewOrderMessage.detail (contained within the details field of the message where JSON counterparty information is held) the field is populated using data obtained from the venue containing the counterparty details an example is below:

 


Prototype: 


Example: 


Trading VenueAcountID
(FIX tag 1)
PartyID
(FIX tag 448)
ExecutingFirm
(FIX tag 448)
Time in Force
(FIX tag 59)
ContraTraderID
(FIX tag 337)
ExecutingTraderBroker of Credit
CURRENEX (RFQ)-onAppMsgonAppMsg----

CURRENEX (ESP)

-onAppMsgonAppMsg----
CURRENEX (OUCH)-onAppMsgonAppMsg----
EBS DIRECTonAppMsgonAppMsgonAppMsgonAppMsg-onAppMsgonAppMsg
FASTMATCHonAppMsg--onAppMsg---
HOTSPOTExecutionReport---ExecutionReportExecutionReport-
HOTSPOT (RFS)-onAppMsgonAppMsg----
INTEGRAL---onAppMsg---

 

 

...


SET FLAG

<!-- legacy="true" means all feeds use the legacy counterparty field by default -->
<!-- legacy="false" means all feeds use the new counterparty JSON by default -->
<CounterpartyReporting legacy="false">