Appendix D: Order State Change Matrices

21 – One cancel/replace request is issued followed immediately by another — broker rejects the second as order is pending replace

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 OrigCOrdID set to last non rejected ClOrdID i.e. Y
6   Execution (Y,X) Pending Replace Pending Replace 10000 1000 9000 0
7   Cancel Reject (Z,X) Pending Replace Rejected because broker does not support processing of order cancel replace request whilst order is pending cancel. CxlRejReason = "Order already in pending cancel or pending replace status" OrigClOrdID set to last accepted ClOrdID i.e. X
8   Execution (Y,X) Replace Partially Filled 8000 1000 7000 0
9   Execution (Y) Trade Partially Filled 8000 3000 5000 2000 Execution for 2000

This matrix illustrates the case where the broker/order receiver does not support multiple outstanding order cancel or order cancel/replace requests

Back to Appendix D: Order State Change Matrices

Onix Solutions