Fine Grained Position Maintnenance

Imported from previous forum

Hello all,

I’m trying to understand how as a Broker I can expose fine grained position information to clients trading over FIX (4.4). I’ve looked at Execution/Trade Capture Reports and the Position Maintenance messages none of which quite seem to fit.

The examples I’m having issues with are where the client requires fine grained control around opening and closing orders. For example, the client places 3 orders (A, B & C) each to buy quantity 5. These orders fill and I have various options for informing the client that each order has increased the long position (e.g. using tag 77 on the Execution Reports or explicit AP messages)

Problem 1. The client now places order D to sell quantity 6. As broker I apply some default pre-arranged policy and decide that D closes 5 from order C and 1 from order B. Does FIX have a convention for conveying this order-to-order detail to the client?

Problem 2. The client wants to place a sell order to close (sell) 3 of the position opened by order A. Does FIX have a convention for conveying this order-to-order detail back to the Broker?

Thanks - Andrew

Andrew,

orders and quotes are mere vehicles to create trades and are not relevant when looking at positions. Orders for derivatives typically have PositionEffect(77) as a mandatory field and apply the value to each trade resulting from the order. Buy orders can then either be “to open” or “to close”. Sell orders can also be one or the other. You cannot derive PositionEffect(77) from Side(54).
Trades may be aggregated into positions and they can carry some of the order detail information. However, there is intentionally no direct link between orders and positions. You may have trade adjustments to change PositionEffect(77) of a trade and this will affect the position. However, a new sell order that executes as described by you below can only add to the position quantity, either on the long or short side of the position, depending on PositionEffect(77). It cannot “remove” quantities from previous trades or even from the related orders of these trades. The delta of long and short and not their absolute values determine whether someone will end up with the securities or an obligation to deliver them.
FIX allows you to attach related trades to position messages. This is a list of trade identifiers. The user can then look up these trades on his side to find out which orders were the origin. FIX also allows you to attach position quantities to a trade to convey the impact of a single trade on a position, i.e. whether long or short quantity increases.
Regards,
Hanno.

Hello all,

I’m trying to understand how as a Broker I can expose fine grained position information to clients trading over FIX (4.4). I’ve looked at Execution/Trade Capture Reports and the Position Maintenance messages none of which quite seem to fit.

The examples I’m having issues with are where the client requires fine grained control around opening and closing orders. For example, the client places 3 orders (A, B & C) each to buy quantity 5. These orders fill and I have various options for informing the client that each order has increased the long position (e.g. using tag 77 on the Execution Reports or explicit AP messages)

Problem 1. The client now places order D to sell quantity 6. As broker I apply some default pre-arranged policy and decide that D closes 5 from order C and 1 from order B. Does FIX have a convention for conveying this order-to-order detail to the client?

Problem 2. The client wants to place a sell order to close (sell) 3 of the position opened by order A. Does FIX have a convention for conveying this order-to-order detail back to the Broker?

Thanks - Andrew

Hanno, thanks for taking the time to respond.

I take your point that you cannot derive PositionEffect(77) from Side(54), but your subsequent comments lead me to suspect I have a very different mental model to the what is intended in FIX by Positions.

You say “a new sell order that executes as described by you below can only add to the position quantity, either on the long or short side of the position, depending on PositionEffect(77)”.

After the three buy orders described below I would have expected a PositionReport message to incude LongQty(704)=15 and ShortQty(705)=0 (or not present). Is this incorrect?

If possible could you explain how you would expect the Sell order to impact the position? I’m particularly confused by your suggestion that the Sell could add to the position quantity on the long side (unless where talking about signed values and I’m adding -6 to the current value of 15)

Thanks again - Andrew

Andrew,

orders and quotes are mere vehicles to create trades and are not relevant when looking at positions. Orders for derivatives typically have PositionEffect(77) as a mandatory field and apply the value to each trade resulting from the order. Buy orders can then either be “to open” or “to close”. Sell orders can also be one or the other. You cannot derive PositionEffect(77) from Side(54).
Trades may be aggregated into positions and they can carry some of the order detail information. However, there is intentionally no direct link between orders and positions. You may have trade adjustments to change PositionEffect(77) of a trade and this will affect the position. However, a new sell order that executes as described by you below can only add to the position quantity, either on the long or short side of the position, depending on PositionEffect(77). It cannot “remove” quantities from previous trades or even from the related orders of these trades. The delta of long and short and not their absolute values determine whether someone will end up with the securities or an obligation to deliver them.
FIX allows you to attach related trades to position messages. This is a list of trade identifiers. The user can then look up these trades on his side to find out which orders were the origin. FIX also allows you to attach position quantities to a trade to convey the impact of a single trade on a position, i.e. whether long or short quantity increases.
Regards,
Hanno.

