Thursday, February 22, 2007

Algorithmic Trading

Algorithmic trading means the use of computer systems to trade in electronic markets. However, the primary focus of Algorithmic trading is quite different between buy-side and sell-side firms. For the buy-side firms, Algorithmic trading is mainly used to generate trading profits. The program monitors various market indicators, awaits trading signals and trades automatically whenever a profitable opportunity is present. The signal utilized by such system can be fairly simple (I.E. trending following, momentum strategies) or very complicated (I.E. statistical arbitrage, index arbitrage, etc). Despite equipped with very complex trading algorithms, these systems are relatively simple from a software engineering point of view. The architecture is pretty much a single node message processor: it deals with a limited number of external systems (for market data feed and automated trade); although response time can be critical, required throughput is usually low. Because the systems are normally hosted in house, there isn't much requirement for security either. For the sell-side firms, on the other hand, Algorithmic trading is primarily used to enhance order execution, attract new customer and generate commission revenue. Their clients sometimes need to execute order of massive sizes compare to the trading volume on the exchange. Especially for the relatively illiquid issues, the orders are like pushing full turkeys down your kitchen sink. So these brokers would spend millions of dollars to build sophisticated computer systems to chop up the order into small slices and feed them slowly into the market. The objective is to minimize the impact of the large order and get the best execution price. The Algorithmicbuilt into these systems to control the size and timing for each slice is no less complex than those employed by the buy-side firms. The software architecture underpins these systems are even more demanding: each system is like a major message hub. It receives orders electronically from different clients, monitors market ticks and routes small-sized orders to different venues for best execution (exchange trading floors, various ECNs, for example). Both response time and throughput for such systems are critical as orders could arrive in massive volumes. Security is also a big concern because if the order book in the system is leaked, trades will front run these orders hence hurt their clients. In theory, even the prop traders of the brokerage house should not be allowed to touch these systems.