Cancel Reduce Scenarios w/ FIX 4.1
johna@ms.com
26 Feb 1998 3:38PM ETAndrew Schorr has sent me his proposed state transition
matrix to illustrate how he'd like to handle a Partial Cancel(reduce) with a counterparty following CMS-style
partial cancel conventions. I have included a segment below.
I am also presenting how I think
one could handle the same situation with the FIX 4.1 conventions as they stand in the draft.
The scenario is a new order for 10K which is reduced to 8K
then partially executed for 5K, followed by a limit price
change, followed by a complete fill.
A. following CMS conventions:
=========================================
Dir ClOrdID OrigClOrdID OrderQty LeavesQty
New Order => X N/A 10K N/A
Accept <= X N/A 10K N/A
Cxl/Reduce(qty) => Y X 8K N/A
Part'lyCxld <= Y X 8K 8K
Exec for 5K <= X(NOT Y!) 8K 3K
Cxl/Rpl(price) => Z X(NOT Y!) 8K N/A
Replaced <= Z X 8K 3K
Exec for 3K <= Z 8K 0
B. following FIX 4.1 conventions,
using Sell side OrderID field(or SecondaryOrderID) to
respresent exchange's order id(CMS branch/seq)
quantities are not displayed due to lack of space
but they are no different than the example above:
======================================================
Dir ClOrdID OrigClOrdID OrderID(exch's id)
New Order => X N/A N/A
Accept <= X N/A X
Cxl/Rpl(qty) => Y X X
Replaced(qty) <= Y X X
Exec for 5K <= Y(Not X!) X
Cxl/Rpl(price) => Z Y X
Replaced <= Z Y(Not X!) Z
Exec for 3K <= Z Z
I won't repeat Andrew's eloquent explanation for his
approach, I'll only rebut them.
1. NYSE rules do vary from partial reduction rules
for exchanges in other countries(in the details like mixed
to round lot and vice-versa, also depending on instructions changes, etc). Several exchanges from other countries are actively
pursuing FIX interfaces and as we cannot make allowances for
each one, we need to define one consistent way of doing things as well as define how another convention can map to the FIX convention. This latter point, Andrew appropriately
points out has not been done to date; which is the
motivation for this whole effort.
2. When(if) the NYSE implements FIX, brokers/members should not
have to worry about requesting a partial cancel to maintain
the position, the NYSE should
do that work for us and tell us if we lost our position or not. If they just provide a FIX interface with all CMS conventions(add ambiguous exec price corrections,
lack of ExecID, AvgPx and CumQty fields), I for one am not
in favor of the huge effort required just to change the message format and session layer.
3. We shouldn't assume there is a one-to-one mapping of
our order id to our counterparty's order id. Some people
chain internal id's, some don't and FIX is flexible enough (with the loose OrderID requirement)to handle these
possible relationships.
John Armstrong
johna@ms.com