Order Status on Bust message when last execution is busted after the amend is accepted.

Hello Everyone,
We are trying to understand the behavior of Tag39 in FIX 4.2 on a Trade Bust Messages, specifically - Trade Bust (TB) after an amend transaction on the order.

  • Given the Replace is already accepted, when the last execution is busted order goes into working state.
    Which is a better represntation of the working state of the order, 39=0 or 39=5.
    Confusion is occuring around order status precedence between Replace and New where replace has a higher precedence over new.

Scenarios -

  1. NOS->PF->ORD_REPL->TB(PF) - (39=0 and 150=1) or (39=5 and 150=1)
  2. NOS->ORD_REPL->PF->TB(PF) - (39=0 and 150=1) or (39=5 and 150=1)
  3. NOS->ORD_REPL->FF->TB(FF) - (39=0 and 150=2) or (39=5 and 150=2)
  4. NOS->FF->ORD_REPL_AmmedUp->TB(FF) - (39=0 and 150=2) or (39=5 and 150=2)

Hello @keshavsahay,

even if the OrdStatus PARTIALLY_FILLED or FILLED is reverted by the Trade Bust the order stays amended, i.e. quantities have been changed. Therefore, the OrdStatus REPLACED continues
to have a higher precedence than NEW. The order according to the state change matrix in Appendix D
of the FIX 4.2 specification is for the above states:

NEW(1)
REPLACED(3)
PARTIALLY_FILLED(4)
FILLED(8)

So as soon as the order has been replaced, NEW should never occur.
But REPLACED may be superseded by PARTIALLY_FILLED or FILLED
unless these states have been reverted by trade busts:

if CumQty = OrderQty => FILLED
if CumQty > 0 => PARTIALLY_FILLED
if CumQty = 0 => REPLACED

So in all of your 4 scenarios I would say 39=5.

Cheers, Jörg

1 Like

Agree with @jorgthonnes. Orders are a vehicle to become zero, one or multiple trades. An order is only NEW as long as it has never been modified or executed. Just because a fully filled order is amended to have more than zero quantity again does not make it a new order. Equally, a trade bust reinstating the initial quantity when the order was submitted does not make it a new order again. NEW means that the recipient should never have seen it before in order to avoid duplicate order submissions.

1 Like

@hanno.klein
per below -
" An order is only NEW as long as it has never been modified or executed"

So, for the Example below, should we go back to 0? given this order was executed?
NOS->PF→TB(PF)

Thank you so much for the response.