To expand on what Paul said:
A server running HFT or UHFT is almost always located in the data center. This minimizes the delay, and also allows algos to use Flash orders (which may be blocked soon) to first view the order flow before the order is broadcast to the market. many algo will evaluate the order in just a few milliseconds, and this is a game in which milliseconds matter. It is known that trading groups pull all the stops, including hiring kernel developers, to create custom OS components in order to better optimize the time between when the order falls on the network adapter and when the resulting action is performed.
There are several large buckets of strategies that are widely used today:
The first is traded before large block orders. To use Paulβs example of buying a million shares in IBM, HFT algo will look for pressure to buy. Branded computers on different exchanges and dark pools will need to exchange information, since the order will be divided and usually executed through several exchanges and dark pools. The HFT algorithm will use statistical / machine models to predict the amount of pressure to buy, and if it determines that this is enough, it will also accumulate stocks from all markets and try to sell them at a slightly higher price.
The second is liquidity refinancing trading, where exchanges will pay market participants for added liquidity. ( See "Direct Boundary Assessment"). Shares that are bought or sold can only be held for a very short period of time. The goal is to collect the discount and break even for everything else.
In both of these types of strategies, the idea is to make pennies (or fractions) on the trade and do this many times a day.
As you may have noticed, there are many HFT jobs available, and therefore, trade is becoming increasingly crowded. I see this as something like stat arb from the beginning of the 2000s, and ultimately trading will not be very profitable, as many players try to do this.
Regarding the importance of software: the question is in milliseconds. Delay is very important, and the code must be hard, fast, and rock resistant. Having an Algot crash and getting into stocks when the market moves against you is not very profitable. The technique for these requirements is necessarily different and requires different skills. The crunch of a complete real-time order book requires some power and good algorithms. It is interesting and interesting.
Steve Severance Aug 14 '09 at 19:48 2009-08-14 19:48
source share