Hello all,

I’m trying to understand how as a Broker I can expose fine grained position information to clients trading over FIX (4.4). I’ve looked at Execution/Trade Capture Reports and the Position Maintenance messages none of which quite seem to fit.

The examples I’m having issues with are where the client requires fine grained control around opening and closing orders. For example, the client places 3 orders (A, B & C) each to buy quantity 5. These orders fill and I have various options for informing the client that each order has increased the long position (e.g. using tag 77 on the Execution Reports or explicit AP messages)

Problem 1. The client now places order D to sell quantity 6. As broker I apply some default pre-arranged policy and decide that D closes 5 from order C and 1 from order B. Does FIX have a convention for conveying this order-to-order detail to the client?

Problem 2. The client wants to place a sell order to close (sell) 3 of the position opened by order A. Does FIX have a convention for conveying this order-to-order detail back to the Broker?

Thanks - Andrew

You are right that a sell order will not add to the long side, it may leave it unchanged. If you buy 15 then you are long 15. If you then sell 6 you could still be long 15 but also short 6, i.e. you are long 9 (15-6) in total. The position management may be on a gross or net basis, i.e. you are either long 15 and short 6 (gross) or you are simply long 9 (net). You would normally sell to close to simply reduce your long positions and get a closing error if your long position has insufficient quantity to close the amount you sold. If you sell to open you initiate a short position. Margin requirements may be different for a gross or net view of your exposure. I think that practices may be different across clearing houses.
Regards,
Hanno.

Hanno, thanks for taking the time to respond.

I take your point that you cannot derive PositionEffect(77) from Side(54), but your subsequent comments lead me to suspect I have a very different mental model to the what is intended in FIX by Positions.

You say “a new sell order that executes as described by you below can only add to the position quantity, either on the long or short side of the position, depending on PositionEffect(77)”.

After the three buy orders described below I would have expected a PositionReport message to incude LongQty(704)=15 and ShortQty(705)=0 (or not present). Is this incorrect?

If possible could you explain how you would expect the Sell order to impact the position? I’m particularly confused by your suggestion that the Sell could add to the position quantity on the long side (unless where talking about signed values and I’m adding -6 to the current value of 15)

Thanks again - Andrew

Andrew,

orders and quotes are mere vehicles to create trades and are not relevant when looking at positions. Orders for derivatives typically have PositionEffect(77) as a mandatory field and apply the value to each trade resulting from the order. Buy orders can then either be “to open” or “to close”. Sell orders can also be one or the other. You cannot derive PositionEffect(77) from Side(54).
Trades may be aggregated into positions and they can carry some of the order detail information. However, there is intentionally no direct link between orders and positions. You may have trade adjustments to change PositionEffect(77) of a trade and this will affect the position. However, a new sell order that executes as described by you below can only add to the position quantity, either on the long or short side of the position, depending on PositionEffect(77). It cannot “remove” quantities from previous trades or even from the related orders of these trades. The delta of long and short and not their absolute values determine whether someone will end up with the securities or an obligation to deliver them.
FIX allows you to attach related trades to position messages. This is a list of trade identifiers. The user can then look up these trades on his side to find out which orders were the origin. FIX also allows you to attach position quantities to a trade to convey the impact of a single trade on a position, i.e. whether long or short quantity increases.
Regards,
Hanno.

Hello all,

I’m trying to understand how as a Broker I can expose fine grained position information to clients trading over FIX (4.4). I’ve looked at Execution/Trade Capture Reports and the Position Maintenance messages none of which quite seem to fit.

The examples I’m having issues with are where the client requires fine grained control around opening and closing orders. For example, the client places 3 orders (A, B & C) each to buy quantity 5. These orders fill and I have various options for informing the client that each order has increased the long position (e.g. using tag 77 on the Execution Reports or explicit AP messages)

Problem 1. The client now places order D to sell quantity 6. As broker I apply some default pre-arranged policy and decide that D closes 5 from order C and 1 from order B. Does FIX have a convention for conveying this order-to-order detail to the client?

Problem 2. The client wants to place a sell order to close (sell) 3 of the position opened by order A. Does FIX have a convention for conveying this order-to-order detail back to the Broker?

Thanks - Andrew