0+: A double digit Sharpe HFT strategy

Ever wondered how HFT strategies work?

Today, we'll explore the 0+ HFT strategy -  a strategy that has been practiced for decades by various HFT firms - but remains largely unknown to the public.

0+ is all about speed and market microstructure. If you can't be the fastest, it won't work. If your market microstructure sucks, it won't work.

Once you become the fastest, and you have access to the right market microstructure, you're essentially printing money. Your Sharpe ratio goes well into the double digits. The only way you lose is if someone else becomes faster than you, or if your market microstructure suddenly turns against you.  

History of 0+

While 0+ has been known in HFT circles for several decades, it hasn't received much coverage in mainstream media. The only source available on the web is an excerpt from Scott Paterson's 2012 book, Dark Pools: High-Speed Traders, AI Bandits, and the Threat to the Global Financial System, where former HFT quant, Haim Bodek, investigates a document that he had acquired from a colleague. The document, which originated from a Chicago HFT firm, contained a detailed description of the 0+ strategy:

"It was the Holy Grail of trading. The 0+ trader was describing a strategy that effectively never lost. The rest of the market protected it whenever the firm’s algorithms detected the slightest chance that the market was moving against it.

...

It’s brilliant—and diabolical. A firm that has found a strategy that is virtually guaranteed to win on every trade has discovered a hole in the market. Trading is all about taking risks, but this author was describing a virtually riskless trade."

Since Paterson's book, not much has been posted about 0+.

As of 2023, the strategy remains largely unknown to retail traders, and asking ChatGPT about the strategy renders a more or less useless answer:

"The 0+ scalping strategy is a trading approach that focuses on making quick trades to take advantage of small price movements in the market. The "0+" in the strategy refers to aiming for a minimal or near-zero profit target on each trade. Scalpers typically enter and exit trades within minutes or even seconds, aiming to accumulate small profits from multiple trades throughout the trades."  
Haim Bodek, former HFT quant. Bodek came across 0+ in a document given to him by a colleague. 

How 0+ Works

Like most other quantitative trading strategies, 0+ relies on probability and positive EV (positive expected value).

With 0+, your probability of making a good trade is a tiny bit higher than your probability of making a bad trade.

If you make 1,000 trades, using 0+, you will expect to come out on top for at least 501 of them.

These are the kind of seemingly minor advantages that, when added up over billions of trades, turn small HFT shops into 500 employee businesses.    

So how does 0+ gain its advantage?  

To understand this, one must first understand the market microstructure that makes 0+ possible.

Price Levels

A price level is a specific price, at which orders can be submitted.

For instance, for the SNAP stock, these could be the price levels:

Ticks

A tick is the minimum difference between two price levels ($0.01 in the above example).

HFT strategies generally aim for a profit of 1 tick.

Order Queues

Each price level has an order queue. The order queue contains the orders that has been posted at the price level (and are waiting to be filled).

An order queue is sorted based on the FIFO (first-in-first-out) principle. The first order to join the queue will also be the first order to exit the queue (in the event of a trade).

An order queue. New limit buy orders are added to the Queue Tail. Market sell orders match with orders at the Queue Head. An order can exit the queue either through a cancellation or through a trade. 

The strength of an order queue is determined by the total quantity of its orders. If a queue has a lot of large orders in it, it's considered strong. If it has only a couple of smaller orders, it's considered weak.

Weak queues are very easy to break. It takes only a couple of order cancellations or trades to clear all of the orders in a weak queue.

Strong queues are the opposite.

A queue that used to be strong might become weak (due to order cancellations or trades), and a queue that used to be weak might become strong (due to new orders joining the queue).

From a market microstructure perspective, being in a strong queue is preferred.

If you get filled on an order, while being in a strong queue, the chance of the price moving against you (and you losing 1 tick) is lower than if you get filled, while being in a weak queue.

This edge in probability can turn a $0 strategy into a $100 million strategy.

Price levels, with order queues (order timestamps in small). Can you spot the price levels that have strong order queues?


Scratching

Being in a strong queue also comes with other benefits, such as the ability to cancel your trade.

Cancelling a trade might seem impossible to people that are not familiar with market microstructure (trades are final, right?).  

However, it's actually very possible.

Got filled on a buy order? Submit an identical sell order (same price, same quantity). Your orders will cancel each other out.

Of course, there's no guarantee that your sell order will be filled. That's why you'll always want to be in strong queues.

