Response message to an Execution Report in which the - Buy - Execution Price is above the Limit Price


case is:

  1. Sending : NewOrderSingle (35=D) with OrderType = Limit (40=2), Limit price (44=10), Side = Buy (54=1)……
  2. Receiving : ExecutionReport (35=8) with LastPx / Execution Price (31=15), ExecType = Fill (150=2)……

Is the correct response in FIX 4.4:

Sending : DontKnowTrade (35=Q) with DKReason = Price exceeds limit (127=E)…


From FIXimate:

The Don’t Know Trade (DK) message notifies a trading partner that an electronically received execution has been rejected. This message can be thought of as an execution reject message.

Together with the already supported DKReason = E this sounds reasonable to me.


What if my system doesn’t say anything (no DK) and takes the ER with the Exec Price exceeding the Limit Price ? is it a correct behaviour according to the FIX Protocol ?


I think this is a business decision to accept or reject wrong data. IMHO, the FIX protocol specification does not help you in this case.


@gera, your system should always check executions to see if they were conducted according to your instructions. In this case, I would suggest an out-of-band clarification (aka phone call) with your counterparty. Just make sure that the response is indeed referring to the same order you had submitted. FIX does not mandate any Rules of Engagement, this is left to the counterparties. But buying something for you above the maximum price you were willing to pay is an obvious issue and hopefully only a software bug somewhere and not a business model :slight_smile: