Does cancelling single remaing fill change OrdStatus, ExecType back to New?

Imported from previous forum

[ original email was from Mark Sipos - mark@tepin.com ]

If I have an open 4.2 order will a single fill (39=1,150=1), what happens when the sell side cancels (20=1) that fill?
Should the er cancel have 39=0, 150=1 or 39=0, 150=0?

Appendix ‘D’ test case #35, would seem to imply that 150=1.
The Execution Report description, however, says
1)
New Outstanding order with no executions

2).To transmit a change in OrdStatus for an order, the broker(sell side) should send an Execution Report with the new OrdStatus value in both the ExecType AND the OrdStatus fields to signify this message is changing the state of the order.

In practice, what are firms doing? Do you think cancelling the last fill is an order state change? Or is example #35 correct?

[ original email was from Daniel Saad - dsaad@transacttools.net ]
Mark,

I believe the OrdStatus and ExecType should return to New in this scenario.

Daniel Saad
TransactTools-New York
www.transacttools.net

If I have an open 4.2 order will a single fill (39=1,150=1), what
happens when the sell side cancels (20=1) that fill? Should the er
cancel have 39=0, 150=1 or 39=0, 150=0?

Appendix ‘D’ test case #35, would seem to imply that 150=1. The
Execution Report description, however, says
1)New Outstanding order with no executions

2).To transmit a change in OrdStatus for an order, the broker(sell side)
should send an Execution Report with the new OrdStatus value in both
the ExecType AND the OrdStatus fields to signify this message is
changing the state of the order.

In practice, what are firms doing? Do you think cancelling the last fill
is an order state change? Or is example #35 correct?

Mark,

I believe the OrdStatus and ExecType should return to New in this
scenario.

Daniel Saad TransactTools-New York www.transacttools.net

If I have an open 4.2 order will a single fill (39=1,150=1), what
happens when the sell side cancels (20=1) that fill? Should the er
cancel have 39=0, 150=1 or 39=0, 150=0?

Appendix ‘D’ test case #35, would seem to imply that 150=1.

No, in the test case #35 the order is both in the state “canceled” and “new”. According to the precedence table, “canceled” shall be returned.

In your case, the order is only in the state “new.” The state “partially filled” has been reverted by the trade bust. Therefore, the precedence table does not apply and simply “new” is returned.

Hope that helps to clarify the situation.

Cheers, Jörg

The

Execution Report description, however, says
1)New Outstanding order with no executions

2).To transmit a change in OrdStatus for an order, the broker(sell
side) should send an Execution Report with the new OrdStatus value
in both the ExecType AND the OrdStatus fields to signify this
message is changing the state of the order.

In practice, what are firms doing? Do you think cancelling the last
fill is an order state change? Or is example #35 correct?

Mark,

I believe the OrdStatus and ExecType should return to New in this
scenario.

Daniel Saad TransactTools-New York www.transacttools.net

If I have an open 4.2 order will a single fill (39=1,150=1), what
happens when the sell side cancels (20=1) that fill? Should the er
cancel have 39=0, 150=1 or 39=0, 150=0?

Appendix ‘D’ test case #35, would seem to imply that 150=1.

No, in the test case #35 the order is both in the state “canceled” and
“new”. According to the precedence table, “canceled” shall be returned.

In your case, the order is only in the state “new.” The state
“partially filled” has been reverted by the trade bust. Therefore, the
precedence table does not apply and simply “new” is returned.

Hope that helps to clarify the situation.

Cheers, Jörg

The

Execution Report description, however, says
1)New Outstanding order with no executions

2).To transmit a change in OrdStatus for an order, the broker(sell
side) should send an Execution Report with the new OrdStatus value
in both the ExecType AND the OrdStatus fields to signify this
message is changing the state of the order.

In practice, what are firms doing? Do you think cancelling the last
fill is an order state change? Or is example #35 correct?

In the scenario you mentioned the engine should send 39=0, 150=0 as per transact tool, but it is sort of customised and 39=0 and 150=1 has been observed as well.
Basically for BUST events TAG 20 should be checked and 39 should be the orderstatus reached after BUST and 150 should be the Execution Type(carries) depending upon clients OMS, so the value of 150=1 is also not wrong.

Hi Folks,

There seems to be some confusion with regard to “precedence” and “reverting-back” in anand pandey’s question.

Ok, let me summarize. Precedence is applicable, if an order has several states that “co-exist” and out of which one has to be displayed. In this scenario, it is the precedence that needs to be observed.

A good example would be a “pfilled” order in “Pending cancel”. Here, two order states co-exist. It cannot be denied that its in partially filled state, while awaiting cancellation. Here, “pending cancel” is what should be shown as it has precedence.

As for trade cancellation, the implied meaning is that, a trade is cancelled (reverted back). This should mean that the order status should move to the defined (single) status depending on the values of CumQty and LeavesQty.

Another point to note here is, as per the general practice, for trade cancellations, the sell-side “Exec Type” actually carries the value of the trade that is “being” cancelled / corrected. And… ExecTransType indicates the action of the execution rpt. (Whether cancel or correct).

For buy-side clients, for order status, there is just one choice… :-

If CumQty != OrderQty, 35 = pfilled.
If CumQty == OrderQty, 35 = filled
If CumQty == 0, 35 = new.

