FIX Trading Community

 

 Remember me

Register  |   Lost password?

4.4 Changes

Discussions > 4.4 Changes > Fill and Partial fill messages on Fix4.4

Fill and Partial fill messages on Fix4.4

Complete message thread from old site

FIX Trading Community
14 July 2008 7:56am

[ original email was from sunilkumar T M - sunilkumartm@hotmail.com ]
Hi All,

As per FIX4.4 specifications, fills and partial fills are reported back with ExecType=F.
The fill / partial-fill messages when the order is in Pending Replace / Pending Cancel are reported back with 150=F and [39 = E or 39 = 6]. Is there any definite way to identify a message as fill in this scenario?

Hanno Klein
15 July 2008 3:28pm

> Hi All,
>
> As per FIX4.4 specifications, fills and partial fills are reported back
> with ExecType=F. The fill / partial-fill messages when the
> order is in Pending Replace / Pending Cancel are reported back with
> 150=F and [39 = E or 39 = 6]. Is there any definite way to identify a
> message as fill in this scenario?

Which piece of the specs do you refer to exactly? The ExecType (150=F) tells you that a fill occurred, the quantities tell you if it was partial or full and 39 (OrdStatus) tells you that you still have an outstanding replace or cancel (scenario D.1.a, Vol 4, page 58)

Jason Chung
15 July 2008 5:09pm

> Hi All,
>
> As per FIX4.4 specifications, fills and partial fills are reported back
> with ExecType=F. The fill / partial-fill messages when the
> order is in Pending Replace / Pending Cancel are reported back with
> 150=F and [39 = E or 39 = 6]. Is there any definite way to identify a
> message as fill in this scenario?

try to understand your question:

you want to see a message with have these tag
....150=6_39=2...

or

....150=E_39=2...

I never see above combination, so I dont think it is possible. How can you have a pending cancel while the order already fill?

so get a cancel reject type message.

please correct me if I am wrong

Regards,
Jason

Reply to this

FIX Trading Community
16 July 2008 4:16am

[ original email was from sunilkumar T M - sunilkumartm@hotmail.com ]
> > Hi All,
> >
> > As per FIX4.4 specifications, fills and partial fills are reported
> > back with ExecType=F. The fill / partial-fill messages when
> > the order is in Pending Replace / Pending Cancel are reported back
> > with 150=F and [39 = E or 39 = 6]. Is there any definite way to
> > identify a message as fill in this scenario?
>
> Which piece of the specs do you refer to exactly? The ExecType (150=F)
> tells you that a fill occurred, the quantities tell you if it was
> partial or full and 39 (OrdStatus) tells you that you still have an
> outstanding replace or cancel (scenario D.1.a, Vol 4, page 58)

Thanks Klein.

In FIX4.2, just by looking at tag 150 value on the execution report, we can confirm whether the order is filled or not.
In FIX 4.4, in the above scenario, we need to put an extra validation on the Leaves Qty (or Cum Qty) to confirm whether the order is filled or not. Else we need to wait for the response to the cancel/replace request to confirm that the Order is filled or not.I think FIX4.2 handles this scenario better than FIX4.4

FIX Trading Community
16 July 2008 4:27am

[ original email was from sunilkumar T M - sunilkumartm@hotmail.com ]
> > Hi All,
> >
> > As per FIX4.4 specifications, fills and partial fills are reported
> > back with ExecType=F. The fill / partial-fill messages when
> > the order is in Pending Replace / Pending Cancel are reported back
> > with 150=F and [39 = E or 39 = 6]. Is there any definite way to
> > identify a message as fill in this scenario?
>
> try to understand your question:
>
> you want to see a message with have these tag ....150=6_39=2...
>
> or
>
> ....150=E_39=2...
>
> I never see above combination, so I dont think it is possible. How can
> you have a pending cancel while the order already fill?
>
> so get a cancel reject type message.
>
> please correct me if I am wrong
>
> Regards, Jason
>
> Reply to this

'am talking about messages with
39=6,150=F
39=E,150=F

Agree that as per protocol,Pending Cancel is not possible on a filled order.However Pending Replace is possible.See example C.1.c– Filled order, followed by cancel/replace request to increase order quantity (volume 4,fix4.4 specification document)

Mark Thomson
16 July 2008 11:28pm

