Page History
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 | ||
|---|---|---|
| ||
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 value | Fastmatch | Gain 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 | |
BrokerOfCredit | ||
Account | Account - Tag 1 |