how to identify a cancel on an acked order in 4.2

Imported from previous forum

I sent an order in a test enviroment, exchange acked it and then the exchange canceled it before the order got any fills.

First question; is such a scenario even possible ?

Secondly, if it is then the execution report I get for such cancel is almost the same as the execution report I get for a Cancel ORder request initiated by me. How do I differentiate between the two ?
I noticed the execution report in response of a Cancel Order Request initiated by me includes ORIG_CLI_ORD_ID=41 tag and the execution report of a Cancel initiated by the exchange does not have this tag. Is this the only difference ? Is there a better way of identifying such a trade ?
FIX version = 4.2

Bil,

You are correct in your observation. Absence of tag 41 in a Cancelled ER is the only way to identify whether the cancel was initiated by the buy side or the sell side.
Also one more option is to look for the pending Cancel ER which will not be sent if the cancel is initiated by the exchange but since thats not mandatory, some sell sides ignore this rule and only send a cancelled ER in response to a Cancel request sent by the client.

Regards,
Sunil Singh

Thanks Sunil.

Bil,

You are correct in your observation. Absence of tag 41 in a Cancelled
ER is the only way to identify whether the cancel was initiated by the
buy side or the sell side. Also one more option is to look for the
pending Cancel ER which will not be sent if the cancel is initiated by
the exchange but since thats not mandatory, some sell sides ignore this
rule and only send a cancelled ER in response to a Cancel request sent
by the client.

Regards, Sunil Singh

Hi Bil,

Just out of curiosity, do you have any reason to identify a unsolicited cancel from a client requested cancel? I’m trying to figure out whether we should be concerned as well.

Heshan.

Thanks Sunil.

Bil,

You are correct in your observation. Absence of tag 41 in a Cancelled
ER is the only way to identify whether the cancel was initiated by the
buy side or the sell side. Also one more option is to look for the
pending Cancel ER which will not be sent if the cancel is initiated by
the exchange but since thats not mandatory, some sell sides ignore
this rule and only send a cancelled ER in response to a Cancel request
sent by the client.

Regards, Sunil Singh

There may not be any specific reason to differentiate cxl-ack from unsolicited-cxl from an exchange management perspective but order management might need to differentiate it for transaction management.

When a cxl-request is sent by a front end, for example, typcially the order mangement has an open transaction and is waiting for a response - the cxl could get rejected or accepted. At that point, the user may not be allowed to modify the order or send repeated cxl messages out.

In case of unsolicited cxl message, the message is received and processed differently as there is no open transaction on the order management side and the user might be in the middle of let’s say modifying the order.

  • Ashish

Hi Bil,

Just out of curiosity, do you have any reason to identify a unsolicited
cancel from a client requested cancel? I’m trying to figure out whether
we should be concerned as well.

Heshan.

Thanks Sunil.

Bil,

You are correct in your observation. Absence of tag 41 in a
Cancelled ER is the only way to identify whether the cancel was
initiated by the buy side or the sell side. Also one more option is
to look for the pending Cancel ER which will not be sent if the
cancel is initiated by the exchange but since thats not mandatory,
some sell sides ignore this rule and only send a cancelled ER in
response to a Cancel request sent by the client.

Regards, Sunil Singh

Hi Ashish,

Thank you for you input. If those are the only reasons then we are covered. We are operating a smart order routing utility and exactly what you mentioned is done within the system.

thanks,
Heshan.

There may not be any specific reason to differentiate cxl-ack from unsolicited-
cxl from an exchange management perspective but order management might
need to differentiate it for transaction management.

When a cxl-request is sent by a front end, for example, typcially the
order mangement has an open transaction and is waiting for a response -
the cxl could get rejected or accepted. At that point, the user may not
be allowed to modify the order or send repeated cxl messages out.

In case of unsolicited cxl message, the message is received and
processed differently as there is no open transaction on the order
management side and the user might be in the middle of let’s say
modifying the order.

  • Ashish

Hi Bil,

Just out of curiosity, do you have any reason to identify a
unsolicited cancel from a client requested cancel? I’m trying to
figure out whether we should be concerned as well.

Heshan.

Thanks Sunil.

Bil,

You are correct in your observation. Absence of tag 41 in a
Cancelled ER is the only way to identify whether the cancel was
initiated by the buy side or the sell side. Also one more option
is to look for the pending Cancel ER which will not be sent if the
cancel is initiated by the exchange but since thats not mandatory,
some sell sides ignore this rule and only send a cancelled ER in
response to a Cancel request sent by the client.

Regards, Sunil Singh

There is another way for understanding the difference between the Client initiated cancel and Unsol cancel is to look for TAG 378…The Restated reson would be present ony when the Cancel is generated from Sell Side.
say 378=4 Broker Option. You can check for this also. It should be same even if Exchange cancels the order.

Hi Ashish,

Thank you for you input. If those are the only reasons then we are
covered. We are operating a smart order routing utility and exactly what
you mentioned is done within the system.

thanks, Heshan.

There may not be any specific reason to differentiate cxl-ack from unsolicited-
cxl from an exchange management perspective but order management might
need to differentiate it for transaction management.

When a cxl-request is sent by a front end, for example, typcially the
order mangement has an open transaction and is waiting for a response

  • the cxl could get rejected or accepted. At that point, the user may
    not be allowed to modify the order or send repeated cxl messages out.

In case of unsolicited cxl message, the message is received and
processed differently as there is no open transaction on the order
management side and the user might be in the middle of let’s say
modifying the order.

  • Ashish

Hi Bil,

Just out of curiosity, do you have any reason to identify a
unsolicited cancel from a client requested cancel? I’m trying to
figure out whether we should be concerned as well.

Heshan.

Thanks Sunil.

Bil,

You are correct in your observation. Absence of tag 41 in a
Cancelled ER is the only way to identify whether the cancel was
initiated by the buy side or the sell side. Also one more option
is to look for the pending Cancel ER which will not be sent if
the cancel is initiated by the exchange but since thats not
mandatory, some sell sides ignore this rule and only send a
cancelled ER in response to a Cancel request sent by the client.

Regards, Sunil Singh