Friday, January 6, 2012

Trade Frequencies, Part 1

Typically what people refer to as high-frequency trading occurs on the stock markets. However, firms have also branched out to a whole assortment of other markets in attempt to reap the alpha from high-frequency strategies. Moreover, data such as futures prices sometimes serve as a signal for equity trading. Different kinds of markets, however, have considerably different characteristics. Moreover, the volume and trade frequency varies among each individual security. On one side, you have the SPY ETF which is easily among the most actively traded securities in the stock market with daily volumes in the hundreds of millions. During August 2011, SPY's volume even spiked to as much as 717 million, though 100-200 million is more typical. To put that into perspective, the total daily volume of the NYSE is about a couple billion in recent times. In contrast, some securities are barely traded at all.

More on all this after the jump...

Consider this, the CME GLOBEX electronic market nearly trades around the clock (except for 45 minutes each day) 5 days a week. That amounts to 24*60*60 - 45*60 = 83700 seconds worth of trading time each day. The typical volume of the near-dated Emini S&P (ES) contract is a few million (1-2.5M). A rough calculation says that amounts to about 30 trades/sec (if they were evenly spaced out). For the NYSE, there are 6.5*60*60 = 23400 seconds of trading for regular trading hours. That means at peak times we'll see more than 200M/23400 = 8547 trades/sec for SPY. This also means that the rough order of magnitude for an acceptable time resolution needed to "see" each last traded tick is around 33ms and 117us for ES and SPY respectively assuming that we want to see the traded price for each individual contract/share traded. NYSE Euronext has special liquidity rebate tiers for customers contributing 10s or 100s of millions of shares of daily volume, though obviously not volume confined to a single security.

According to NYSE's stats their systems run with an average latency of under 0.5ms. Peak latencies may be a lot higher, up to ~100ms.

Retail brokers with API-based trading support may limit the number of messages per second. With one broker, the limit is 50 messages/sec for their own proprietary API and 150 messages/sec for a FIX-based solution, meaning at least 20ms or 6.7ms between each order message. From my experience, network latency will be a bottleneck long before the messages/sec limit becomes an issue.

There is a page describing trading infrastructure for IB.

For my connection with my broker, an anecdotal experiment during an ordinary part of the day (not too quiet and not particularly active either) reveals the mean time between trade ticks received (from their consolidated/snapshot feed) was 2.23s with a standard deviation of 1.50s for the front ES contract. NQ exhibited a mean of 1.57s with a standard deviation of 1.43s. The bottleneck may be in a whole lot of places including my own connectivity and the brokers' consolidated feed. In any case, trading with this quality of datafeed is trading blindly at the sub-second timescale.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.