Cancel reject tag 39 value?

Imported from previous forum

[ original email was from Ambar Arasan - ambar.arasan@gs.com ]
When we replace/cancel an order that is active in an exchange and the exchange for some reason goes down, In that case the orders are rejected with text tag 58= Destination down. In that case what should be the value of Tag 39 ?
As per my understanding the value should be 39=0 and not 39=8.
We are receving 39=8 for a particular instance. Hence I would like to clarify with the group.

Ambar,

If the order is already accepted without any fills, then your understanding is correct. If the order is partially filled, then the Cancel reject should come with tag 39=1. In no case it can be 39=8. However some sell side systems do send this in order to reduce validation/latency when the exchange is down.

Regards
Sunil Singh

Rejecting an order that has previously been accepted is indeed not the preferred solution. I wanted to point out execution instruction (ExecInst, tag 18) values for this purpose. They specify what the receiving system should do in case of a trading halt (J,K,m), system failure (H,Q,l) or connection loss (n,o,p). I am not saying all of these need to be supported but your case seems to be Q=Cancel on system failure or o=Cancel on connection loss. If you receive explicit ExecutionReports for this then they should give you 39=4=Canceled if the order is really no longer active from the exchange perspective (and not just “hibernating”). What happens if you send it again with the same ClOrdID after it was rejected and the system is back up?

My view is that the implicit mode with ExecInst=Q or o is more efficient as it saves the exchange from having to issue all these messages. Maybe you can suggest that as an improvement and thereby get rid of the strange usage of 39=8.

Regards,
Hanno.

When we replace/cancel an order that is active in an exchange and the
exchange for some reason goes down, In that case the orders are rejected
with text tag 58= Destination down. In that case what should be the
value of Tag 39 ? As per my understanding the value should be 39=0 and
not 39=8. We are receving 39=8 for a particular instance. Hence I would
like to clarify with the group.