# São Paulo Exchange - TradeCancel

**URL:** <https://forum.fixtrading.org/t/sao-paulo-exchange-tradecancel/12121>\
**Category:** General Q&A\
**Tags:** xid\_164503, 42-changes, imported\
**Created:** [April 6, 2009, 4:04am UTC](https://forum.fixtrading.org/t/sao-paulo-exchange-tradecancel/12121 "2009-04-06T04:04:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![eltonmelo\_x](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.fixtrading.org/eltonmelo_x/32/57_2.png) [@eltonmelo\_x](https://forum.fixtrading.org/u/eltonmelo_x)\
**Post date:** [April 6, 2009, 4:04am UTC](https://forum.fixtrading.org/t/sao-paulo-exchange-tradecancel/12121/1 "2009-04-06T04:04:56Z")

</div>

Imported from previous forum

---

<div class="post-metadata">

**Author:** ![eltonmelo\_x](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.fixtrading.org/eltonmelo_x/32/57_2.png) [@eltonmelo\_x](https://forum.fixtrading.org/u/eltonmelo_x)\
**Post date:** [April 6, 2009, 4:04am UTC](https://forum.fixtrading.org/t/sao-paulo-exchange-tradecancel/12121/2 "2009-04-06T04:04:56Z")

</div>

Hello,

I was reviewing the FIX specs for Bovespa (São Paulo Exchange), and also some posts about busted executions.

In Bovespa specs, there is an interesting point regarding “TradeCancel” (busted executions). Their document states:

\<\< Note: Since there is no appropriate tag for trade cancellation – TradeCancel – the Text field (tag 58) will be used instead observing the “TCQ=XXXXXXX” standard format, where XXXXXXX is the cancelled trade quantity. \>\>

…

So, I would like to know:

(1) How do other Exchanges inform the number of busted shares? Do they use LastShares (tag 32)?

(2) Let’s say that:

- a broker sends a NewOrder for 10,000 shares;
- the Exchange anwsers with an Ack and a PartialFill for 1,000 shares;
- the Exchange sends a \*partial bust" for 500 shares.

I suppose the current ExecutionReport tags cannot inform this situation. Anyway, this kind of “partial bust” is not usual; probably the Exchange will bust the whole execution (referred in ExecRefID).

Thanks!

---

<div class="post-metadata">

**Author:** ![eltonmelo\_x](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.fixtrading.org/eltonmelo_x/32/57_2.png) [@eltonmelo\_x](https://forum.fixtrading.org/u/eltonmelo_x)\
**Post date:** [April 6, 2009, 1:35pm UTC](https://forum.fixtrading.org/t/sao-paulo-exchange-tradecancel/12121/3 "2009-04-06T13:35:19Z")

</div>

> Hello,
> 
> I was reviewing the FIX specs for Bovespa (São Paulo Exchange), and  
> also some posts about busted executions.
> 
> In Bovespa specs, there is an interesting point regarding “TradeCancel”  
> (busted executions). Their document states:
> 
> \<\< Note: Since there is no appropriate tag for trade cancellation –  
> TradeCancel – the Text field (tag 58) will be used instead observing  
> the “TCQ=XXXXXXX” standard format, where XXXXXXX is the cancelled trade  
> quantity. \>\>
> 
> …
> 
> So, I would like to know:
> 
> (1) How do other Exchanges inform the number of busted shares? Do they  
> use LastShares (tag 32)?
> 
> (2) Let’s say that:
> 
> - a broker sends a NewOrder for 10,000 shares;
> - the Exchange anwsers with an Ack and a PartialFill for 1,000 shares;
> - the Exchange sends a \*partial bust" for 500 shares.
> 
> I suppose the current ExecutionReport tags cannot inform this situation.  
> Anyway, this kind of “partial bust” is not usual; probably the Exchange  
> will bust the whole execution (referred in ExecRefID).

By the way: Bovespa FIX doesn’t support ExecTransType = Correct (tag 20=2), which could be used to modify an incorrectly reported fill.

Thanks!

---

<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:** [April 7, 2009, 2:49pm UTC](https://forum.fixtrading.org/t/sao-paulo-exchange-tradecancel/12121/4 "2009-04-07T14:49:21Z")

</div>

[original email was from Nicholas Tuttle - [nicholas.tuttle@na.linedata.com](mailto:nicholas.tuttle@na.linedata.com) ]  
Hi. (disclaimer: this description is how my company’s OMS handles busts/corrections)  
Per the FIX protocol description of tags 31 and 32 we require those fields to be 0 (ie, 31=0, 32=0) on all busts and trade corrections. So a bust with 19=1234, 20=1, 31=0, 32=0 would cancel all shares from the fill of exec report 17=1234. The only way to “bust” SOME shares of a fill is to send a correction with 20=2 where 32 carries the corrected qty, but it sounds like this isn’t an option.  
The simplest thing to do for you would be to bust the whole partial fill and then send a new partial.

> > Hello,
> > 
> > I was reviewing the FIX specs for Bovespa (São Paulo Exchange), and  
> > also some posts about busted executions.
> > 
> > In Bovespa specs, there is an interesting point regarding  
> > “TradeCancel” (busted executions). Their document states:
> > 
> > \<\< Note: Since there is no appropriate tag for trade cancellation –  
> > TradeCancel – the Text field (tag 58) will be used instead observing  
> > the “TCQ=XXXXXXX” standard format, where XXXXXXX is the cancelled  
> > trade quantity. \>\>
> > 
> > …
> > 
> > So, I would like to know:
> > 
> > (1) How do other Exchanges inform the number of busted shares? Do they  
> > use LastShares (tag 32)?
> > 
> > (2) Let’s say that:
> > 
> > - a broker sends a NewOrder for 10,000 shares;
> > - the Exchange anwsers with an Ack and a PartialFill for 1,000 shares;
> > - the Exchange sends a \*partial bust" for 500 shares.
> > 
> > I suppose the current ExecutionReport tags cannot inform this  
> > situation. Anyway, this kind of “partial bust” is not usual; probably  
> > the Exchange will bust the whole execution (referred in ExecRefID).
> 
> By the way: Bovespa FIX doesn’t support ExecTransType = Correct (tag  
> 20=2), which could be used to modify an incorrectly reported fill.
> 
> Thanks!
