Quotes (35=S) Side when both sides are present ( OfferPx, BidPx)

I am reading the specification for Quote message (35=S) and I see that Side (54) is " Required for Tradeable or Counter quotes of single instruments".

I am implementing Quote messages for market makers in which they would send a Tradeable quote that contains both sides (buy and sell). What should the Side field contain in this case? Is it just to be ignored? If so, then why is it mandatory? If not, what should it contain?

Similarly, what about field 38 (OrderQty) - it is mandatory, but the market maker needs to send quantities for buy and for sell - would the fields BidSize/OfferSize (134/135) be used instead? Should this field (38) be ignored?

An additional question - if the quote (market making order) needs to be “iceberg” (show only a certain amount of the total quantity at a time) - what are the fields used to specify buy/sell quantity and total buy/sell quantity in this case, for each side?

Thank you!

Side(54) and the OrderQtyData component were added back in FIX 4.4 and due to a Gap Analysis for fixed income. Maybe “Required for Tradeable or Counter quotes of single instruments” is only applicable to fixed income. The notes for OrderQtyData give a hint as they say “when applicable for the type of instrument.

I can try to find out what the background was. I do not think that presence of Side(54) and OrderQty(38) should be required in general for tradeable or counter quotes. The presence of the Bid/Offer fields in single-sided quotes covers that.

Your question about “iceberg” (called reserve orders in FIX) is a good one. Orders and quotes do not have many differences, e.g. only orders have a state change model. Extensive “iceberg” functionality is only provided for orders by means of the DisplayInstruction component. However, please have a look at EP126 and EP184 which may be what you are looking for. TotalBidSize(1749) and TotalOfferSize(1750) are limits for the total quantities of bids and offers that are allowed to execute. There are just no rules for replenishment of quotes like the ones that exist for orders.

1 Like

Hi Hanno, and thank you for answering.

From my understanding by reading the specs, basically the market maker quote can be “translated” to actual orders, and shown as such in the market depth. In an anonymous market, one could not distinguish between a quote and a regular order.

Looking into the quote (S) some more, I think the reserve orders can be mapped to pairs of MinBidSize (647) and BidSize (134). Would that be appropriate? If both fields are present, then we are defining a reserve, and if not, a ‘regular’.

And since I have your ear, I’d add one more question. Orders can take advantage of the ExecInst (18) field to become suspended for a while, at the broker’s discretion. Is there a field or a combination of fields in S that can offer the same functionality? In the specs I saw that for cancellation it is suggested that the same quote is re-sent with price and quantities =0, but no suggestions for temporary suspension.

Thank you!

No, I would see that with Bid/OfferSize being the visible part of the quote and TotalBid/OfferSize being the maximum executable size if you want to map that to order semantics, i.e. automatic replenishment based on an algorithm. MinBid/OfferSize and Bid/OfferSize represent the boundaries of the size ranges with Bid/OfferSize being the maximum size provided.

To your other question, quotes do not have states like orders, i.e. quotes cannot be in a “suspended” state. Tradeable quotes can be set to 0 to avoid any execution and need to be actively modified by the quote submitter to change that. However, I would not try to emulate order workflows with FIX quote messages but use one or the other depending on the business requirements you have.

1 Like

@dsusca The intent of that guidance was specific to fixed income negotiation process where the Quote message can be used to counter in conjunction with QuoteResponse(35=AJ). In that use case, the quote is tradeable or countered therefore you can only negotiate on a 1-sided quote. This was why price and qty fields had some of that text. @hanno.klein and I will look to clarify that as we both work on refactoring the FIX application layer specifications.

1 Like