Just like to know for an order in pending replace state (i.e. broker has replied with a pending replace message tags - 150=E, 39=5) due to receiving an amend quantity down, if there is a fill for the new order quantity, should the broker respond with tag 39=2 and tag 150=5 and tag 151=0 ? Like tag 39 should not be 5 as Filled precedence (8) is bigger than Replaced precedence (3) ?
E.g. amend quantity from 4000 to 3000 and then there is a fill for 3000 shares while the replace is happening.
If you’re referencing Appendix D of FIX 4.2 spec, your use case very similar to D11 to D13. It is unclear in your post which order the ExecutionReport would be referring to in the ClOrdID - that would an important piece of information. Take a look at D11 to D13 again and see if that answers your question and pay attention to what the ClOrdID and OrigClOrdID are as that might help you. If not feel free to come back to this thread.
Using the Appendix D convention where the Replace Request (ClOrdID,OrigClOrdID) is represented by Y,X, the single broker message referring to here has ClOrdID = Y. As such, will the above tag values be correct where at the same time, both tags 32 and 14 are 3000?
Thanks again.
They should not be the same values. I think your use case is closest to D11 in Appendix D. D11 shows a partial fill “in flight” after the customer has sent the replace request, therefore the ER references the order X, then followed by another ER with 150=5 and 39=2
Yes, this is FIX 4.2 and related to Appendix D
Just to reiterate and confirm, like to know the correct value of tag 39 in the last execution report for the following message exchange sequence between the buy and sell side:
buy side sell side
buy
4000 shares
2. ack 4000 shares
amend 4000 to 3000
4. send amend pending ack
5. send a single execution report indicating both the amend
is accepted and there had been an execution of 3000 shares
For the single execution report in (5) above, should tag 39=2,tag 150=5 and tag 151=0 (and tag 14=3000)?
Your scenario is very similar to D7 in Appendix D lines 5 followed by 7. The ClOrdID should be Y (new) and OrigClOrdID should be X (prior), 39=2, 150=5, and 151=0 with 14=3000 is correct.
@wof352020, in FIX 4.2 each event was sent in a separate message. There would not be a single ER confirming both the replacement and the execution. If you want to multiple events into a single message then please have a look at Chapter 2.3 Immediate Order Execution Upon Entry or Modification in EP188. The Extension Pack is about the application level optimisation.
Thanks Itaikit, Hanno for the response and reminder. I checked the 4.2 FIX specs and it does say that “Execution information should not be communicated in the same report as one which communicates other state changes”. Here, for example, there should be one execution report with 39=1, 38=4000 follow by one with 39=5 and 38=3000, unless both parties agreed to use the Extension Pack. It is all clear now.