# Execution cancellation and OrdStatus

**URL:** <https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123>\
**Category:** General Q&A\
**Tags:** xid\_164505, 42-changes, imported\
**Created:** [March 24, 2009, 1:09pm UTC](https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123 "2009-03-24T13:09:23Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![julias\_x](https://avatars.discourse-cdn.com/v4/letter/j/eada6e/32.png) [@julias\_x](https://forum.fixtrading.org/u/julias_x)\
**Post date:** [March 24, 2009, 1:09pm UTC](https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123/1 "2009-03-24T13:09:23Z")

</div>

Imported from previous forum

---

<div class="post-metadata">

**Author:** ![julias\_x](https://avatars.discourse-cdn.com/v4/letter/j/eada6e/32.png) [@julias\_x](https://forum.fixtrading.org/u/julias_x)\
**Post date:** [March 24, 2009, 1:09pm UTC](https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123/2 "2009-03-24T13:09:23Z")

</div>

FIX 4.2  
Client sends us an order (e.g. Q = 1000), then a replacement to increase order quantity to 2000 shares \>\> We reply with OrdStatus\<39\> = Replaced(5) and OrderQty\<38\> = 2000 in the ER on replacement acceptance.  
A number of executions are created:  
q1 = 300 \>\> OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 300  
g2= 500 \>\> OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 800  
q3 = 1200 \>\> OrdStatus\<39\> = Filled, CumQty\<14\> = 2000  
Then all the executions are cancelled one by one.  
What OrdStatus\<39\> should we send when cancelling the last one of these executions? Should it be Replaced or New?

Thanks in advance,  
Julia

---

<div class="post-metadata">

**Author:** ![fplpo\_x](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@fplpo\_x](https://forum.fixtrading.org/u/fplpo_x)\
**Post date:** [March 24, 2009, 1:36pm UTC](https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123/3 "2009-03-24T13:36:57Z")

</div>

[original email was from John Prewett - [jprewett@lavatrading.com](mailto:jprewett@lavatrading.com) ]  
\> FIX 4.2 Client sends us an order (e.g. Q = 1000), then a replacement to

> increase order quantity to 2000 shares \>\> We reply with OrdStatus\<39\> =  
> Replaced(5) and OrderQty\<38\> = 2000 in the ER on replacement acceptance.  
> A number of executions are created:  
> q1 = 300 \>\> OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 300  
> q2 = 500 \>\> OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 800  
> q3 = 1200 \>\> OrdStatus\<39\> = Filled, CumQty\<14\> = 2000  
> Then all the executions are canceled one by one.  
> What OrdStatus\<39\> should we send when canceling the last one of these  
> executions? Should it be Replaced or New?
> 
> Thanks in advance, Julia

A simple question with a complex answer. Here goes.

If executions are canceled, the most important point is whether the busted shares are “re-opened” or not. This depends on the execution venue’s policy.

If busted shares are re-opened as a result of the cancellation of an execution, life is easy. The answer to your question when CumQty becomes zero as a result of the last execution being canceled is OrdStatus=new.

If busted shares are not re-opened as a result of the cancelation of an execution and the order was already closed when the execution cancels start to appear, life isn’t too bad.  
You should see the OrdStatus change to canceled, which then permits LeavesQty to remain at 0 and the equation LeavesQty = OrderQty - CumQty need not hold true (according to the FIX standards).

Problems start to arise when the order is still open when execution cancels start to flow from a venue that doesn’t re-open busted shares.  
Note that this is unusual. Most often executions are canceled long after the order is closed. It is also not the example you gave.  
According to the protocol standard, there appears to be no way to indicate that a certain amount of shares have not been re-opened as the equation LeavesQty = OrderQty - CumQty is supposed to hold true.

So I have answered your precise example, but left another problem unanswered.

I hope this helps.

JohnP

---

<div class="post-metadata">

**Author:** ![fplpo\_x](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@fplpo\_x](https://forum.fixtrading.org/u/fplpo_x)\
**Post date:** [March 25, 2009, 5:56am UTC](https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123/4 "2009-03-25T05:56:12Z")

</div>

[original email was from Carfield Yim - [carfield.w.yim@jpmorgan.com](mailto:carfield.w.yim@jpmorgan.com) ]  
\> \> FIX 4.2 Client sends us an order (e.g. Q = 1000), then a replacement

> > to increase order quantity to 2000 shares \>\> We reply with  
> > OrdStatus\<39\> = Replaced(5) and OrderQty\<38\> = 2000 in the ER on  
> > replacement acceptance. A number of executions are created: q1 = 300
> > 
> > > > OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 300 q2 = 500 \>\>  
> > > > OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 800 q3 = 1200 \>\>  
> > > > OrdStatus\<39\> = Filled, CumQty\<14\> = 2000 Then all the executions are  
> > > > canceled one by one. What OrdStatus\<39\> should we send when canceling  
> > > > the last one of these executions? Should it be Replaced or New?
> > 
> > Thanks in advance, Julia
> 
> A simple question with a complex answer. Here goes.
> 
> If executions are canceled, the most important point is whether the  
> busted shares are “re-opened” or not. This depends on the execution  
> venue’s policy.
> 
> If busted shares are re-opened as a result of the cancellation of an  
> execution, life is easy. The answer to your question when CumQty becomes  
> zero as a result of the last execution being canceled is OrdStatus=new.
> 
> If busted shares are not re-opened as a result of the cancelation of an  
> execution and the order was already closed when the execution cancels  
> start to appear, life isn’t too bad. You should see the OrdStatus change  
> to canceled, which then permits LeavesQty to remain at 0 and the  
> equation LeavesQty = OrderQty - CumQty need not hold true (according to  
> the FIX standards).
> 
> Problems start to arise when the order is still open when execution  
> cancels start to flow from a venue that doesn’t re-open busted shares.  
> Note that this is unusual. Most often executions are canceled long after  
> the order is closed. It is also not the example you gave. According to  
> the protocol standard, there appears to be no way to indicate that a  
> certain amount of shares have not been re-opened as the equation  
> LeavesQty = OrderQty - CumQty is supposed to hold true.
> 
> So I have answered your precise example, but left another problem  
> unanswered.
> 
> I hope this helps.
> 
> JohnP

Great information, as in the spec. there is nothing mentioned about status need to change when trade bust, I thought it just remind the same all the time. Thanks for the information.

---

<div class="post-metadata">

**Author:** ![anandpandey32\_x](https://avatars.discourse-cdn.com/v4/letter/a/7ba0ec/32.png) [@anandpandey32\_x](https://forum.fixtrading.org/u/anandpandey32_x)\
**Post date:** [April 3, 2009, 12:46pm UTC](https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123/5 "2009-04-03T12:46:34Z")

</div>

> > > FIX 4.2 Client sends us an order (e.g. Q = 1000), then a replacement  
> > > to increase order quantity to 2000 shares \>\> We reply with  
> > > OrdStatus\<39\> = Replaced(5) and OrderQty\<38\> = 2000 in the ER on  
> > > replacement acceptance. A number of executions are created: q1 = 300
> > > 
> > > > > OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 300 q2 = 500 \>\>  
> > > > > OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 800 q3 = 1200 \>\>  
> > > > > OrdStatus\<39\> = Filled, CumQty\<14\> = 2000 Then all the executions  
> > > > > are canceled one by one. What OrdStatus\<39\> should we send when  
> > > > > canceling the last one of these executions? Should it be Replaced  
> > > > > or New?
> > > 
> > > Thanks in advance, Julia
> > 
> > A simple question with a complex answer. Here goes.
> > 
> > If executions are canceled, the most important point is whether the  
> > busted shares are “re-opened” or not. This depends on the execution  
> > venue’s policy.
> > 
> > If busted shares are re-opened as a result of the cancellation of an  
> > execution, life is easy. The answer to your question when CumQty  
> > becomes zero as a result of the last execution being canceled is  
> > OrdStatus=new.
> > 
> > If busted shares are not re-opened as a result of the cancelation of  
> > an execution and the order was already closed when the execution  
> > cancels start to appear, life isn’t too bad. You should see the  
> > OrdStatus change to canceled, which then permits LeavesQty to remain  
> > at 0 and the equation LeavesQty = OrderQty - CumQty need not hold true  
> > (according to the FIX standards).
> > 
> > Problems start to arise when the order is still open when execution  
> > cancels start to flow from a venue that doesn’t re-open busted shares.  
> > Note that this is unusual. Most often executions are canceled long  
> > after the order is closed. It is also not the example you gave.  
> > According to the protocol standard, there appears to be no way to  
> > indicate that a certain amount of shares have not been re-opened as  
> > the equation LeavesQty = OrderQty - CumQty is supposed to hold true.
> > 
> > So I have answered your precise example, but left another problem  
> > unanswered.
> > 
> > I hope this helps.
> > 
> > JohnP
> 
> Great information, as in the spec. there is nothing mentioned about  
> status need to change when trade bust, I thought it just remind the same  
> all the time. Thanks for the information.

No , in the FIX specificatio there is a matrix which gives what should be the correct status after busts.  
please refer to the pdf in the website. it give the values for TAG 150 and TAG 39 what value they should contain after the bust.  
basically whenever an ER in FIX.4.2 conatins value 20=1 it means this is a bust execution and then check the Order status which shows the current status of the order.

---

<div class="post-metadata">

**Author:** ![fplpo\_x](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@fplpo\_x](https://forum.fixtrading.org/u/fplpo_x)\
**Post date:** [May 17, 2009, 10:35am UTC](https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123/6 "2009-05-17T10:35:14Z")

</div>

[original email was from John Greenan - [john.greenan@alignment-systems.com](mailto:john.greenan@alignment-systems.com) ]  
See also [http://www.fixprotocol.org/discuss/read/8f68ad19](http://www.fixprotocol.org/discuss/read/8f68ad19)

---

<div class="post-metadata">

**Author:** ![amitvavle\_x](https://avatars.discourse-cdn.com/v4/letter/a/aca169/32.png) [@amitvavle\_x](https://forum.fixtrading.org/u/amitvavle_x)\
**Post date:** [December 23, 2009, 11:57am UTC](https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123/7 "2009-12-23T11:57:52Z")

</div>

> > > > FIX 4.2 Client sends us an order (e.g. Q = 1000), then a  
> > > > replacement to increase order quantity to 2000 shares \>\> We reply  
> > > > with OrdStatus\<39\> = Replaced(5) and OrderQty\<38\> = 2000 in the ER  
> > > > on replacement acceptance. A number of executions are created: q1  
> > > > = 300
> > > > 
> > > > > > OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 300 q2 = 500 \>\>  
> > > > > > OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 800 q3 = 1200 \>\>  
> > > > > > OrdStatus\<39\> = Filled, CumQty\<14\> = 2000 Then all the executions  
> > > > > > are canceled one by one. What OrdStatus\<39\> should we send when  
> > > > > > canceling the last one of these executions? Should it be Replaced  
> > > > > > or New?
> > > > 
> > > > Thanks in advance, Julia
> > > 
> > > A simple question with a complex answer. Here goes.
> > > 
> > > If executions are canceled, the most important point is whether the  
> > > busted shares are “re-opened” or not. This depends on the execution  
> > > venue’s policy.
> > > 
> > > If busted shares are re-opened as a result of the cancellation of an  
> > > execution, life is easy. The answer to your question when CumQty  
> > > becomes zero as a result of the last execution being canceled is  
> > > OrdStatus=new.
> > > 
> > > If busted shares are not re-opened as a result of the cancelation of  
> > > an execution and the order was already closed when the execution  
> > > cancels start to appear, life isn’t too bad. You should see the  
> > > OrdStatus change to canceled, which then permits LeavesQty to remain  
> > > at 0 and the equation LeavesQty = OrderQty - CumQty need not hold  
> > > true (according to the FIX standards).
> > > 
> > > Problems start to arise when the order is still open when execution  
> > > cancels start to flow from a venue that doesn’t re-open busted  
> > > shares. Note that this is unusual. Most often executions are  
> > > canceled long after the order is closed. It is also not the example  
> > > you gave. According to the protocol standard, there appears to be no  
> > > way to indicate that a certain amount of shares have not been re-  
> > > opened as the equation LeavesQty = OrderQty - CumQty is supposed to  
> > > hold true.
> > > 
> > > So I have answered your precise example, but left another problem  
> > > unanswered.
> > > 
> > > I hope this helps.
> > > 
> > > JohnP
> > 
> > Great information, as in the spec. there is nothing mentioned about  
> > status need to change when trade bust, I thought it just remind the  
> > same all the time. Thanks for the information.
> 
> No , in the FIX specificatio there is a matrix which gives what should  
> be the correct status after busts. please refer to the pdf in the  
> website. it give the values for TAG 150 and TAG 39 what value they  
> should contain after the bust. basically whenever an ER in FIX.4.2  
> conatins value 20=1 it means this is a bust execution and then check the  
> Order status which shows the current status of the order.

From Amit  
Taking the same situatin ahead, can some one help me, what should be the value of ClOrdId to carry while sending Trade Bust msg for case where multiple replaces / amendments have been processed on the same order.  
For e.g  
if For tag11=A1, tag32=100, tag14=100, tag38=100, tag17=111  
then For tag11=B1, tag41=A1, tag32=100, tag14=200, tag17=222  
now while sending trade bust what value should these 2 fills shall carry  
in tag 11  
Thanks in advance.

---

<div class="post-metadata">

**Author:** ![fplpo\_x](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@fplpo\_x](https://forum.fixtrading.org/u/fplpo_x)\
**Post date:** [December 24, 2009, 3:30am UTC](https://forum.fixtrading.org/t/execution-cancellation-and-ordstatus/12123/8 "2009-12-24T03:30:58Z")

</div>

[original email was from Harish Kamaley - [harish.kamaley@wipro.com](mailto:harish.kamaley@wipro.com) ]  
\> \> \> \> \> FIX 4.2 Client sends us an order (e.g. Q = 1000), then a

> > > > > replacement to increase order quantity to 2000 shares \>\> We  
> > > > > reply with OrdStatus\<39\> = Replaced(5) and OrderQty\<38\> = 2000  
> > > > > in the ER on replacement acceptance. A number of executions are  
> > > > > created: q1  
> > > > > = 300
> > > > > 
> > > > > > > OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 300 q2 = 500
> > > > > > > 
> > > > > > > > >
> > > > > 
> > > > > OrdStatus\<39\> = Partially Filled, CumQty\<14\> = 800 q3 = 1200 \>\>  
> > > > > OrdStatus\<39\> = Filled, CumQty\<14\> = 2000 Then all the  
> > > > > executions are canceled one by one. What OrdStatus\<39\> should we  
> > > > > send when canceling the last one of these executions? Should it  
> > > > > be Replaced or New?
> > > > > 
> > > > > Thanks in advance, Julia
> > > > 
> > > > A simple question with a complex answer. Here goes.
> > > > 
> > > > If executions are canceled, the most important point is whether  
> > > > the busted shares are “re-opened” or not. This depends on the  
> > > > execution venue’s policy.
> > > > 
> > > > If busted shares are re-opened as a result of the cancellation of  
> > > > an execution, life is easy. The answer to your question when  
> > > > CumQty becomes zero as a result of the last execution being  
> > > > canceled is OrdStatus=new.
> > > > 
> > > > If busted shares are not re-opened as a result of the cancelation  
> > > > of an execution and the order was already closed when the  
> > > > execution cancels start to appear, life isn’t too bad. You should  
> > > > see the OrdStatus change to canceled, which then permits LeavesQty  
> > > > to remain at 0 and the equation LeavesQty = OrderQty - CumQty need  
> > > > not hold true (according to the FIX standards).
> > > > 
> > > > Problems start to arise when the order is still open when  
> > > > execution cancels start to flow from a venue that doesn’t re-open  
> > > > busted shares. Note that this is unusual. Most often executions  
> > > > are canceled long after the order is closed. It is also not the  
> > > > example you gave. According to the protocol standard, there  
> > > > appears to be no way to indicate that a certain amount of shares  
> > > > have not been re- opened as the equation LeavesQty = OrderQty -  
> > > > CumQty is supposed to hold true.
> > > > 
> > > > So I have answered your precise example, but left another problem  
> > > > unanswered.
> > > > 
> > > > I hope this helps.
> > > > 
> > > > JohnP
> > > 
> > > Great information, as in the spec. there is nothing mentioned about  
> > > status need to change when trade bust, I thought it just remind the  
> > > same all the time. Thanks for the information.
> > 
> > No , in the FIX specificatio there is a matrix which gives what should  
> > be the correct status after busts. please refer to the pdf in the  
> > website. it give the values for TAG 150 and TAG 39 what value they  
> > should contain after the bust. basically whenever an ER in FIX.4.2  
> > conatins value 20=1 it means this is a bust execution and then check  
> > the Order status which shows the current status of the order.
> 
> From Amit Taking the same situatin ahead, can some one help me, what  
> should be the value of ClOrdId to carry while sending Trade Bust msg for  
> case where multiple replaces / amendments have been processed on the  
> same order. For e.g if For tag11=A1, tag32=100, tag14=100, tag38=100,  
> tag17=111 then For tag11=B1, tag41=A1, tag32=100, tag14=200, tag17=222  
> now while sending trade bust what value should these 2 fills shall carry  
> in tag 11 Thanks in advance.

Hi Amit

When you bust a trade, the importance will be given to tag 19(ExecRefID-it will tell us which ExecID you wanted to bust) and tag 11 will carry the latest ClOrdID value.

I saw a slightly similar e.g. in fix-42-with\_errata\_20010501.doc, page no. 234, D35 matrix.

Regards
