Table of Contents
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:
A Vanilla
B Cancel
C Cancel/Replace quantity changes
C.1 Replace to increase quantity
C.2 Replace not for quantity change
C.3 Replace to decrease quantity
D Cancel/Replace sequencing and chaining
D.1 Sequencing
D.2 Chaining
E Unsolicited/Reinstatement
F Order Reject
G Status
H GT
I TimeInForce
J Execution Cancels/Corrects
K Trading Halt
L Miscellaneous
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
|