How to refill partially filled order to original size?

Imported from previous forum

Hi,
I am wondering which quantity I should send in an Cancel/Replace-Request if I want to refill a partially filled order to the original size. The question is, wether I have to include the already filled quantity to get a resulting quantity of the original size or wether the quantity in a Cancel/Replace-Request is always the available quantity in a market?
Example:
Original order: B 1000@50
partial fill: 300
Cancel/Replace: (include allready filled qty)B 1300@50 or (just the original size)B 1000@50?

Thank you in advance and greetings,
Harald

You have to stick to the general rule that OrderQty=CumQty+LeavesQty. If 300 have been filled and you want another 1000 to be available then you are willing to match up to 1300 which is the total order quantity and FIX field OrderQty (38) for your cancel/Replace request.
LeavesQty is calculated from your OrderQty and the current CumQty, it is not set by you. Sending in 1000 means 1000-300=700 for LeavesQty so that the market would only see 700 as being available. 1300-300=1000 is I guess what you want it to be.

Hi,
I am wondering which quantity I should send in an Cancel/Replace-Request if I want to refill a partially filled order to the original size. The question is, wether I have to include the already filled quantity to get a resulting quantity of the original size or wether the quantity in a Cancel/Replace-Request is always the available quantity in a market?
Example:
Original order: B 1000@50
partial fill: 300
Cancel/Replace: (include allready filled qty)B 1300@50 or (just the original size)B 1000@50?

Thank you in advance and greetings,
Harald

Hi Hanno,
many thanks for your post, you’ve already helped me out in other cases, which I highly appriciate.

The way you explained the topic is very resumable. The only problem is, that Xetra seems to stick to the other approach…

Harald

You have to stick to the general rule that OrderQty=CumQty+LeavesQty. If 300 have been filled and you want another 1000 to be available then you are willing to match up to 1300 which is the total order quantity and FIX field OrderQty (38) for your cancel/Replace request.
LeavesQty is calculated from your OrderQty and the current CumQty, it is not set by you. Sending in 1000 means 1000-300=700 for LeavesQty so that the market would only see 700 as being available. 1300-300=1000 is I guess what you want it to be.

Hi,
I am wondering which quantity I should send in an Cancel/Replace-Request if I want to refill a partially filled order to the original size. The question is, wether I have to include the already filled quantity to get a resulting quantity of the original size or wether the quantity in a Cancel/Replace-Request is always the available quantity in a market?
Example:
Original order: B 1000@50
partial fill: 300
Cancel/Replace: (include allready filled qty)B 1300@50 or (just the original size)B 1000@50?

Thank you in advance and greetings,
Harald

Harald,

the statement should be that the legacy interface (VALUES) only allows you to enter a remaining quantity. The new high speed interface (ETS) already follows the FIX semantic by allowing you to enter the total quantity. Xetra (the core system) supports the total quantity concept for a while now but required a non-trivial change at the time when ETS was introduced. Our systems are in a transition to FIX semantics and we have chosen a gradual approach to reduce member impact.
If an interface only lets you define a remaining quantity, then it does not matter how much was executed before. If you want a 1000 to be available you simply send 1000. The problem are in-flight modifications, i.e. you send 1000 and at the same time the exchange sends you a message to tell you that another 200 have matched. In order to avoid such overfills one can use tokens that are sent back and forth to ensure that the user has seen the latest change. If the Cancel/Replace does not have the most recent token, it will be rejected based on the assumption that the most recent unsolicited change (e.g. fill) has not been processed by the participant yet.
Sending a total quantity or a delta quantity on a Cancel/Replace avoids this problem. FIX has chosen total quantity as a concept. By the way, this has been discussed in 2006 as part of the “Proposal for Harmonized Exchange Standard based on FIX 4.4” (http://www.fixprotocol.org/documents/2654/Harmonized%20Exchange%20Standard%20v1_0%20Draft.pdf) which we wrote together with OMX (see chapter 5.1.3 Order Modifications). Some of the material has made it as an extension into FIX 5. See also http://www.fixprotocol.org/documents/3005/EEWG%20Recommended%20Best%20Practices%20-%20Phase%201%20V1.0.pdf.

Regards, Hanno.

Hi Hanno,
many thanks for your post, you’ve already helped me out in other cases, which I highly appriciate.

The way you explained the topic is very resumable. The only problem is, that Xetra seems to stick to the other approach…

Harald

You have to stick to the general rule that OrderQty=CumQty+LeavesQty. If 300 have been filled and you want another 1000 to be available then you are willing to match up to 1300 which is the total order quantity and FIX field OrderQty (38) for your cancel/Replace request.
LeavesQty is calculated from your OrderQty and the current CumQty, it is not set by you. Sending in 1000 means 1000-300=700 for LeavesQty so that the market would only see 700 as being available. 1300-300=1000 is I guess what you want it to be.

Hi,
I am wondering which quantity I should send in an Cancel/Replace-Request if I want to refill a partially filled order to the original size. The question is, wether I have to include the already filled quantity to get a resulting quantity of the original size or wether the quantity in a Cancel/Replace-Request is always the available quantity in a market?
Example:
Original order: B 1000@50
partial fill: 300
Cancel/Replace: (include allready filled qty)B 1300@50 or (just the original size)B 1000@50?

Thank you in advance and greetings,
Harald