How does order routing work in a a low latency trading platform which is connected to multiple venues, with both visible and dark order books ?
If tick to trade cycle is ultra low (~ tens of microsecond ) does smart order routing algorithm also have to determine market conditions within a such low time interval ? And Does the low low latency requirement hinder use of AI/machine learning algorithms to do online learning of market conditions ?
Typical low latency order routing works much faster than tens of microseconds.
The smart order routing algorithm is constantly consuming market data from the exchanges where it intends to trade. It does not request this data as needed, it always streaming to it. The algorithm may also remember its activity in various dark-pools that it was privy to. The algorithms will likely interact with all these venues simultaneously, not sequentially.
Using this data it is certainly capable of making sophisticated decisions in microseconds and dispatching order messages to multiple exchanges - dark or otherwise.
The decision making logic for these systems has been tuned and optimized to allow for fast execution. Longer running analysis could be off-loaded to other systems which return with new parameters periodically, to be used by processes local to an exchange.
Large high frequency trading teams have experts for every step of the trading process - using techniques like RDMA, kernel by-pass and FPGA equipment to keep network traffic low-latency, low-level coding in Assembler, C or C++ to keep software fast, among other techniques.