ClOrdID is a unique identifier assigned by the client (trader or client application) when submitting a new order.
It is used to uniquely identify the order within the client's own order management system.
Unlike OrderID, ClOrdID is generated by the client and must be unique within the client’s order book.
Every order ie 35=D, 35=G, 35=F have unique tag 11
OrderID is a unique identifier assigned by the broker or exchange once an order has been received and accepted.
This ID is used to track the order throughout its lifecycle, including any subsequent messages related to that order, such as executions(Partial fill, Complete Fill), cancellations, or status updates.
The OrderID is unique per order and is generated by the system handling the order, not by the client.
8=FIX.4.2|9=176|35=D|49=CLIENT|56=BROKER|34=1|52=20230724-19:30:00|11=ClientOrder123|21=1|55=AAPL|54=1|60=20230724-19:30:00|38=1000|40=2|44=150.00|10=185|
ClOrdID (tag 11): ClientOrder123 (assigned by the client)
8=FIX.4.2|9=158|35=8|49=BROKER|56=CLIENT|34=2|52=20230724-19:30:01|37=BrokerOrder456|11=ClientOrder123|17=1|150=0|39=0|55=AAPL|54=1|38=1000|40=2|44=150.00|10=128|
ClOrdID (tag 11): ClientOrder123 (assigned by the client)
OrderID (tag 37): BrokerOrder456 (assigned by the broker)
8=FIX.4.2|9=168|35=8|49=BROKER|56=CLIENT|34=3|52=20230724-19:30:02|37=BrokerOrder456|11=ClientOrder123|17=2|150=1|39=1|55=AAPL|54=1|38=1000|40=2|44=150.00|32=300|31=150.00|151=700|14=300|6=150.00|10=157|
ClOrdID (tag 11): ClientOrder123
OrderID (tag 37): BrokerOrder456
Partial fill for 300 shares, 700 remaining
8=FIX.4.2|9=176|35=G|49=CLIENT|56=BROKER|34=4|52=20230724-19:30:03|11=ClientOrder124|41=ClientOrder123|21=1|55=AAPL|54=1|60=20230724-19:30:03|38=1500|40=2|44=150.00|10=199|
ClOrdID (tag 11): ClientOrder124 (new ID for the amendment request)
OrigClOrdID (tag 41): ClientOrder123 (original client order ID)
8=FIX.4.2|9=164|35=8|49=BROKER|56=CLIENT|34=5|52=20230724-19:30:04|37=BrokerOrder456|11=ClientOrder124|17=3|150=E|39=E|55=AAPL|54=1|38=1500|40=2|44=150.00|151=1200|14=300|10=184|
ClOrdID (tag 11): ClientOrder124
OrderID (tag 37): BrokerOrder456
Amendment is pending, new order quantity is 1500
8=FIX.4.2|9=160|35=8|49=BROKER|56=CLIENT|34=6|52=20230724-19:30:05|37=BrokerOrder456|11=ClientOrder124|17=4|150=5|39=5|55=AAPL|54=1|38=1500|40=2|44=150.00|151=1200|14=300|10=160|
ClOrdID (tag 11): ClientOrder124
OrderID (tag 37): BrokerOrder456
Amendment accepted, new order quantity is 1500
8=FIX.4.2|9=168|35=8|49=BROKER|56=CLIENT|34=7|52=20230724-19:30:06|37=BrokerOrder456|11=ClientOrder124|17=5|150=1|39=1|55=AAPL|54=1|38=1500|40=2|44=150.00|32=500|31=150.00|151=700|14=800|6=150.00|10=145|
ClOrdID (tag 11): ClientOrder124
OrderID (tag 37): BrokerOrder456
Further partial fill for 500 shares, 700 remaining
8=FIX.4.2|9=162|35=F|49=CLIENT|56=BROKER|34=8|52=20230724-19:30:07|11=ClientOrder125|41=ClientOrder124|55=AAPL|54=1|60=20230724-19:30:07|38=1500|10=203|
ClOrdID (tag 11): ClientOrder125 (new ID for the cancel request)
OrigClOrdID (tag 41): ClientOrder124 (original client order ID for the amended order)
8=FIX.4.2|9=164|35=8|49=BROKER|56=CLIENT|34=9|52=20230724-19:30:08|37=BrokerOrder456|11=ClientOrder125|17=6|150=6|39=6|55=AAPL|54=1|38=1500|40=2|44=150.00|151=700|14=800|10=159|
ClOrdID (tag 11): ClientOrder125
OrderID (tag 37): BrokerOrder456
Cancel request is pending, 700 shares remain
8=FIX.4.2|9=158|35=8|49=BROKER|56=CLIENT|34=10|52=20230724-19:30:09|37=BrokerOrder456|11=ClientOrder125|17=7|150=4|39=4|55=AAPL|54=1|38=1500|40=2|44=150.00|151=0|14=800|10=118|
ClOrdID (tag 11): ClientOrder125
OrderID (tag 37): BrokerOrder456Â
OrdStatus (Tag 39) : indicates the current status of the order. It reflects the overall status of the order at the time of the report. This tag is included in messages like Execution Reports (MsgType=8) and Order Cancel Reject (MsgType=9).
ExecType (Tag 150) : indicates the type of execution report being sent. It provides more detailed information about the specific action taken on the order and is used to indicate the specific event or transaction that has occurred. This tag is included in Execution Reports (MsgType=8).
Here are scenarios where the values of OrdStatus (Tag 39) and ExecType (Tag 150) differ:
When a previously reported trade is corrected.
Trade Correction:
OrdStatus (39): Remains the same as before the correction (e.g., 2 (Filled))
ExecType (150): G (Trade Correct)
8=FIX.4.4|35=8|49=TRADER1|56=BROKER1|34=7|52=20230727-10:07:00.000|11=1001|21=1|38=1000|40=2|44=10.50|54=1|55=IBM|59=0|60=20230727-10:07:00.000|15=USD|167=CS|39=2|150=G|32=500|31=10.50|151=0|14=1000|6=10.50|10=000|
When a previously reported trade is canceled.
Trade Cancellation:
OrdStatus (39): Reflects the new status after the trade is canceled (e.g., 2 (Filled) if the order was fully filled before)
ExecType (150): H (Trade Cancel)
8=FIX.4.4|35=8|49=TRADER1|56=BROKER1|34=8|52=20230727-10:08:00.000|11=1001|21=1|38=1000|40=2|44=10.50|54=1|55=IBM|59=0|60=20230727-10:08:00.000|15=USD|167=CS|39=2|150=H|32=500|31=10.50|151=0|14=1000|6=10.50|10=000|
When an order is restated (for example, due to a system error correction).
Order Restated:
OrdStatus (39): Reflects the restated status (could be 1 (Partially Filled), 2 (Filled), etc.)
ExecType (150): D (Restated)
8=FIX.4.4|35=8|49=TRADER1|56=BROKER1|34=9|52=20230727-10:09:00.000|11=1001|21=1|38=1000|40=2|44=10.50|54=1|55=IBM|59=0|60=20230727-10:09:00.000|15=USD|167=CS|39=2|150=D|10=000|
When an unsolicited status update is sent.
Order Status Update:
OrdStatus (39): Reflects the current order status (e.g., 1 (Partially Filled), 4 (Canceled))
ExecType (150): I (Order Status)
8=FIX.4.4|35=8|49=TRADER1|56=BROKER1|34=10|52=20230727-10:10:00.000|11=1001|21=1|38=1000|40=2|44=10.50|54=1|55=IBM|59=0|60=20230727-10:10:00.000|15=USD|167=CS|39=1|150=I|10=000|