Friday, September 9, 2011

Orderbook High Frequency Trading Tactics

This is pretty interesting, and relatively well known today (among institutional traders) content from the market making section of Euan Sinclair book, Option Trading. These are some of the methods applied going back from the floor trading days.

"Mimicry"
Apparently, a good number of questionably inept floor traders made a decent living by identifying competent traders, and basically quoted same prices or took identical trades. In the open outcry setting, it meant holding up same number of fingers; and in today's electronic environment, it means to join competing quotes. While this works "OK" in trading terms, for market makers the issue of inventory management still requires self developed innovation.

The Ratio Trade

Let's say we have the following inside quote for a futures contract,

Ask Size: 300, Ask Price: $1,001
Bid Size: 10, Bid Price: $1,000

Historical stats and economic theory suggests that the mid price is likely to move down as the chance is greater for the arriving market orders to trade through the bid than to lift the offer. Then we naturally want to sell at the offer (Ask) at the price $1,001.

Here is where understanding an exchange's microstructure comes in. Selling at the offer relies on our place in the order queue, Order Matching Algorithms differ between exchanges.
  • If this market applies a pro-rata basis (like the Eurodollar), and we could offer 100 contracts at $1,001, making up say 30% of the Ask Size, then for every 3 contracts bought, we'd be allocated 1. 
  • If this market applies a FIFO (First In First Out) time stamp based policy, we could spam the market with limit orders all over the book at the open, then cancel/hold on to them as the orderbook condition evolves throughout the day for favorable queue positions.
Ticking


A tick is the minimum price increment for a traded instrument. Let's say we have the following inside quote for a futures contract who has a tick size of 1,

Ask Size: 200, Ask Price: $1,005

Bid Size: 10, Bid Price: $1,000

Again, the large offer size is more likely to cause price to drop in the immediate future, and we really like to sell. We could step in front of the offer and make the orderbook look like this:  


Ask Size: 2, Ask Price: $1,004

Bid Size: 10, Bid Price: $1,000

So we have improved the Asking price by a tick. For traders or algorithms without access to the full book, the inside quote now shows a seemingly favorable imbalance making them inclined to fill our offer (hoping to benefit from the ratio trade).

I'm sure this pisses off a lot of traders/market makers.
Oh well, as quoted from Urban Dictionarydon't hate the player, hate the game.

Leaning an order

If weget filled, we immediately bid at $1,001 and make that 3 ticks, and if the order book changes against us, we could always hit the offer at $1,005 to limit the loss at 1 tick. Statistical expectancy off this move's returns differ between instruments, as expected since the respective traders are expected to apply very different algorithms.


Flipping

This is bluffing. Let's say we have the following inside quote in a market with FIFO (First In First Out) policy,

Ask Size: 10, Ask Price: $1,001

Bid Size: 10, Bid Price: $1,000


We can place a large bid to make the book appear unbalanced. Let's say we bid 90 contracts at $1,000

Ask Size: 10, Ask Price: $1,001

Bid Size: 100, Bid Price: $1,000

then we offer 5 contracts at $1,001, so the book state looks like this,


Ask Size: 15, Ask Price: $1,001

Bid Size: 100, Bid Price: $1,000

At this point, most simple algorithms (or traders) would be willing to hit the offer and let us sell at $1,001. There is also the chance of the offer getting traded through stochastic market behavior since we are last in the order queue.

So at this point, if things go according to plan, our offer gets filled at $1,001, and we'd pull our bid immediately. The inside quote becomes something like this:


Ask Size: 5, Ask Price: $1,001

Bid Size: 10, Bid Price: $1,000

The simple algos/traders realize there was no genuine buying pressure, and try to liquidate those futures they just bought; and we have a genuine selling pressure we could cover our short position into for a profit.

Bluff calling


If we suspect someone's flipping the bid, and the book looks like this:

...
Ask Size: 10, Ask Price: $1,005
Ask Size: 10, Ask Price: $1,004
Ask Size: 10, Ask Price: $1,003
Ask Size: 10, Ask Price: $1,002
Ask Size: 15, Ask Price: $1,001
Bid Size: 100, Bid Price: $1,000
Bid Size: 10, Bid Price: $999
Bid Size: 10, Bid Price: $998
Bid Size: 10, Bid Price: $997
Bid Size: 10, Bid Price: $996 
...

We could call their bluff by selling enough contracts at market (hitting the bid), and drive the price down to $997. Let's say we sold 200 contracts, the book now may look like this:


Ask Size: 60, Ask Price: $997

Bid Size: 10, Bid Price: $996

Now the flipper is sitting at a marked-to-market loss of 400 ticks, and the book looks like there's still selling pressure. This could create so much pain for the trader that they liquidate the position, in the process we could cover our short position with a net profit.

Speed and precision

While today's high frequency trading algorithms typically utilize significant complexity, they more or less exploit inefficiencies off the above mentioned core methods. So what is the optimal (highest expected net profit with minimal volatility in return) mixed strategy? Game Theory may offer solutions.



Intuitively, the above strategies require high speed and numerical precision to pull off. Most order book values change within ranges of milliseconds and are in a constant state of flux. This explains why so many of today's elite hedge funds/proprietary trading desks invest so much into IT infrastructure and mathematical ingenuity.


0 Reflections: