Cancel Message Response

Imported from previous forum

We have an OMS which receives orders in FIX format
from our customers. The OMS can route an individual order to multiple services by splitting it. When we receive a Cancel message from our customer, we will send Cancel messages to the services where we have routed this order. When we start getting messages back from the services saying they have accepted and performed the cancellation, does FIX allow to send back those individually to our customer or we should accumulate and send one message to the customer after all the messages have been received from all the services?

Thanks

I would think that you would want to convey this from the customer’s perspective in that the indvidual order is not fully cancelled until all of the other split orders are cancelled. I would recommend sending an ExecRpt with OrdStatus=Pending Cancel until everything is cancelled at which point you would send the ExecRpt with OrdStatus=Cancelled. You might send a Pending Cancel each time a split order is ack’d as cancelled to provide some sort of “progression” of the cancels.

> We have an OMS which receives orders in FIX format
> from our customers. The OMS can route an individual order to multiple services by splitting it. When we receive a Cancel message from our customer, we will send Cancel messages to the services where we have routed this order. When we start getting messages back from the services saying they have accepted and performed the cancellation, does FIX allow to send back those individually to our customer or we should accumulate and send one message to the customer after all the messages have been received from all the services?
>
> Thanks
>
>
>

[ original email was from Ryan Pierce - rpierce@taltrade.com ]
I agree with Scott. You must not send ExecType and OrdStatus of Cancelled until all the smaller orders are confirmed as cancelled.

Now if you have a business requirement to inform the client of the quantities of the individual cancels (i.e. want to say that 500 shares of your 1000 share order are cancelled) it can be done in FIX 4.2 using the concept of Restatement, using the "partial decline" functionality.

However, doing so is available in 4.2 only, is somewhat complex and non-obvious, and I would not suggest it unless this is a business requirement.

Would you adjust the OrderQty in each
execution report to reflect the cancelled qty?

[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> Would you adjust the OrderQty in each
> execution report to reflect the cancelled qty?

If using 4.2 restatement, that is exactly what is happening.

And as I said, it is somewhat counter-intuitive for this case. Hence I’d suggest you just ack the cancel (ExecType=Pending Cancel) and wait until every cancel completed, only then sending ExecType=Cancelled, unless there is a very compelling business reason to do otherwise.