Population of tag 39 and 150 in ExecReport (after a Reject)

Imported from previous forum

[ original email was from Christiaan de Vries - chrisdus@gmail.com ]
Hi all,

I have a question on tags 39 and 150 in ExecReports. (It’s not 100% clear for me after reading the protocol documents on what the contents should be in the following situation, I’d like to get some more senior people to comment if possible…)

A) Order is sent in by customer for 2 million
B) Customer receives a PendingNew (39=A 150=A )
C) Customer receives a New (39=0 150=0 )
D) Customer receives a partial fill for 1,5 million (39=1 150=1 )
E) Customer wants to lower the original quantity to 1,5 million with a Replace message
F) Broker denies the request (as the (new) OrderQty cannot be equal to or less than CumQty!) and sends out a Reject message
G) As follow up, broker sends out a ExecReport message (39=? 150=? )

The question:

  • What should be the contents for tags 39 and 150 in step G?

Looking forward to your reactions!
Christiaan de Vries

[ original email was from John Prewett - jprewett@lavatrading.com ]
Hi Christian,

Problems with quantity reduction are typically never trivial and cause huge amounts of issues in trading systems (IMHO).

According to the protocol, the CancelReplaceRequest should be accepted.

The ExecReport to convey this has the following fields:
o ExecType=replaced
o OrdStatus=filled

I will point you at the FIX.5.0SP2 docs which tend to show the latest thinking, which is also probably applicable to whatever version of the protocol you are using. Please read Volume 4 Appendix D example c.3.b.

I hope this helps.

JohnP

Behaviors such as this are subject to the rules of engagement.
In the case of reduction in quantity - there are behaviors supported by some exchanges that allow the indicated quantity to be interpreted as the quantity remaining open to be filled. Again, this behavior and the corresponding messaging values are described in the rules of engagement for the exchange.

Hi Christian,

Problems with quantity reduction are typically never trivial and cause
huge amounts of issues in trading systems (IMHO).

According to the protocol, the CancelReplaceRequest should be accepted.

The ExecReport to convey this has the following fields: o
ExecType=replaced o OrdStatus=filled

I will point you at the FIX.5.0SP2 docs which tend to show the latest
thinking, which is also probably applicable to whatever version of the
protocol you are using. Please read Volume 4 Appendix D example c.3.b.

I hope this helps.

JohnP

I respectfully disagree. We have been one of these exchanges in the past but changed out behaviour to be compliant with FIX on this issue. Rules of engagement should not be used to change key FIX concepts and I believe total order quantity is one of these concepts.

Another example is to add a user-defined field to the Order Cancel Request to convey a quantity that is supposed to reduce as opposed to cancel the entire order. FIX clearly states that this is what Order Cancel/Replace is for.

FIX fields are not just containers for values but in many cases FIX has attached a semantic to the field content. The issue at hand is one of them. FIX compliance is not just a matter of syntactical compliance, i.e. avoidance of session level Reject messages.

Regards,
Hanno.

Behaviors such as this are subject to the rules of engagement. In the
case of reduction in quantity - there are behaviors supported by some
exchanges that allow the indicated quantity to be interpreted as the
quantity remaining open to be filled. Again, this behavior and the
corresponding messaging values are described in the rules of engagement
for the exchange.

Hi Christian,

Problems with quantity reduction are typically never trivial and cause
huge amounts of issues in trading systems (IMHO).

According to the protocol, the CancelReplaceRequest should be
accepted.

The ExecReport to convey this has the following fields: o
ExecType=replaced o OrdStatus=filled

I will point you at the FIX.5.0SP2 docs which tend to show the latest
thinking, which is also probably applicable to whatever version of the
protocol you are using. Please read Volume 4 Appendix D example c.3.b.

I hope this helps.

JohnP

[ original email was from John Prewett - jprewett@lavatrading.com ]
> Behaviors such as this are subject to the rules of engagement. In the

case of reduction in quantity - there are behaviors supported by some
exchanges that allow the indicated quantity to be interpreted as the
quantity remaining open to be filled. Again, this behavior and the
corresponding messaging values are described in the rules of engagement
for the exchange.

All behavior is subject to documented rules of engagement.
I was indicating what the behavior should be if the execution venue followed the specification.

We have this standard to reduce the effort taken to establish communications with a new entity and also to reduce the number of trading discrepancies.

When protocol deviations are introduced, the effort taken to establish communications with a new entity increases and misunderstandings are more likely to occur. So using non-standard rules of engagement reduces the efficiency of everyone’s organizations and can cause trading discrepancies, particularly in edge cases (such as quantity reduction).

Execution venues have a special role in standards adherence. They set the tone for the rest of the industry.

Sorry to I’ve start preaching here, but I believe that following the standard is very important.

Thanks

JohnP