Appendix D

Order State Change Matrices

The following matrices are included to clarify the sequence of messages and the status of orders involved in the submission and processing of new orders, executions, cancel requests, cancel/replace requests and order status requests. The matrices have been arranged in groups as follows:

Ref Group Description
1 Vanilla Filled order
2 Vanilla Part-filled day order, done for day
3 Cancel Cancel request issued for a zero-filled order
4 Cancel Cancel request issued for a part-filled order — executions occur whilst cancel request is active
5 Cancel Cancel request issued for an order that becomes filled before cancel request can be accepted
6 Cancel Cancel request issued for an order that has not yet been acknowledged
7 Cancel Cancel request issued for an order that has not yet been acknowledged — the acknowledgment and the cancel request ‘cross’
7a Cancel Cancel request issued for an unknown order
8 Replace to increase qty Zero-filled order, cancel/replace request issued to increase order qty
9 Replace to increase qty Part-filled order, followed by cancel/replace request to increase order qty, execution occurs whilst order is pending replace
10 Replace to increase qty Filled order, followed by cancel/replace request to increase order quantity
11 Replace not for qty change Cancel/replace request (not for quantity change) is rejected as a fill has occurred
12 Replace to decrease qty Cancel/replace request sent whilst execution is being reported — the requested order qty exceeds the cum qty. Order is replaced then filled
13 Replace to decrease qty Cancel/replace request sent whilst execution is being reported — the requested order qty equals the cum qty  — order qty is amended to cum qty
14 Replace to decrease qty Cancel/replace request sent whilst execution is being reported — the requested order qty is below cum qty — order qty is amended to cum qty
15 Replace – sequence One cancel/replace request is issued which is accepted — another one is issued which is also accepted
16 Replace – sequence One cancel/replace request is issued which is rejected before order becomes pending replace — then another one is issued which is accepted
17 Replace – sequence One cancel/replace request is issued which is rejected after it is in pending replace — then another one is issued which is accepted
18 Replace – chaining One cancel/replace request is issued followed immediately by another — broker processes sequentially
19 Replace – chaining One cancel/replace request is issued followed immediately by another — broker processes pending replaces before replaces
20 Replace – chaining One cancel/replace request is issued followed immediately by another — both are rejected
21 Replace – chaining One cancel/replace request is issued followed immediately by another — broker rejects the second as order is pending replace
22 Unsolicited reports Telephoned order
23 Unsolicited reports Unsolicited cancel of a part-filled order
24 Unsolicited reports Unsolicited replacement of a part-filled order
25 Unsolicited reports Unsolicited reduction of order quantity by sell side (e.g. for US ECNs to communicate Nasdaq SelectNet declines)
26 Order reject Order rejected due to duplicate ClOrdID
27 Order reject Poss resend and duplicate ClOrdID
28 Order Reject Order rejected because the order has already been verbally submitted
29 Status Order status request rejected for unknown order
30 Status Transmitting a CMS-style "Nothing Done" in response to a status request
31 Status Order sent, immediately followed by a status request. Subsequent status requests sent during life of order
32 GT GTC order partially filled, restated (renewed) and partially filled the following day
33 GT GTC order with partial fill, a 2:1 stock split then a partial fill and fill the following day
34 GT GTC order partially filled, restated (renewed) and canceled the following day
35 GT GTC order partially filled, restated (renewed) followed by replace request to increase quantity
36 TIF Fill or Kill order cannot be filled
37 TIF Immediate or Cancel order that cannot be immediately hit
38 Execution correct/cancel Filled order, followed by correction and cancellation of executions
39 Execution correct/cancel A canceled order followed by a busted execution and a new execution
40 Execution correct/cancel GTC order partially filled, restated (renewed) and partially filled the following day, with corrections of quantity on both executions
41 Execution correct/cancel Part-filled order Done for day followed by trade correction and bust
42 Stopped/Guarantee Transmitting a guarantee of execution prior to execution
43 Trading Halt Trading Halt — Reinstate
44 Trading Halt Trading Halt — Cancel

 

The Table below shows which state transitions have been illustrated by the matrices in this Appendix (marked with an asterisk). The row represents the current value of OrdStatus and the column represents the next value as reported back to the buy-side via an execution report or order cancel reject message. Next to each OrdStatus value is its precedence — this is used when the order exists in a number of states simultaneously to determine the value that should be reported back. Note that absence of a scenario should not necessarily be interpreted as meaning that the state transition is not allowed:

OrdStatus (precedence value)
New (2)
Partially Filled (4)
Filled (8)
Done For Day (10)
Pending Cancel (12)
Pending Replace (11)
Canceled (5)
Rejected (2)
Stopped (7)
Pending New (2)
*
*
New (2)
*
*
*
*
*
*
*
*
Partially Filled (4)
*
*
*
*
*
*
Filled (8)
*
*
*
Done for Day (10)
*
Pending Cancel (12)
*
*
*
*
*
Pending Replace (11)
*
*
*
*
*
Canceled (5)
Rejected (2)
Stopped (7)
*

How to read the Order State Change Matrices:

  • The 'Execution Report' message is referred to simply as 'Execution'
  • The 'Order Cancel/Replace Request' and 'Order Cancel Request' messages are referred to as 'Replace Request' and 'Cancel Request' respectively
  • The shaded rows represent messages sent from buy-side to the sell-side
  • In general where two lines of a matrix share the same time, this means either
    • that there are two possible paths (e.g. a request is accepted or rejected) — in this case the first row of the two possible paths is the reject case which is italicized. The non-italicized row is the path that is continued by the remainder of the matrix
    • that two messages are being sent at the same time but in different directions such that the messages cross on the connection (e.g. a cancel request is sent at the same time as the sell-side is sending an execution) — in this case both lines have bold text
  • For scenarios involving cancel requests or cancel/replace requests 'X' refers to the original order, 'Y' refers to the cancel/replacing order. A similar convention is used for corrections or cancels to executions