|
General Q/A
< Previous Next >
Re: Cancel Replace Quantities
John Prewett / Lava Trading 2 Sep 2008 2:51PM ET Deviating from the subject somewhat, I must admit that I don't particularly like the way the FIX standard stipulates that you manage a cxl/replace request where OrderQty is reduced to less than (or equal to) the already executed quantity.
FIX stipulates, as Sri correctly mentioned in the last post, that you issue an ExecReport with ExecType=replaced; OrdStatus=filled; OrderQty=CumQty; LeavesQty=0. For examples of the standard, please see FIX.5.0 SP1 Volume 4 example c.3.b and c.3.c.
I don't like the concept of altering the OrderQty on an ExecReport and I believe many simplistic OMS engines wouldn't even be looking for this to change and might get angry if you return an OrderQty value that wasn't what they submitted.
I prefer handling the issue in a non-standard way that has a much higher probability of keeping even the simplest of OMS in sync with the correct order state. Please notice that this method works just fine with all versions of FIX.
I send out two messages:
1. Unsolicited cancel of the original order.
2. CancelReject for the cxl/replace request.
This should guarantee that the OMS handles the situation correctly and the order ends up in the correct state.
The only downsides are:
A. Not obeying the FIX standard. I therefore strongly disapprove of myself.
B. The OMS may alert users upon receipt of an unsolicited cancel.
Comments?
JohnP
Re: Cancel Replace Quantities John Prewett / Lava Trading 2 Sep 2008 2:51PM ET |