If you get filled, while in a strong queue, there'll always be other orders behind you. When there are other orders behind you, you can always neutralize your own trade by trading against these orders.

Cancelling your trade is called "scratching" in HFT speak.

Buy 50 gets filled at $8.03. The trader scratches the trade by placing a Sell 50 at the same price. The Sell 50 matches with the next order in the queue. The net P/L is 0 (excl. fees).

Scratching typically comes at a cost. You pay two trading fees (one on your original fill, and one on your scratch). As such, it's only worth doing when your trading fees are lower than the size of a tick.

In a typical HFT scenario, you can expect a near-zero trading fee (0.001% or less), and a 0.01% tick. As such, scratching becomes worth it. Paying the near-zero trading fee twice is much better than losing the tick.

For a retail trader paying a 0.05% trading fee, scratching is typically not worth it (the fee will be much larger than the tick).

The ability to scratch, or cancel your trades, can make your strategy seem almost immortal. Every time you get filled on a price level, and the price level starts looking weak, you simply cancel your trade. By doing so, you avoid all of the bad trades (where the price moves against you and you lose 1 tick), and you participate only in good ones (where the price moves in your favor and you gain 1 tick). The probability of a 1 tick gain becomes substantially greater than the probability of a 1 tick loss.

The Holy Grail

The holy grail of HFT is to always be able to scratch. If you're able to scratch all of your bad trades, your algorithm essentially becomes a money printing machine, with a Sharpe ratio well into the double digits.

0+ is fully aware of this fact, and will only participate in strong queues, in which it can maintain a good position.

It will happily join new and empty price levels (knowing that it can easily snatch the #1 queue position on these, thanks to its superior speed), and it will happily abandon these price levels, if they turn out to be weak (not enough other market participants joining).

By avoiding weak queues entirely, and by always having plenty of orders from other market participants behind it, 0+ manages to scratch 8 out of 10 times.

Orders submitted by 0+ (in red). 0+ will only participate in price levels where it can be #1 in the order queue, and where the order queue is strong. Here, it has managed to become #1 at several strong price levels. At price level $8.01, it had tough competition from Buy 30, but still managed to be first (it was 1 second faster).


Caveats

To be successful, 0+ requires a ton of speed. Joining strong queues early (and achieving a good position in these queues) requires a ton of speed. If you're not the fastest, someone else will always be in front of you in the queue - and someone else will always scratch before you can scratch, or cancel their order before you can scratch.

0+ also requires the correct market microstructure.

If the trading fee is larger than the tick, scratching becomes negative EV. And if the FIFO principle of the order queue is violated, being the fastest no longer works.

Firms that use the 0+ successfully are well aware that it's entirely dependent on speed. These firms dedicate millions of engineering hours to fine-tuning their systems, and optimizing latency between their systems and the exchanges that they are trading on. If a competing firm becomes faster than them, it's game over.

They also recognize that a change in market microstructure can make or break the strategy. If the exchange they are trading on raises their fees (or takes them off a special commission deal), scratching could cease being viable. If the exchange introduces a privileged order type (only available to selected market participants), or introduces preferential order access, it could also break the strategy.

The 2013 VPRO documentary "Wall Street Code" documents how Haim Bodek (founder of HFT firm Trading Machines) spends months on trying to figure out why his firm's 0+ strategy had stopped working - only to realize later that it was due to a special order type ("Hide Not Slide"), that his firm had not been informed about, and could not access. The order type allowed select market participants to have preference in the order queue, violating the FIFO-nature of the queue that the 0+ strategy expects.

Equity curve of a double digit Sharpe HFT strategy. Source: Jonathan Kinlay

0+ In Practice

While the 0+ might seem like an impossible strategy for anyone but the largest of quant firms, it could in fact be employed by anyone. The key to using the 0+ successfully as a hobby quant is to focus on markets that the big guys aren't interested in at all. Typically these will be markets with low volume, and low potential for scaling.

There are a plethora of markets out there, and while no one can be the fastest in any market, almost anyone can be the fastest in a single market. Top equities on US exchanges like NASDAQ and NYSE might be out of the scope for the average hobby quant, but a thinly traded penny stock, or a low-cap cryptocurrency on a smaller crypto exchange, might not be. Being the fastest in a $5M volume/day market might not be sufficient for turning a hobby into a HFT firm - but being the fastest in 100 such markets very well could.

In the ocean of quant finance, there is plenty of food for everyone. The sharks may get the bulk of the food, but even the guppy is able to snap up some plankton here and there.

Subscribe to Everstrike

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe