Re: Amending Algos
Mahesh Kumaraguru <>
25 Jun 2008 8:19AM ETFrom a Programmers point of view, an Algo Cancel-Replace (CR) can be made to work.
Lets take an example :-
The original algo order is called Killer and has a set of algo Tags set-K. The new order to replace killer is a Mercenary algo has a set of algo Tags set-M. The algo CR message has all tags from Set-M for the creation of the Mercenary order. In contrast, if one Killer algo order were to be replaced with another Killer algo order, all tags from set-K would be needed in the CR message. To keep the solution generic from the FIX Engine's point of view, tags from both sets K and M should be present (without duplicates except in repeating groups) because the FIX Engine would not know if the CR message changes the strategy itself or only changes values within the same strategy.
Regarding
[start quote] some brokers have a 'DMA' algo strategy which may involve the amend message going down a separate pipe to the original algo which could be problematic. [end quote]
From the order generation side this can be handled as
send a Cancel, wait preset time interval for response,
if response is cancel accepted, send new strategy order,
else if response is cancel rejected, take the executions,
else if respose is unknown and timeout happens,
either take risk and place new strategy
or re-evaluate strategy
The above logic assumes that Cancel for an algo would go down the same pipe as the original order.
Internally, a Sell side system (desination of algo orders) honouring a algo cancel-replace request would try to cancel the original algo and place the new new algo on the market applying logic as below
if original algo fully executed, send cancel-replace reject with Too Late to Cancel followed by execs
else cancel unexecuted quantity and accept new algo strategy
For an algo cancel-replace, is there a way to specify the quantity of the new algo order as carry forward the unexecuted quantity from the original order? For example :- I start the day with a plan to buy 100,000 shares of Ticker XYZ and place a "Dagger" strategy on the market, Midway thru its execution, I decide to "switch" to a different strategy "Stealth". When my Stealth order goes to the market to replace the Dagger, I would like it to know how much quantity to carry forward, ie the leaves quantity of the exiting Dagger order would be the Order quantity of the new Stealth order. This way, I could switch algos while ensuring my total order quantity is maintained.
Regards,
K. Mahesh
Note :- Algo strategy names used in this Message are not real :-)
> Has the following come up before and does anyone have views on the
> following?
>
> Amending Algos - Currently I'm fine with a Cancel/Replace mesage being
> used to update the regular FIX tags and also being used to update the
> parameters of the current algo strategy.
>
> But should a cancel/replace message allow the replacement of one algo
> strategy with another supplied by that broker? By default I'd like to
> say yes and stay as flexible as possible but i'm also away that some
> brokers have a 'DMA' algo strategy which may involve the amend message
> going down a separate pipe to the original algo which could be
> problematic.
>
> Thanks in advance for your help Jim