Relationship between OrdStatus and ExecType

Imported from previous forum

Hi all,

We have been working with the FIX 4.3 specification, trying to discover if the relationship between the OrdStatus and ExecType fields is explictly defined anywhere.

In the section in volume four on Execution Reports, we found this statement:

"The ExecType is used to identify the purpose of the execution report message. To transmit a change in OrdStatus for an order, the broker(sell side) should send an Execution Report with the new OrdStatus value in both the ExecType AND the OrdStatus fields to signify this message is changing the state of the order. The only exception to this rule is… [relates to Pending Cancel]"

This seems clear enough: if we want to notify a counterparty of a change in the state of an order we need to send the same value in both the OrdStatus and ExecType fields.

However if we take the very first example state change matrix from the specification:

1 New Order(X) 10000
2 Execution(X) New New 10000 0 10000 0
3 Execution(X) Trade Partially Filled 10000 2000 8000 2000 Execution of 2000
4 Execution(X) Trade Partially Filled 10000 3000 7000 1000 Execution of 1000
5 Execution(X) Trade Filled 10000 10000 0 7000 Execution of 7000

we clearly see a contradiction to the quoted statement: the Exec Type is "Trade" while the OrdStatus is changing from New to Partially Filled and finally to Filled. Have we misunderstood or is the quoted statement incorrect in FIX 4.3 and later?

Our specific problem is understanding when OrdStatus and ExecType must be the same, and when and how they may differ. We would like to send an Execution Report showing that some quantity has been executed for an order, but we want to indicate to the counterparty that the order is still in the New state, not Partially Filled. (The OrdStatus will be changed by a later message).

We are considering sending one of two possibilities in the Execution Report:

OrdStatus ExecType ExecQty
New New 1000

Alternatively:

OrdStatus ExecType ExecQty
New Trade 1000

We would actually prefer to send the second form, but we’re trying to understand if that makes sense, or whether the OrdStatus and ExecType must always both be New if either one is New.

[ original email was from Witold Sames - witold.sames@reuters.com ]
Andrew,

my initial read on the situation is that an order cannot be in state NEW if any fill has been received for it. NEW to me means "nothing filled yet".

Given that, I would submit that the ExecType tag could not be TRADE if the OrdStatus is NEW, because otherwise the OrdStatus would potentially never change from NEW.

Depending on the counter party’s system receiving these execution, you might get a business reject for either of your two options mentioned below. While the specification does not explicitly prescribe “if OrdStatus AND/OR ExecType = NEW, both must be NEW”, it seems to make sense…

– Witold

> Hi all,
>
> We have been working with the FIX 4.3 specification, trying to discover if the relationship between the OrdStatus and ExecType fields is explictly defined anywhere.
>
> In the section in volume four on Execution Reports, we found this statement:
>
> “The ExecType is used to identify the purpose of the execution report message. To transmit a change in OrdStatus for an order, the broker(sell side) should send an Execution Report with the new OrdStatus value in both the ExecType AND the OrdStatus fields to signify this message is changing the state of the order. The only exception to this rule is… [relates to Pending Cancel]”
>
> This seems clear enough: if we want to notify a counterparty of a change in the state of an order we need to send the same value in both the OrdStatus and ExecType fields.
>
> However if we take the very first example state change matrix from the specification:
>
> 1 New Order(X) 10000
> 2 Execution(X) New New 10000 0 10000 0
> 3 Execution(X) Trade Partially Filled 10000 2000 8000 2000 Execution of 2000
> 4 Execution(X) Trade Partially Filled 10000 3000 7000 1000 Execution of 1000
> 5 Execution(X) Trade Filled 10000 10000 0 7000 Execution of 7000
>
> we clearly see a contradiction to the quoted statement: the Exec Type is “Trade” while the OrdStatus is changing from New to Partially Filled and finally to Filled. Have we misunderstood or is the quoted statement incorrect in FIX 4.3 and later?
>
> Our specific problem is understanding when OrdStatus and ExecType must be the same, and when and how they may differ. We would like to send an Execution Report showing that some quantity has been executed for an order, but we want to indicate to the counterparty that the order is still in the New state, not Partially Filled. (The OrdStatus will be changed by a later message).
>
> We are considering sending one of two possibilities in the Execution Report:
>
> OrdStatus ExecType ExecQty
> New New 1000
>
> Alternatively:
>
> OrdStatus ExecType ExecQty
> New Trade 1000
>
> We would actually prefer to send the second form, but we’re trying to understand if that makes sense, or whether the OrdStatus and ExecType must always both be New if either one is New.
>