Multiple trades (batch) / "single" algo strategy / emerging the OMS as mulitiple single orders

Imported from previous forum

…we have several UI modules that allow for importing and/or batching orders. This may result in situations where the user does not open each order in the UI but all still need to be validated.
Thanks Cathy @ Neo for above.


Want to give this emerging set of use-cases its own separate thread. WG has an open issue here. In the process of grappling with it. Similar use-cases:

Simple use-case:
As the market opens trader finds 38 orders on his blotter that need to be executed. He is experienced and comfortable with the VWAP strategy offered by broker x. He wants to select 10 rows (10 specific trades to be made with ticker, quantity, side indicated) off his trade blotter, and perhaps just “drag and drop” those rows onto that broker x’s VWAP strategy icon. Wants the OMS to present him with one screen for the entire group, have him enter just the shared VWAP parameters once, and then have those values apply to this entire batch. Wants the OMS to merge the blotter row information, with the UI info, and fire out each of the 10 trades as it’s own new_order_single.

Next level up use-case:
Same as above but not quite so neat. Broker x actually has three separate but nearly identical VWAP strategies: one for the U.S., one for Europe, and one for Asia. They are all plain vanilla VWAP strategies and have a nearly identical (or actually identical) trader UI. However on deeper exam each of the three destinations have slightly different FIX message structures. Trader wants to do essentially the same thing as above, sweep 10 rows off his trade blotter and send them to broker x’s VWAP facilities. Example - in the batch trader has selected: 5 trades are U.S., 4 are Europe and 1 is Asian. Trader wants to enter all the standard VWAP parameters for the batch from a single UI screen. (perhaps this is even stored as his defaults and not even presented.) The quantity, ticker and side comes from his trade blotter drag-and-drop. In this “not quite so neat” batch case the OMS itself must make the final algo strategy selection (here pick the correct U.S.| Europe | Asia VWAP version) based on some information passed to it from the trade blotter row (or look-up). Then the OMS merges the VWAP UI info (perhaps stored as a default) with the blotter rows info, creates the correct FIX message for each row, and fires out each blotter trade, again each as its own new_order_single.

Strikes me we may need a FIXatdl Meta-Strategy. This entity would contain the full U.I. for a batch and all the FLOW rules. It would contain an enumerated set of conventional FIXatdl strategies and information required to resolve “which specific strategy should be used” in “which specific case”. The information to make the final choice must be contained in order blotter rows (or order/batch files), so there would be no chance of any ambiguities. VALIDATION would run batch at the end of the “merge” operation, and some mechanism must be envision to alert the trader ("…trade 8 in the input batch failed VALIDATION and will not be sent, shall I release all the others and represent to you the invalid trade 8? Or cancel this ENTIRE batch?")

Would need to decide if a FIXatdl “Meta-Strategy” could include only FIXatdl strategies offered by a single firm OR across firms. (Trader wants a single UI for all down and dirty VWAP, however firm wants to trade with broker A in the U.S., B in Europe and C in Asia…) At this point the BUY side becomes the xml author of the Meta-Strategy FIXatdl files. While the SELL side continues to author the conventional FIXatdl strategy files.

Of course once you open the concept of a meta strategy you can notch that up further. Really a Meta-Strategy is a “strategy of strategies” whereby the exact selection and tweaking of parameters is left open right down to be automated at order time. Drive that “strategy of strategies” with real time data feeds from any source and the decision of what algo to run, when becomes programmable. Will you allow a trader to sweep 50 stocks off the blotter but have an algo pop out one trade because its at-order-time-status is “news pending…” How about allowing the CEP system to fine tune the final algo selection? etc.

Fishing for thoughts, feedback, thinking here… WG is aware of some issues here but likely not all. All input welcome!

In our product we support multiple broker destinations. Currently we have a top level destination object (similar to a StrategiesT element but with a name/display name, etc.) that strategies are under. The destination defines elements that apply to all strategies. In the destination, we have a concept of algo fields and parameters that apply to all strategies, with the addition of strategy specific ones after.

