Order State Change Matrices
Filled order
Time | Request (ClOrdID,OrigClOrdID) | Response (ClOrdID,OrigClOrdID) | ExecType | OrdStatus | OrderQty | CumQty | LeavesQty | LastQty | Comment |
|---|---|---|---|---|---|---|---|---|---|
1 | NewOrderSingle(A) | 10 | |||||||
2 | ExecutionReport(A) | PendingNew | PendingNew | 10 | 0 | 10 | |||
3 | ExecutionReport(A) | Rejected | Rejected | 10 | 0 | 10 | If order is rejected | ||
3 | ExecutionReport(A) | New | New | 10 | 0 | 10 | |||
4 | ExecutionReport(A) | Trade | PartiallyFilled | 10 | 2 | 8 | 2 | ||
5 | ExecutionReport(A) | Trade | PartiallyFilled | 10 | 3 | 7 | 1 | ||
6 | ExecutionReport(A) | Trade | Filled | 10 | 10 | 0 | 7 |
Canceled order
Time | Request (ClOrdID,OrigClOrdID) | Response (ClOrdID,OrigClOrdID) | ExecType | OrdStatus | OrderQty | CumQty | LeavesQty | LastQty | Comment |
|---|---|---|---|---|---|---|---|---|---|
1 | NewOrderSingle(A) | 10 | |||||||
2 | ExecutionReport(A) | PendingNew | PendingNew | 10 | 0 | 10 | |||
3 | ExecutionReport(A) | Rejected | Rejected | 10 | 0 | 10 | If order is rejected | ||
3 | ExecutionReport(A) | New | New | 10 | 0 | 10 | |||
4 | OrderCancelRequest(B,A) | ||||||||
5 | OrderCancelRejected(B,A) | New | 10 | 0 | 10 | If cancel is rejected | |||
5 | ExecutionReport(B,A) | PendingCancel | PendingCancel | 10 | 0 | 10 | |||
6 | OrderCancelRejected(B,A) | New | 10 | 0 | 10 | If cancel is rejected | |||
7 | ExecutionReport(B,A) | Canceled | Canceled | 10 | 0 | 0 |
Replace to increase quantity
Time | Request (ClOrdID,OrigClOrdID) | Response (ClOrdID,OrigClOrdID) | ExecType | OrdStatus | OrderQty | CumQty | LeavesQty | LastQty | Comment |
|---|---|---|---|---|---|---|---|---|---|
1 | NewOrderSingle(A) | 10 | |||||||
2 | ExecutionReport(A) | PendingNew | PendingNew | 10 | 0 | 10 | |||
3 | ExecutionReport(A) | New | New | 10 | 0 | 10 | |||
4 | OrderCancel/ReplaceRequest(B,A) | 11 | |||||||
5 | OrderCancelRejected(B,A) | New | 10 | 0 | 10 | If replace is rejected | |||
5 | ExecutionReport(B,A) | PendingReplace | PendingReplace | 10 | 0 | 10 | |||
6 | New | New | |||||||
6 | ExecutionReport(B,A) | Replaced | New | 11 | 0 | 0 | |||
7 | ExecutionReport(B) | Trade | PartiallyFilled | 11 | 1 | 10 | 1 |
Replace during fill
Time | Request (ClOrdID,OrigClOrdID) | Response (ClOrdID,OrigClOrdID) | ExecType | OrdStatus | OrderQty | CumQty | LeavesQty | LastQty | Comment |
|---|---|---|---|---|---|---|---|---|---|
1 | NewOrderSingle(A) | 10 | |||||||
2 | ExecutionReport(A) | PendingNew | PendingNew | 10 | 0 | 10 | |||
3 | ExecutionReport(A) | New | New | 10 | 0 | 10 | |||
4 | OrderCancel/ReplaceRequest(B,A) | 8 | |||||||
5 | ExecutionReport(A) | Trade | PartiallyFilled | 10 | 1 | 9 | 1 | Fill before replace is received | |
6 | ExecutionReport(B,A) | PendingReplace | PendingReplace | 10 | 1 | 9 | |||
7 | ExecutionReport(A) | Trade | PendingReplace | 10 | 3 | 7 | 2 | Fill before replace is processed | |
8 | ExecutionReport(B,A) | Replaced | New | 8 | 3 | 5 | |||
9 | ExecutionReport(B) | Trade | Filled | 8 | 8 | 0 | 5 |
Updated 3 months ago
