Imported from previous forum
taken the following scenario
-> new order 35=D 38=10000
<- ack 35=8 39=0 150=0
-> amend request 35=G 38=5000
<- pending replace 35=8 39=E 150=E
<- complete fill of 10,000 shares 35=8 150=2… should order status be 2 or E? 39=2 or 39=E?
<- replace rejection
The answer for this question is 39=2. The replace rejection message should also contain 39=2 and 35=9 (Replace reject).
Vikram
taken the following scenario
→ new order 35=D 38=10000
← ack 35=8 39=0 150=0
→ amend request 35=G 38=5000
← pending replace 35=8 39=E 150=E
← complete fill of 10,000 shares 35=8 150=2… should order status be 2
or E? 39=2 or 39=E?← replace rejection
[ original email was from Roman Dultsin - RDultsin@riptidetrading.com ]
In an execution report the OrdStatus [39] is used to convey the current state of the order. If an order simultaneously exists in more than one order state, the value with highest precedence is the value that is reported in the OrdStatus [39] field.
In the given example, at the moment of complete fill, the order simultaneously exists in two states:
- E = Pending Replace (precedence 11)
- 2 = Filled (precedence 8)
The Pending Replace status has a higher precedence over Filled status. Therefore, value of OrdStatus [39] on the complete fill should be E = Pending Replace.
The answer for this question is 39=2. The replace rejection message
should also contain 39=2 and 35=9 (Replace reject).Vikram
taken the following scenario
→ new order 35=D 38=10000
← ack 35=8 39=0 150=0
→ amend request 35=G 38=5000
← pending replace 35=8 39=E 150=E
← complete fill of 10,000 shares 35=8 150=2… should order status be
2 or E? 39=2 or 39=E?← replace rejection
Thanks Roman! Posting the precedence table taken from the 4.2 spec.
Each execution report contains three fields which are used to communicate both the current state of the order as understood by the broker and the purpose of the message: OrdStatus, ExecType and ExecTransType.
In an execution report the OrdStatus is used to convey the current state of the order. If an order simultaneously exists in more than one order state, the value with highest precedence is the value that is reported in the OrdStatus field. The order statuses are as follows (in highest to lowest precedence):
Precedence OrdStatus Description
12 Pending Cancel Order with an Order Cancel Request pending, used to confirm receipt of an Order Cancel Request. DOES NOT INDICATE THAT THE ORDER HAS BEEN CANCELED.
11 Pending Replace Order with an Order Cancel/Replace Request pending, used to confirm receipt of an Order Cancel/Replace Request. DOES NOT INDICATE THAT THE ORDER HAS BEEN REPLACED.
10 Done for Day Order not, or partially, filled; no further executions forthcoming for the trading day
9 Calculated Order has been completed for the day (either filled or done for day). Commission or currency settlement details have been calculated and reported in this execution message
8 Filled Order completely filled, no remaining quantity
7 Stopped Order has been stopped at the exchange. Used when guranteeing or protecting a price and quantity
6 Suspended Order has been placed in suspended state at the request of the client.
5 Canceled Canceled order with or without executions
5 Expired Order has been canceled in broker’s system due to time in force instructions.
4 Partially Filled Outstanding order with executions and remaining quantity
3 Replaced Replaced order with or without executions
2 New Outstanding order with no executions
2 Rejected Order has been rejected by broker. NOTE: An order can be rejected subsequent to order acknowledgment, i.e. an order can pass from New to Rejected status.
2 Pending New Order has been received by brokers system but not yet accepted for execution. An execution message with this status will only be sent in response to a Status Request message.
1 Accepted for bidding Order has been received and is being evaluated for pricing. It is anticipated that this status will only be used with the “Disclosed” BidType List Order Trading model.
In an execution report the OrdStatus [39] is used to convey the current
state of the order. If an order simultaneously exists in more than one
order state, the value with highest precedence is the value that is
reported in the OrdStatus [39] field.In the given example, at the moment of complete fill, the order
simultaneously exists in two states:
- E = Pending Replace (precedence 11)
- 2 = Filled (precedence 8)
The Pending Replace status has a higher precedence over Filled status.
Therefore, value of OrdStatus [39] on the complete fill should be E =
Pending Replace.The answer for this question is 39=2. The replace rejection message
should also contain 39=2 and 35=9 (Replace reject).Vikram
taken the following scenario
→ new order 35=D 38=10000
← ack 35=8 39=0 150=0
→ amend request 35=G 38=5000
← pending replace 35=8 39=E 150=E
← complete fill of 10,000 shares 35=8 150=2… should order status
be 2 or E? 39=2 or 39=E?← replace rejection
[ original email was from Jeremy Sutton - jezza.sutton@patsystems.com ]
And then when the cancel reject is received, your order has only one state, which is “complete” and 39=2.