> Agree that as per protocol,Pending Cancel is not possible on a filled
> order.

Actually you can have a pending cancel for a filled order. See the following scenario:

1. Order has Open qty left
2. Client sends in OrderCancel
3. Before Order Cancel is actioned. Remaining qty is filled on the Order.
4. The client will receive 150=Trade 39=Pending Cancel. (Note Pending Cancel has a higher ord status precedence than Filled)
5. The client then should receive a OrderCancelReject rejecting his cancelled as the order has been filled

FIX Trading Community
17 July 2008 2:40am

[ original email was from sunilkumar T M - sunilkumartm@hotmail.com ]
> > Agree that as per protocol,Pending Cancel is not possible on a
> > filled order.
>
> Actually you can have a pending cancel for a filled order. See the
> following scenario:
>
> 1. Order has Open qty left
> 2. Client sends in OrderCancel
> 3. Before Order Cancel is actioned. Remaining qty is filled on the
> Order. 4. The client will receive 150=Trade 39=Pending Cancel. (Note
> Pending Cancel has a higher ord status precedence than Filled)
> 4. The client then should receive a OrderCancelReject rejecting his
> cancelled as the order has been filled
I intended to say,it's not a practice to cancel a filled order(hence cannot have a pending cancel),but can amend Qty upward on a filled order(hence can have a pending replace).

FIX Trading Community
18 July 2008 11:18am

[ original email was from Carfield Yim - carfield.w.yim@jpmorgan.com ]
> > Agree that as per protocol,Pending Cancel is not possible on a
> > filled order.
>
> Actually you can have a pending cancel for a filled order. See the
> following scenario:
>
> 1. Order has Open qty left
> 2. Client sends in OrderCancel
> 3. Before Order Cancel is actioned. Remaining qty is filled on the
> Order. 4. The client will receive 150=Trade 39=Pending Cancel. (Note
> Pending Cancel has a higher ord status precedence than Filled)
> 4. The client then should receive a OrderCancelReject rejecting his
> cancelled as the order has been filled

Yes, we encounter this case a lot, and then ClOrdID mess up. Do you think which layer should handle this situation? OMS layer? Or Exchange Connectivity layer?

Anand Pandey
23 February 2009 5:06am

> > > Agree that as per protocol,Pending Cancel is not possible on a
> > > filled order.
> >
> > Actually you can have a pending cancel for a filled order. See the
> > following scenario:
> >
> > 1. Order has Open qty left
> > 2. Client sends in OrderCancel
> > 3. Before Order Cancel is actioned. Remaining qty is filled on the
> > Order. 4. The client will receive 150=Trade 39=Pending Cancel.
> > (Note Pending Cancel has a higher ord status precedence than
> > Filled)
> > 4. The client then should receive a OrderCancelReject rejecting his
> > cancelled as the order has been filled
>
> Yes, we encounter this case a lot, and then ClOrdID mess up. Do you
> think which layer should handle this situation? OMS layer? Or Exchange
> Connectivity layer?

These RACE condition 99% menat for DMA where Qty up is not allowed so their is no Buy side sending such orders.
For DISC order hardly this happens thats the reason why we see lot of unsol stuff.
For pending canc scenario the pending status message would be showing 150=1 and 39=6 and then a 39=2 and then a canc reject.If we do like this it is very clear for the corresponding system.

Hanno Klein
23 February 2009 7:42pm

Scenario seems inconsistent. Step 3 says that order cancel has not been actioned yet. This means that there is no knowledge about the intended cancellation and thus OrderStatus=Pending Cancel is not possible when reporting the fill. You would need to "look ahead" to know that a cancel is coming while preparing the unsolicited report for the fill. I would rather assume sequential processing of requests.

Regards,
Hanno.

> > Agree that as per protocol,Pending Cancel is not possible on a
> > filled order.
>
> Actually you can have a pending cancel for a filled order. See the
> following scenario:
>
> 1. Order has Open qty left
> 2. Client sends in OrderCancel
> 3. Before Order Cancel is actioned. Remaining qty is filled on the
> Order. 4. The client will receive 150=Trade 39=Pending Cancel. (Note
> Pending Cancel has a higher ord status precedence than Filled)
> 4. The client then should receive a OrderCancelReject rejecting his
> cancelled as the order has been filled