Robert's blog
Robert Važan

How to kill high-frequency trading

High-frequency trading is not necessary. It's not even useful. There are ways to stop this waste of resources. Here's an example solution.

I work at WBP online where we make low-latency software for small-time traders. The software limits losses these traders suffer from the big high-frequency traders and gives them an edge over traders without any low latency information. While useful in the context of current market rules, I believe this whole low-latency trading is an inefficiency in the system with no real value, something to be optimized out of the system.

It's like with the trees. Trees grow tall, because being tall means better access to sunlight and evolutionary advantage. The problem, of course, is that tall tree multiply until all the trees in the forest are as tall as possible. The extra height consumes resources, but no tree in the forest gets any advantage anymore. Quite to the contrary, the wasted resources weaken the trees.

Low-latency traders try to gain advantage by being a few milliseconds faster than everyone else. It's not true that "they add liquidity to the market", because the liquidity is already there. It's just a few milliseconds late. No business ever went bankrupt just because it had to wait 20ms longer for funding.

Low-latency traders consume considerable amount of profits made in the market and they spend it on ridiculously useless things like extra straight undersea cables, long-distance microwave links, custom high-speed hardware, and putting lots of custom servers as close to the exchange as possible. Exchange operators even capitalize on this low-latency rush by providing co-location and advance information services for a fee.

It's actually quite easy to put low-latency traders out of business and restore some sanity on markets, which reportedly handle high-frequency trades in volumes exceeding normal value-seeking trades. The solution? Just synchronize all the markets on common clock and execute all orders at the same time. Then wait 1 second and repeat. Typical trading second would look like this:

Partitioning of trading second into decision, network, and execution time
Market is alternating between decision-making and execution of orders with short gaps for network communication.

200ms is enough time to deliver information around the planet. That means no trader is at a disadvantage in this system, wherever he is located. That would discourage traders from investing in useless low-latency technology. Available human talent and capital would be directed towards useful investment into actual value of the shares.

Of course, in order to work, this system would require time synchronization across all exchanges. That's however pretty easy and cheap to do with GPS time. Market-moving data sources would also have to synchronize time and release information during the time exchanges execute orders.

There is a subtlety in current exchanges that trades are often executed in order they are received. This technique is undesirable under synchronized time system, because it would restore advantage for traders with faster links. Instead, buyers should be matched to sellers randomly, with probability proportional to the volume of their order.

Can this system be implemented? I doubt so. Regulation is necessary to coerce privately held exchanges to give up fees they receive from low-latency traders. International agreement would be required to make regulation consistent everywhere. Meantime, the best we can do is to ship low-latency software to smaller traders in order to offset their losses a little.