MD tag for Executable QTY for bilateral matching?

Hi all. I’m looking for guidance on how best to represent “executable quantity” in FIX market data for a bilateral matching instrument.

Bilateral matching means that firms can only trade with counterparties for which they have existing bilateral limits. In that model, the full quantity for an order may not be executable from the perspective of a particular firm.

For example, assume a bilateral limit that allows Firm A to buy $500 from Firm B. Firm B places an order to sell 800 at price $1. From Firm A’s perspective, Firm B’s order has qty 800 but executable quantity 500.

Is there an existing FIX tag commonly used to communicate this concept of executable quantity for an order? If there is no standard FIX tag for this concept, is there a commonly used custom tag or convention for representing it?

@gsmith what is the message flow? There are multiple options (assuming Firm A and B are communicating directly):

  • Firm A sends a new order to Firm B and then receives a private market data message from Firm B about its executable quantity in the instrument specified on the order
  • Firm A sends a new order to Firm B and then receives an execution report that restates the order with the executable quantity

Ah, sorry, I should have clarified: All of this is taking place via the CLOB. Firm A and Firm B never communicate directly.

All orders are submitted to the CLOB, and they are visible by all firms. If Firm A and Firm B don’t have a bilateral agreement, then Firm A’s orders must show with an Executable Qty of 0 from the perspective of Firm B (and vice versa).

@gsmith thank you for clarifying. So the firms receive private market data messages from the CLOB that show them the quantity executable to them. At the same time, the orders are visible by all firms (with their full quantity). Does that mean that each order is visible to all firms or only the aggregated quantity across all orders for the same instrument? Is the public and private information part of the same message or does Firm A get two separate messages with the public (full quantity) and private (executable quantity) information?

You can provide both in a single message by using SecSizesGrp for the private information, i.e. for the executable quantity relative to the recipient of the message. MDSecSizeType(1178) is required but allows user-defined values of 100 and above, e.g. 100=“Executable quantity”.