Imported from previous forum
[ original email was from Andrew Hamilton - andrew.hamilton@chelmer.co.nz ]
Hi - I have a scenario for an exchange gateway where FIX clients place market orders as 40=1.
Where there are no opposing orders the exchange cancels the order.
Where the order is partially filled, the exchange converts the remainder to a limit order under the same OrderID with price = last trade price.
The FIX client did not set 40=K (Market with leftover limit) so the change is unsolicited.
Assuming the following order is placed, then partially matched:
35=D, 54=1, 40=1, 38=100
35=8, 54=1, 40=1, 38=100, 37=1, 39=1, 150=F, 32=40, 31=22.50, 151=60
how should I report the change in order type to the FIX client?
My thoughts were to go as follows:
35=8, 54=1, 40=2, 38=100, 37=1, 39=1, 150=D, 32=0, 31=0, 44=22.50, 151=60
Can anyone guide on this please? thanks in advance
[ original email was from Sunil Singh - sunil.singh@gs.com ]
Hi Andrew,
Using Unsolicited Replace msg type to communicate this changes looks fine. The only issue I forsee is that a lot of Buy side clients don’t support this message type and might DK your ER.
Regards,
Sunil Singh
[ original email was from Andrew Hamilton - andrew.hamilton@chelmer.co.nz ]
Thanks for your feedback Sunil, good point
If possible I want to avoid having to change the way the trading engine handles the remainder of the order - although it is an option if restating turns out to be a big issue.
We could specify that those who don’t want restatements should place immediate market orders (40=1, 59=3), in which case the trading engine will cancel any remaining unmatched qty.
Hi - I have a scenario for an exchange gateway where FIX clients place
market orders as 40=1.Where there are no opposing orders the exchange cancels the order. Where
the order is partially filled, the exchange converts the remainder to a
limit order under the same OrderID with price = last trade price.The FIX client did not set 40=K (Market with leftover limit) so the
change is unsolicited.Assuming the following order is placed, then partially matched: 35=D,
54=1, 40=1, 38=100 35=8, 54=1, 40=1, 38=100, 37=1, 39=1, 150=F, 32=40,
31=22.50, 151=60how should I report the change in order type to the FIX client?
My thoughts were to go as follows: 35=8, 54=1, 40=2, 38=100, 37=1, 39=1,
150=D, 32=0, 31=0, 44=22.50, 151=60Can anyone guide on this please? thanks in advance
Market Order can get into one or more partial Execution as per the depth of the books. So, that is within the acceptable rules of all execution.
Unsolicited cancel is the issue you would like to resolve here. Most of the system accepts unsolicited Cancelled status of any order. Probably you can generate unsolicited cancels as you received from Exchange without changing the order parameter. I believe exchange also sends messages with out changing the order parameter. Unless your client has specific limitation in his system, hopefully this should work with for FIX order scenarios (Like Done for day).