Appendix D: Order State Change Matrices

D.1.c — One cancel/replace request is issued which is rejected after it is in pending replace — then another one is issued which is accepted

Time Message Received (ClOrdID, OrigClOrdID) Message Sent (ClOrdID, OrigClOrdID) Exec Type OrdStatus Order Qty Cum Qty Leaves Qty Last Qty Comment
1 New Order(X)       10000        
2   Execution(X) Rejected Rejected 10000 0 0 0 If order is rejected by sell-side (broker, exchange, ECN)
2   Execution(X) New New 10000 0 10000 0  
3   Execution(X) Trade Partially Filled 10000 1000 9000 1000 Execution for 1000
4 Replace Request(Y,X)       8000       Request decrease in order quantity to 8000, leaving 7000 open
5   Execution (Y,X) Pending Replace Pending Replace 10000 1000 9000 0  
6   Execution(X) Trade Pending Replace 10000 1500 8500 500 Execution for 500. "Pending replace" order status takes precedence over "partially filled" order status
7   Cancel Reject (Y,X) Partially Filled Request is rejected (e.g. by trader/exchange)
8   Execution(X) Trade Partially Filled 10000 3500 6500 2000 Execution for 2000
9 Replace Request(Z,X)       6000       Request decrease in order quantity to 6000, leaving 2500 open. Note that OrigClOrdID = X as this is the last non rejected ClOrdID
10   Execution (Z,X) Pending Replace Pending Replace 10000 3500 6500 0  
11   Cancel Reject (Z,X) Partially Filled If request is rejected (e.g. by trader/exchange)
11   Execution (Z,X) Replace Partially Filled 6000 3500 2500 0  
12   Execution(Z) Trade Partially Filled 6000 5000 1000 1500 Execution for 1500

Back to Appendix D: Order State Change Matrices