Average pricing electronic orders together

Imported from previous forum

[ original email was from John Armstrong - johna@ms.com ]
Suppose a customer wants to trade a large order
over the day by doling it out to the broker in three smaller orders. Then at the end of the day,
the customer wants to see the "Done for Day"
with the entire CumQty traded as well as average price(across all three orders).

The only way I can see to do this as the protocol
is defined today is to Cancel/Replace the order
each time you want to increase quantity.

The downside of this is the customer could not
change instructions while the current order is
still open. For example, they couldn’t
specify the last cancel/replace to be a MOC while
the current order is still open(otherwise the
whole remaining order becomes MOC).

One possibility is to use a List Order with an
average price at the List level.

Another way would be to introduce a LinkOrders
message to specify all the ClOrdIDs you want to
combine as well as the new ClOrdID the order
should be referred to by.

What do people think?

[ original email was from Yevgeniy Tovshteyn - yevgeniy@javtech.com ]
I know some refer to an Order not by ClOrdId, but by combination of Symbol and Side (plus, maybe, Account or ClientId or SenderCompID+SenderSubID). This combination would refer to an agregate Order consisted of single Orders, each of which could be accessed by ClOrdID.

> Suppose a customer wants to trade a large order
> over the day by doling it out to the broker in three smaller orders. Then at the end of the day,
> the customer wants to see the “Done for Day”
> with the entire CumQty traded as well as average price(across all three orders).
>
> The only way I can see to do this as the protocol
> is defined today is to Cancel/Replace the order
> each time you want to increase quantity.
>
> The downside of this is the customer could not
> change instructions while the current order is
> still open. For example, they couldn’t
> specify the last cancel/replace to be a MOC while
> the current order is still open(otherwise the
> whole remaining order becomes MOC).
>
> One possibility is to use a List Order with an
> average price at the List level.
>
> Another way would be to introduce a LinkOrders
> message to specify all the ClOrdIDs you want to
> combine as well as the new ClOrdID the order
> should be referred to by.
>
> What do people think?
>

[ original email was from Mark Hinman - mhinman@easetech.com ]
> I know some refer to an Order not by ClOrdId, but by combination of Symbol and Side (plus, maybe, Account or ClientId or SenderCompID+SenderSubID). This combination would refer to an agregate Order consisted of single Orders, each of which could be accessed by ClOrdID.
>
> > Suppose a customer wants to trade a large order
> > over the day by doling it out to the broker in three smaller orders. Then at the end of the day,
> > the customer wants to see the “Done for Day”
> > with the entire CumQty traded as well as average price(across all three orders).
> >
> > The only way I can see to do this as the protocol
> > is defined today is to Cancel/Replace the order
> > each time you want to increase quantity.
> >
> > The downside of this is the customer could not
> > change instructions while the current order is
> > still open. For example, they couldn’t
> > specify the last cancel/replace to be a MOC while
> > the current order is still open(otherwise the
> > whole remaining order becomes MOC).
> >
> > One possibility is to use a List Order with an
> > average price at the List level.
> >
> > Another way would be to introduce a LinkOrders
> > message to specify all the ClOrdIDs you want to
> > combine as well as the new ClOrdID the order
> > should be referred to by.
> >
> > What do people think?
> >
>

This sounds more like a application display issue, more than a protocol issue. We maintain very similar aggregate data on advertisements and indications by symbol that can be broken down to sender/target level. This would just cloud the spec unnessasarily and such a change could not happen until the next rev of the spec. The spec has the information already, just link it together and aggregate.

Mark Hinman
Ease Technologies, Inc.