Not sure in FIXatdl if we had global parameters and layout how that would translate. Could put the global layout on top with strategy layout on bottom. Or maybe have a strategy layout reference in the individual strategies cross referencing where to place the globally defined layout panel. Maybe we could allow for multiple global layouts that have ids, so different strategies could reference them.

Another concept we have for a destination in a “None” strategy. If the destination allows no strategy to be selected/sent, it can still define parameters/controls to send even when no strategy is selected.

…we have several UI modules that allow for importing and/or batching orders. This may result in situations where the user does not open each order in the UI but all still need to be validated.
Thanks Cathy @ Neo for above.


Want to give this emerging set of use-cases its own separate thread. WG has an open issue here. In the process of grappling with it. Similar use-cases:

Simple use-case:
As the market opens trader finds 38 orders on his blotter that need to be executed. He is experienced and comfortable with the VWAP strategy offered by broker x. He wants to select 10 rows (10 specific trades to be made with ticker, quantity, side indicated) off his trade blotter, and perhaps just “drag and drop” those rows onto that broker x’s VWAP strategy icon. Wants the OMS to present him with one screen for the entire group, have him enter just the shared VWAP parameters once, and then have those values apply to this entire batch. Wants the OMS to merge the blotter row information, with the UI info, and fire out each of the 10 trades as it’s own new_order_single.

Next level up use-case:
Same as above but not quite so neat. Broker x actually has three separate but nearly identical VWAP strategies: one for the U.S., one for Europe, and one for Asia. They are all plain vanilla VWAP strategies and have a nearly identical (or actually identical) trader UI. However on deeper exam each of the three destinations have slightly different FIX message structures. Trader wants to do essentially the same thing as above, sweep 10 rows off his trade blotter and send them to broker x’s VWAP facilities. Example - in the batch trader has selected: 5 trades are U.S., 4 are Europe and 1 is Asian. Trader wants to enter all the standard VWAP parameters for the batch from a single UI screen. (perhaps this is even stored as his defaults and not even presented.) The quantity, ticker and side comes from his trade blotter drag-and-drop. In this “not quite so neat” batch case the OMS itself must make the final algo strategy selection (here pick the correct U.S.| Europe | Asia VWAP version) based on some information passed to it from the trade blotter row (or look-up). Then the OMS merges the VWAP UI info (perhaps stored as a default) with the blotter rows info, creates the correct FIX message for each row, and fires out each blotter trade, again each as its own new_order_single.

Strikes me we may need a FIXatdl Meta-Strategy. This entity would contain the full U.I. for a batch and all the FLOW rules. It would contain an enumerated set of conventional FIXatdl strategies and information required to resolve “which specific strategy should be used” in “which specific case”. The information to make the final choice must be contained in order blotter rows (or order/batch files), so there would be no chance of any ambiguities. VALIDATION would run batch at the end of the “merge” operation, and some mechanism must be envision to alert the trader (“…trade 8 in the input batch failed VALIDATION and will not be sent, shall I release all the others and represent to you the invalid trade 8? Or cancel this ENTIRE batch?”)

Would need to decide if a FIXatdl “Meta-Strategy” could include only FIXatdl strategies offered by a single firm OR across firms. (Trader wants a single UI for all down and dirty VWAP, however firm wants to trade with broker A in the U.S., B in Europe and C in Asia…) At this point the BUY side becomes the xml author of the Meta-Strategy FIXatdl files. While the SELL side continues to author the conventional FIXatdl strategy files.

Of course once you open the concept of a meta strategy you can notch that up further. Really a Meta-Strategy is a “strategy of strategies” whereby the exact selection and tweaking of parameters is left open right down to be automated at order time. Drive that “strategy of strategies” with real time data feeds from any source and the decision of what algo to run, when becomes programmable. Will you allow a trader to sweep 50 stocks off the blotter but have an algo pop out one trade because its at-order-time-status is “news pending…” How about allowing the CEP system to fine tune the final algo selection? etc.

Fishing for thoughts, feedback, thinking here… WG is aware of some issues here but likely not all. All input welcome!