The Lab

Versions Compared

Key

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

Operational use

The Maker counterparty fields are not presently normalised, as such the behaviour and the list of fields supported are dependant on the Trading Venue. 

Info
titleNote

MarketFactory is working on a roadmap to normalise the population of PartyID and other fields related to counterparty across the Market Maker handlers, although as an interim measure the present behaviour is documented on this page


NewOrderMessage.partyID Population

For Whisperer Market Maker handlers that support the population counterparty fields, do so through use of partyID (such as the GAIN GTX used in this example), PartyID is populated from the NoPartyIDs (FIX tag 453) repeating group of the incoming Execution report. Each entry has a PartyRole (452). For GainGTX, we choose

 

No Format
  if (!underlyingContraFirm.empty()) {
    partyID = underlyingContraFirm;
  } else if (!contraFirm.empty()) {
    partyID = contraFirm;
  } else if (!encodedTraderID.empty()) {
    partyID = encodedTraderID;
  }

 

The example JSON output would appear as the output below:

No Format
 { "PartyIDS": {"ContraFirm": "E552","UnderlyingContraFirm": "E552","EncodedTraderID": "329993-23474-3"}}


Order Origination Fields

Below are the order origination fields for the Market Maker handlers TBC...

mfOrderOrigniationFirmSource valueFastmatchGain GTX
UndrContraFirm
 Tag 448 value
where Tag 452=20
ExecutingTrader
  
ExecutingFirm
  
ExecBroker
  
EnteringTrader
 Tag 448 value
where Tag 452=36
EncodedTraderId
 Tag 448 value
where Tag 452=707
ContraTrader
 Tag 448 value
where Tag 452=37
ContraFirm
 Tag 448 value
where Tag 452=17
ContraBroker
  
ClientId

Tag 448 value
where Tag 452=3

 
BrokerOfCredit
  
Account

Account - Tag 1