OrderCancelReplace after Partial Fill - Tag38

Imported from previous forum

All,

I have a question about how this case should be handled. I looked in the spec and couldn’t find this scenario.

  1. I send a NOS (38=74, LIMIT, 44=107.6)
  2. I receive ack that it is NEW.
  3. I receive a partial fill (38=74, 32=1, 151=73, 44=107.59)
  4. I then send a CancelReplaceRequest (44=107.6, 38=74???)
  5. I receive a partial fill (38=73, 32=1, 151=72, 44=107.6)
  6. I receive a partial fill (38=73, 32=19, 151=53, 44=107.6)
  7. I receive a fill (38=73, 32=53, 151=0, 44=107.6).

I think there are a few problems with this. My issue is mostly with #4. When I send out the CancelReplace what should tag 38 be? Should it be 74 (original orderqty) OR should it be 73 (the unfilled quantity)?

And finally the last fill came in with 150=2, 39=2. Should I have received a final partial fill with a quantity of 53 and THEN received a fill?

There might be something wrong with the partial fills because of something we are doing. This is from a simulated exchange that we’ve created in house. I can change both sides, I just want to know how the FIX spec defines this scenario.

thanks!

[ original email was from Ryan Pierce - ryan.pierce@lehman.com ]
An Order Cancel/Replace Request should always consider order quantity to include any shares already traded. In #4, assuming you only want to trade 74 shares in total, including the 1 share already traded, then 38=74. If you send 34=73, then you would be asking the exchange to reduce the order quantity by 1, and 72 shares would be open which, if filled, will result in 73 shares total trading for that order.

Assuming you don’t want to reduce the total quantity, then in #4 you should send 38=74. Assuming you did that, #5-#7 are incorrect as 38=74, but the LeavesQty’s appear correct for the LastShares values given.

The final trade should have 150=2 and 39=2, at least in FIX 4.2.

Plenty of examples of Cancel/Replace scenarios are in the FIX 4.2 Appendix D.

[ original email was from sonitta peeler - sonitta.peeler@bofasecurities.com ]
> All,

I have a question about how this case should be handled. I looked in the
spec and couldn’t find this scenario.

  1. I send a NOS (38=74, LIMIT, 44=107.6)
  2. I receive ack that it is NEW. 3. I receive a partial fill (38=74,
    32=1, 151=73, 44=107.59) 4. I then send a CancelReplaceRequest
    (44=107.6, 38=74???) 5. I receive a partial fill (38=73, 32=1,
    151=72, 44=107.6) 6. I receive a partial fill (38=73, 32=19, 151=53,
    44=107.6) 7. I receive a fill (38=73, 32=53, 151=0, 44=107.6).

I think there are a few problems with this. My issue is mostly with #4.
When I send out the CancelReplace what should tag 38 be? Should it be 74
(original orderqty) OR should it be 73 (the unfilled quantity)?

And finally the last fill came in with 150=2, 39=2. Should I have
received a final partial fill with a quantity of 53 and THEN
received a fill?

There might be something wrong with the partial fills because of
something we are doing. This is from a simulated exchange that we’ve
created in house. I can change both sides, I just want to know how the
FIX spec defines this scenario.

thanks!

OrderQty should not change, i see when you are sending partial fills you are sending 38=73, this is OrderQty not LeavesQty, so it shouldn’t change, try keeping it as it is and see if it works.

Thanks
Sonitta

Till you are getting the Replaced status i.e 150=5, your 38 should not change. When you receive 150=5 and in your 35=G you want to change 38 then after it will maintain the new value in 38.
As far as partial fill & fills are concern, it effects to Tag# 14,151,30,31 and 32 but not 38.
Amiya.

All,

I have a question about how this case should be handled. I looked in
the spec and couldn’t find this scenario.

  1. I send a NOS (38=74, LIMIT, 44=107.6) 2. I receive ack that it is
    NEW. 3. I receive a partial fill (38=74, 32=1, 151=73, 44=107.59) 4. I
    then send a CancelReplaceRequest (44=107.6, 38=74???) 5. I receive a
    partial fill (38=73, 32=1, 151=72, 44=107.6) 6. I receive a partial
    fill (38=73, 32=19, 151=53, 44=107.6) 7. I receive a fill (38=73,
    32=53, 151=0, 44=107.6).

I think there are a few problems with this. My issue is mostly with
#4. When I send out the CancelReplace what should tag 38 be? Should it
be 74 (original orderqty) OR should it be 73 (the unfilled quantity)?

And finally the last fill came in with 150=2, 39=2. Should I have
received a final partial fill with a quantity of 53 and THEN
received a fill?

There might be something wrong with the partial fills because of
something we are doing. This is from a simulated exchange that we’ve
created in house. I can change both sides, I just want to know how the
FIX spec defines this scenario.

thanks!

OrderQty should not change, i see when you are sending partial fills you
are sending 38=73, this is OrderQty not LeavesQty, so it shouldn’t
change, try keeping it as it is and see if it works.

Thanks Sonitta

Hi,
What Amiya is telling is right once you receive the replaced ER then you will get your replaced value in TAG 38 in the fix message.
Until you dont receive the replace ER the value in tag 38 will be same as it was in new order.

So once the order is replaced you should get 150=5 and 39=1 if the order is partially filled, in this message you will see the replaced order qty (which is 73 as mentioned by you).

Regards,
Girish.

Till you are getting the Replaced status i.e 150=5, your 38 should not

change. When you receive 150=5 and in your 35=G you want to change 38
then after it will maintain the new value in 38. As far as partial
fill & fills are concern, it effects to Tag# 14,151,30,31 and 32 but
not 38. Amiya.

All,

I have a question about how this case should be handled. I looked in
the spec and couldn’t find this scenario.

  1. I send a NOS (38=74, LIMIT, 44=107.6) 2. I receive ack that it is
    NEW. 3. I receive a partial fill (38=74, 32=1, 151=73, 44=107.59) 4.
    I then send a CancelReplaceRequest (44=107.6, 38=74???) 5. I receive
    a partial fill (38=73, 32=1, 151=72, 44=107.6) 6. I receive a
    partial fill (38=73, 32=19, 151=53, 44=107.6) 7. I receive a fill
    (38=73, 32=53, 151=0, 44=107.6).

I think there are a few problems with this. My issue is mostly with
#4. When I send out the CancelReplace what should tag 38 be? Should

it

be 74 (original orderqty) OR should it be 73 (the unfilled
quantity)?

And finally the last fill came in with 150=2, 39=2. Should I have
received a final partial fill with a quantity of 53 and THEN
received a fill?

There might be something wrong with the partial fills because of
something we are doing. This is from a simulated exchange that we’ve
created in house. I can change both sides, I just want to know how
the FIX spec defines this scenario.

thanks!

OrderQty should not change, i see when you are sending partial fills
you are sending 38=73, this is OrderQty not LeavesQty, so it shouldn’t
change, try keeping it as it is and see if it works.

Thanks Sonitta