Order Id's and Cancel/Replace messages

Imported from previous forum

Hi

I would like to know which, as far as FIX is concerned, of the following two statements is more correct.

  1. When a Cancel/Replace request is received and accepted by an Order Management system, the execution report contains the broker assigned order id of the original order. That is, the existing order is ‘updated’ with the new fields in the cancel/replace request.

  2. When a Cancel/Replace request is received and accepted by an Order Management system, the old order is cancelled, and a new order is created. All fields in the new order that has not been changed by the Cancel/Replace Request inherit their values from the original order, while the fields that was changed get their values from the cancel replace request. The execution report contains the broker assigned order id of the new order. That is, the existing order is literally cancelled and replaced with a new order that is formed by superimposing the fields in the cancel replace request on the fields in the replaced order.

I realise to FIXperts it would seem like a naive question, but I would really appreciate if someone could clarify this for me.

Thanx
Herman

[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> 1. When a Cancel/Replace request is received and accepted by an Order Management system, the execution report contains the broker assigned order id of the original order. That is, the existing order is ‘updated’ with the new fields in the cancel/replace request.
>
> 2. When a Cancel/Replace request is received and accepted by an Order Management system, the old order is cancelled, and a new order is created. All fields in the new order that has not been changed by the Cancel/Replace Request inherit their values from the original order, while the fields that was changed get their values from the cancel replace request. The execution report contains the broker assigned order id of the new order. That is, the existing order is literally cancelled and replaced with a new order that is formed by superimposing the fields in the cancel replace request on the fields in the replaced order.

As far as OrderID’s are concerned, both of the above are correct. The sell-side can choose either to preserve the original OrderID through the Cancel/Replace, or to assign a new OrderID.

However, note that regardless of what is chosen, the partial fills from the first order are kept around in subsequent revisions of the order.

For example, in this situation:

Order: 1000 shares
Partial Fill: 300 shares
Cancel/Replace: 500 shares

This means that the total quantity of the order is being reduced from 1000 to 500. That means that, if accepted, the order would have an open, or LeavesQty, of 200 shares, and if filled, the customer would take home 500 shares in total. It does NOT mean that the new LeavesQty should be set to 500, causing the customer to take home 800 shares in total.

Appendix D in FIX 4.1-4.2, or its equivalent in FIX 4.3, provide numerous Cancel/Replace examples to illustrate this.