Cancel / Replace as modify

Imported from previous forum

[ original email was from Azriel Horowitz - azriel@mash.com ]
As of FIX 4.1 it becomes clear that a cancel /replace works as a modify, as opposed to a new order.
In CMS a cancel/replace is treated as a new order. I’m referring in particular to an order with a partial execution. In CMS you are canceling the leaves quantity and replacing it with an order that does not carry with it the filled quantity of the original order.
In FIX 4.1 the fills quantity carries forward.
Example:

Original order has a quantity of 1,000.
300 gets filled.
The sending firm wishes to change the limit price but keep the same quantity.

In CMS you cancel 700 and replace with 700.
In FIX 4.1 you replace the order with a order of 1000, and are not concerned with the fills quantity since the receiving firm will handle it by carrying it forward to the new order.
The FIX 4.1 version eliminates the sending firm the need to be concerned with an "in-flight execution."
The problem is that many firms using FIX have existing systems that understand a cancel/replace to be CMS style. Since they are currently communicating with their customers with that understanding, they will have a lot of difficulty using FIX for cancel/replace. One thing that becomes necessary is the use of a ‘cancel quantity’ field. So that if there is an “in-fight execution” while sending the cancel/replace they don’t inadvertantly replace the order with a quantity that is too high.
Perhaps it would be beneficial to have a new message type for the traditional cancel/replace. That will be tailored to these needs.

Azriel Horowitz
Programmer Analyst
Mayer & Schweitzer /Charles Schwab CMT