OrdStatus Rejected after partial fills

Imported from previous forum

Hi,

Is execution report with OrdStatus Rejected valid after order request was accepted and partially filled?

My test order [FIX 4.4, forex, 35=D, 40=1, 59=3] was executed in following sequence execution reports:

New -> Partial fill -> Partial fill -> New (2nd time) -> Rejected

Last 2 execution report had cumulative quantity and average price fields set to correct values. LeavesQty was set to 0 in the last one.

Regards,
Adam Szojda

[ original email was from Khody Azmoon - khody.azmoon@gmail.com ]
Adam,

Unless I misread something, I think based on the description of LeavesQty below from FIXimate, LeavesQty having a value of 0 in the last execution report where the remaining order was rejected is okay.

“Quantity open for further execution. If the OrdStatus (39) is Canceled, DoneForTheDay, Expired, Calculated, or Rejected (in which case the order is no longer active) then LeavesQty could be 0, otherwise LeavesQty = OrderQty (38) – CumQty (4).”

http://www.fixprotocol.org/FIXimate3.0/en/FIX.4.4/tag151.html

I hope that helps.

Best Regards,

Khody Azmoon

Hi,

Is execution report with OrdStatus Rejected valid after order request was accepted and partially filled?

My test order [FIX 4.4, forex, 35=D, 40=1, 59=3] was executed in following sequence execution reports:

New → Partial fill → Partial fill → New (2nd time) → Rejected

Last 2 execution report had cumulative quantity and average price fields set to correct values. LeavesQty was set to 0 in the last one.

Regards,
Adam Szojda

Hi,

Yes, the meaning of LeavesQty is clear to me - and I don’t have any problems with that. I am confused by the rejection.

After reading order state change matrices in VOL4 I was under the impression that order cannot be Rejected once it’s been accepted and Partially Filled. At that point it may be Canceled or Expired but not Rejected.

Order request can be Rejected only immediately after message is received or ofter order states Pending New and New.

Am I right? Or should I study VOL4 more?

Regards,
Adam Szojda

Adam,

Unless I misread something, I think based on the description of LeavesQty below from FIXimate, LeavesQty having a value of 0 in the last execution report where the remaining order was rejected is okay.

“Quantity open for further execution. If the OrdStatus (39) is Canceled, DoneForTheDay, Expired, Calculated, or Rejected (in which case the order is no longer active) then LeavesQty could be 0, otherwise LeavesQty = OrderQty (38) – CumQty (4).”

http://www.fixprotocol.org/FIXimate3.0/en/FIX.4.4/tag151.html

I hope that helps.

Best Regards,

Khody Azmoon

Hi,

Is execution report with OrdStatus Rejected valid after order request was accepted and partially filled?

My test order [FIX 4.4, forex, 35=D, 40=1, 59=3] was executed in following sequence execution reports:

New → Partial fill → Partial fill → New (2nd time) → Rejected

Last 2 execution report had cumulative quantity and average price fields set to correct values. LeavesQty was set to 0 in the last one.

Regards,
Adam Szojda

What is the meaning of the second New in your sequence of events? How can the order transition from Partial Fill to New?

Thank you,
Hanno.

Hi,

Is execution report with OrdStatus Rejected valid after order request was accepted and partially filled?

My test order [FIX 4.4, forex, 35=D, 40=1, 59=3] was executed in following sequence execution reports:

New → Partial fill → Partial fill → New (2nd time) → Rejected

Last 2 execution report had cumulative quantity and average price fields set to correct values. LeavesQty was set to 0 in the last one.

Regards,
Adam Szojda

Their explanation is that my order was modified by their system. It created new order for the amount left after partial fills and that new order was rejected.

What is the meaning of the second New in your sequence of events? How can the order transition from Partial Fill to New?

Thank you,
Hanno.

Hi,

Is execution report with OrdStatus Rejected valid after order request was accepted and partially filled?

My test order [FIX 4.4, forex, 35=D, 40=1, 59=3] was executed in following sequence execution reports:

New → Partial fill → Partial fill → New (2nd time) → Rejected

Last 2 execution report had cumulative quantity and average price fields set to correct values. LeavesQty was set to 0 in the last one.

Regards,
Adam Szojda

An unsolicited new order is quite unusual, a rejection of something that the user never submitted as a new order is not ok. A new order starts a new chain of ClOrdID values. The order receiver should stay within the same chain when he modifies the order. He can issue a new OrderID to indicate a new entity from his point of view but has to follow the submitter’s chain of events, i.e. to use “Replaced” or “Restated” and not “New”.

Their explanation is that my order was modified by their system. It created new order for the amount left after partial fills and that new order was rejected.

What is the meaning of the second New in your sequence of events? How can the order transition from Partial Fill to New?

Thank you,
Hanno.

Hi,

Is execution report with OrdStatus Rejected valid after order request was accepted and partially filled?

My test order [FIX 4.4, forex, 35=D, 40=1, 59=3] was executed in following sequence execution reports:

New → Partial fill → Partial fill → New (2nd time) → Rejected

Last 2 execution report had cumulative quantity and average price fields set to correct values. LeavesQty was set to 0 in the last one.

Regards,
Adam Szojda

Thank you for the explanations - I needed it to confirm that my understanding of FIX specs is correct.

Regards,
Adam Szojda

An unsolicited new order is quite unusual, a rejection of something that the user never submitted as a new order is not ok. A new order starts a new chain of ClOrdID values. The order receiver should stay within the same chain when he modifies the order. He can issue a new OrderID to indicate a new entity from his point of view but has to follow the submitter’s chain of events, i.e. to use “Replaced” or “Restated” and not “New”.

Their explanation is that my order was modified by their system. It created new order for the amount left after partial fills and that new order was rejected.

What is the meaning of the second New in your sequence of events? How can the order transition from Partial Fill to New?

Thank you,
Hanno.

Hi,

Is execution report with OrdStatus Rejected valid after order request was accepted and partially filled?

My test order [FIX 4.4, forex, 35=D, 40=1, 59=3] was executed in following sequence execution reports:

New → Partial fill → Partial fill → New (2nd time) → Rejected

Last 2 execution report had cumulative quantity and average price fields set to correct values. LeavesQty was set to 0 in the last one.

Regards,
Adam Szojda