Last week I discussed general latency issues that affect all kinds of businesses, but the ultra-low latency space within financial services is its own animal. And it’s a real beast, too…mere microseconds can cost companies and their clients countless dollars. So you’ll have to excuse the architects tasked with squeezing them out of the system for being downright pathological about latency.
When people talk about ultra-low latency in financial services, they usually mean front office market data delivery — the elapsed time between a buy or sell occurring and a trading application becoming aware of it. Here the laundry list of issues boils down to extreme focus on just a few:
- Physical distance — As a rule of thumb, you expect about 1 millisecond of propagation delay per 100 miles. As a result, most latency-sensitive algo trading systems are co-located next to the various exchanges to avoid the so called ‘speed of light’ factor.
- Feed handlers/ticker plants — Ticker plants can take anywhere from 10s of microseconds to a few milliseconds to process raw feeds into usable market data. There are some innovative companies doing this in hardware to accelerate this piece of the equation.
- Network links — TCP and Ethernet switching fabric can add 10s to 100s of microseconds of latency. Moving to TCP offload engines and cut-through Ethernet switches for network processing can cut 20-40% off sub-100 microsecond configurations.
- Messaging middleware — Messaging middleware delivers data from the feed handlers to the consuming application, and their latency overhead can range from from 10s of microseconds to a few milliseconds.
- Data volume — As message volumes increase, factors such as network congestion, memory copies and O/S context switches can dramatically increase latency. See this prior discussion on hardware vs software and the effects of context switching to learn more.
There are other issues, but those are the big ones for the front-office of a financial firm. True algorithmic trading latency has to include discussion of trading execution speeds, but I’ll save that for another day.
Explore other posts from category: Use Cases