But for exec type, the meaning of “exec type” is the action of the relevant execution report. Hence, based on the last action of the execution report, which is a trade cancel, I would propose showing “H” (Trade cancel) in the exec type. This is fairly descriptive for the order submitter and unambiguous. (Had it been trade correct, showing “G” is appropriate)

Rgds,
Thaya.

Mark,

I believe the OrdStatus and ExecType should return to New in this
scenario.

Daniel Saad TransactTools-New York www.transacttools.net

If I have an open 4.2 order will a single fill (39=1,150=1), what
happens when the sell side cancels (20=1) that fill? Should the er
cancel have 39=0, 150=1 or 39=0, 150=0?

Appendix ‘D’ test case #35, would seem to imply that 150=1.

No, in the test case #35 the order is both in the state “canceled” and
“new”. According to the precedence table, “canceled” shall be
returned.

In your case, the order is only in the state “new.” The state
“partially filled” has been reverted by the trade bust. Therefore, the
precedence table does not apply and simply “new” is returned.

Hope that helps to clarify the situation.

Cheers, Jörg

The

Execution Report description, however, says
1)New Outstanding order with no executions

2).To transmit a change in OrdStatus for an order, the broker(sell
side) should send an Execution Report with the new OrdStatus value
in both the ExecType AND the OrdStatus fields to signify this
message is changing the state of the order.

In practice, what are firms doing? Do you think cancelling the
last fill is an order state change? Or is example #35 correct?

In the scenario you mentioned the engine should send 39=0, 150=0 as per
transact tool, but it is sort of customised and 39=0 and 150=1 has been
observed as well. Basically for BUST events TAG 20 should be checked and
39 should be the orderstatus reached after BUST and 150 should be the
Execution Type(carries) depending upon clients OMS, so the value of
150=1 is also not wrong.

Hi All,

Thaya has given a good example. As he said “TradeBust” Execution Report carries the value of “ExecType” of the trade that is “being” cancelled / corrected.
Look into the example:-

  1. New Order Received from Client (35=D)
  2. Ack sent to Client (39=0 & 150=0)
  3. Partial Fill sent to Client (39=1 & 150=1)
  4. Fully Fill sent to Client (39=2 & 150=2)
    then
    if you do the trade bust on partial fill ER then your trade bust execution should be 39=1 & 150=1. if you do the trade bust on fully fill then your trade bust ER should be 39=1 & 150=2.

Hope this explanation helps you.

Hi Folks,

There seems to be some confusion with regard to “precedence” and “reverting-
back” in anand pandey’s question.

Ok, let me summarize. Precedence is applicable, if an order has several
states that “co-exist” and out of which one has to be displayed. In this
scenario, it is the precedence that needs to be observed.

A good example would be a “pfilled” order in “Pending cancel”. Here, two
order states co-exist. It cannot be denied that its in partially filled
state, while awaiting cancellation. Here, “pending cancel” is what
should be shown as it has precedence.

As for trade cancellation, the implied meaning is that, a trade is
cancelled (reverted back). This should mean that the order status should
move to the defined (single) status depending on the values of CumQty
and LeavesQty.

Another point to note here is, as per the general practice, for trade
cancellations, the sell-side “Exec Type” actually carries the value of
the trade that is “being” cancelled / corrected. And… ExecTransType
indicates the action of the execution rpt. (Whether cancel or correct).

For buy-side clients, for order status, there is just one choice… :-

If CumQty != OrderQty, 35 = pfilled. If CumQty == OrderQty, 35 = filled
If CumQty == 0, 35 = new.

But for exec type, the meaning of “exec type” is the action of the
relevant execution report. Hence, based on the last action of the
execution report, which is a trade cancel, I would propose showing “H”
(Trade cancel) in the exec type. This is fairly descriptive for the
order submitter and unambiguous. (Had it been trade correct, showing “G”
is appropriate)

Rgds, Thaya.

Mark,

I believe the OrdStatus and ExecType should return to New in this
scenario.

Daniel Saad TransactTools-New York www.transacttools.net

If I have an open 4.2 order will a single fill (39=1,150=1),
what happens when the sell side cancels (20=1) that fill? Should
the er cancel have 39=0, 150=1 or 39=0, 150=0?

Appendix ‘D’ test case #35, would seem to imply that 150=1.

No, in the test case #35 the order is both in the state “canceled”
and “new”. According to the precedence table, “canceled” shall be
returned.

In your case, the order is only in the state “new.” The state
“partially filled” has been reverted by the trade bust. Therefore,
the precedence table does not apply and simply “new” is returned.

Hope that helps to clarify the situation.

Cheers, Jörg

The

Execution Report description, however, says
1)New Outstanding order with no executions

2).To transmit a change in OrdStatus for an order, the
broker(sell side) should send an Execution Report with the new
OrdStatus value in both the ExecType AND the OrdStatus fields to
signify this message is changing the state of the order.

In practice, what are firms doing? Do you think cancelling the
last fill is an order state change? Or is example #35 correct?

In the scenario you mentioned the engine should send 39=0, 150=0 as
per transact tool, but it is sort of customised and 39=0 and 150=1 has
been observed as well. Basically for BUST events TAG 20 should be
checked and 39 should be the orderstatus reached after BUST and 150
should be the Execution Type(carries) depending upon clients OMS, so
the value of 150=1 is also not wrong.