Order-routing message flows
Order-routing message flows
A FIX client starts an order-routing FIX session by sending a Logon (A) message to TT FIX and ends the session by calling the Logout (5) message. While connected to a FIX Order Routing session, a FIX client engages in a series of message conversations (requests and responses) with TT FIX to enter and manage orders. Typically, order-routing message conversations involve the following request and response messages.
Common message conversation flows
-
Flows for exchange-listed instruments
-
Flows for multi-leg instruments
-
Flows for synthetic orders
Flows for exchange-listed instruments
The following illustration shows how a new order for an exchange-listed instrument is typically entered into the market and how the subsequent responses and requests track the order's progress.
-
The order-routing message flow begins with a FIX client submitting a New Order Single (D) message that enters an order in the market.
-
When the exchange receives the New Order Single (D) request, it either:
-
Sends an Execution Report (8) message with tag 150=0 to acknowledge the order is working in the market.
-
Sends an Execution Report (8) message with tag 150=8 to indicate the exchange rejected the order request.
-
While the order is working in the market, the following messages flows can occur:
-
(3A) As the working order receives fills, the exchange sends either:
-
Sends an Execution Report (8) message with tag 150=1 to indicate a fill occured for less than the total order quantity; the order continues to work in the market.
-
Sends an Execution Report (8) message with tag 150=2 to indicate that a fill occurred for the total order quantity; the order flow is complete.
-
(3B) At any point while the order is working, you can cancel it by submitting an Order Cancel Request (F) message.
-
(4B) If the cancel request is accepted, the exchange sends an Execution Report (8) message with tag 150=4 to indicate the order was canceled; the order flow is complete.
-
(4B) If the change request is rejected, the exchange sends an Order Cancel Reject (9) message; the existing order continues working in the market.
-
(3C) At any point while the order is working, you can change it by submitting an Order Cancel/Replace Request (G) message.
-
(4C) If the change request is accepted, the exchange sends an Execution Report (8) message with tag 150=5 to indicate the existing order was replaced.
-
(4C) If the change request is rejected, the exchange sends an Order Cancel Reject (9) message; the existing order continues working in the market.
Flows for synthetic orders
The following illustration shows how a new order for a synthetic is typically entered into the market and how the subsequent responses and requests track the order's progress.
-
The order-routing message flow begins with a FIX client submitting a New Order Single (D) message that enters an order in the market.
-
When the exchange receives the New Order Single (D) request, it either:
-
Sends an Execution Report (8) message with tag 150=0 to acknowledge the order is working in the market.
-
Sends an Execution Report (8) message with tag 150=8 to indicate the exchange rejected the order request.