Appendix D: Order State Change Matrices

D.2.b — One cancel/replace request is issued followed immediately by another — broker processes pending replaces before replaces

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) 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 Replace Request(Z,Y)       7000       Request decrease in order quantity to 7000, leaving 6000 open. Note OrigClOrdID set to last non rejected ClOrdID i.e. Y
6   Execution (Y,X) Pending Replace Pending Replace 10000 1000 9000 0 Broker processes Replace (Y,X) first
7   Execution (Z,X) Pending Replace Pending Replace 8000 1000 7000 0 Broker then processes Replace (Z,Y). Note OrigClOrdID set to last accepted ClOrdID i.e. X
8   Execution (Y,X) Replace Pending Replace 8000 1000 7000 0 Broker processes Replace (Y,X) first Note OrigClOrdID set to last accepted ClOrdID i.e. X. OrdStatus of Pending Replace takes precedence over Partially Filled
9   Execution (Z,Y) Replace Partially Filled 7000 1000 6000 0 Broker then processes Replace (Z,Y) Note OrigClOrdID set to last accepted ClOrdID i.e. Y
10   Execution(Z) Trade Filled 7000 7000 0 6000 Execution for 6000

Back to Appendix D: Order State Change Matrices