Hacker News new | ask | show | jobs
by kamaitachi 1704 days ago
I was working in HFT as a dev team lead around the time of this article (2105).

I remember this was being seriously considered by one of our target exchanges (can't remember if it was Eurex or Globex).

Our main HFT trader didn't seem worried - he said that the race would just change from a race to pick off an opportunity into a race to align with any auction timeframe.

Back then, our strategies were implemented in FGPA so our response to events could be timed very accurately. Even randomly-timed rolling auctions wouldn't have posed any challenges.

Probably explains why this idea never ended up being implemented by any of the major exchanges.

3 comments

Actually, it got implemented by most major exchanges in Europe in 2017/2018 and cboe seems to be bringing this to the US now: https://www.cboe.com/us/equities/trading/offerings/periodic_...
Wow - TIL. Thanks.

I've been out of the HFT business for a while, so i guess things have moved on.

Haha yeah! Though times for these auctions are double-digit milliseconds, a lifetime for your fpga strategies! And it's still fairly niche, these are complementing CLOBs/dark pools rather than replacing them. Where did you move to from hft?
Moved into a small company that does process control (SCADA) systems development. Took a fairly large drop in salary but the work/life balance improved and job satisfaction increased.

I'd previously done a lot of work in embedded SCADA systems (hence the fit for working with with FPGAs in HFT).

I left mainly because I genuinely felt that there was a certain futility with ultra low latency trading...it's less about trading and more an arms race between quants and techies of different companies, all with deep pockets.

I guess embedded SCADA systems are my comfort blanket :-)

I'm merely an observer, but it feels, intuitively, that HFT was great when things were fairly predictable -- or more like the major indices and individual names moved a most 2% on any given day -- and now, in the post-covid era, starting with the DPZ spike, and you could argue the TSLA original call buying spree, everything is in shambles. A lot of HFTs I know of suffered serious losses...

Could you explain, indirectly or without identifiers, why now is different than back then?

It's kind of an open secret, but retail traders hopping onto meme stocks like DPZ and TSLA is, counterintuitively to an outsider, actually very profitable for HFTs and market makers.

A good example might be - imagine you are a car dealership, so serving as a rough approximation of a market maker. What kind of entities do you want to trade against? Other car dealerships (informed counterparties), or your average suburban minivan owner (uninformed counterparties)?

It's immediately obvious - the rationale is that when you trade against uninformed order flow, your measure of adverse selection is far lower than if you trade against informed order flow. Your average suburban minivan owner is going to be more time-sensitive and price-insensitive than another car dealership who is willing to look high and low for better deals.

Adverse selection, in this context, is that of the orders you're offering to the market, only the subset which have the greatest likelihood of immediately losing you money are selected. From the perspective of your counterparty, they will only lift your offer if they think it will make them an immediate unrealized profit. Keeping track of your adverse selection is an extremely important part of HFT - in fact, HFTers will try to identify informed vs uninformed order flow and only try to trade against the latter, to reduce immediate unrealized losses due to adverse selection.

This is why PFOF (payment for order flow) exists. It's because companies like Virtu think that traders on RobinHood have no clue what they're doing, and they [Virtu] can come in and eat all the alpha. Virtu doesn't frontrun RH orderflow - instead, they get what's called "first look" at the flow. They get to decide to either immediately fill the offer, or let it hit the real market. From the perspective of a RH user, this is really no harm, because whether Virtu trades against you, or your offer gets lifted against the broader market, doesn't really matter to you.

I’m not sure about delta one firms but almost all the options MM firms have been having record years in the COVID / meme stock era.

In broad strokes, the things that hurt market makers the most are long winded price trends and accumulation of inventory. So generally MMs can and often will eat large initial losses (depending on how many wings they happened to have owned at the time) when huge volatility spikes happen but when the raised volatility stays at that level for some amount of time (you’ll sometimes hear this referred as market “regimes”) and the MM was able to not blow out from the initial spike they’ll more than make up their losses from the good trading environment after the fact.

Market makers as a whole were suffering during the mid 2010s when volatility was low year to year, correlation with SPY was high, and all the indices basically just went straight up every month.

The way I see it, HFT firms provide liquidity to the market, which is good. They do so in an automatic fasion which makes it cheaper than the past system of human traders. But they also do a speed competition which is mostly wasteful. There may be some benefit for the overall market of faster communications but it is pretty low.

All systems have waste, some more and some less. This is unavoidable. So the discussion might be more productive if it was framed like this: Which system provides more benefits with less waste? Would frequent batch auctions lead to less resources being spent on wasteful racing, and more resources performing useful services for other market particpants?

Or if we zoom out even more, the two main purposes of the market is allocating capital efficiently to businesses, and redistributing money from the working population to retired people (401k, IRA). And we can ask which market structure will make it better at these tasks?

Framed like this it becomes natural to look at the other side of equation. Instead of asking which structure would screw over HFT's the most, we can ask which structure would be most convinient for say index funds or other mutural funds. And which structure would be most convinient for the individual stock picker. We could even start to ask which structure would help HFT's provide more liquidity with less risk.

How do HFTs add valuable liquidity to the market? Does the 500ns faster transaction time for a block of AMZN matter to literally anyone? Other than the two sides of the trade who lost some money to the HFT who MITM'd them.
When someone buys liquidity, they don't do so to close their order 500ns faster. They do it to ensure they can trade at the current market price because they don't want to take the risk that the market will move away from them while waiting for a counter-party to trade with.

Those that are comfortable taking this risk can simply issue a LIMIT order instead of a MARKET order.

So your contention is that HFTs make prices more stable? That they somehow assume risk and that justifies their profits. How would that work? I thought HFTers only got involved in between two parties when they knew they could make a profit. That's why HFTs don't have days when they lose money.
I thought HFTers only got involved in between two parties when they knew they could make a profit.

You thought wrong. While there are a variety of things that HFT firms do, most of it is market making.

https://en.wikipedia.org/wiki/Market_maker

Those market makers are known, formal and regulated. HFTs are none of those.

Well, I guess semi-regulated.

Faster transaction times result in tighter spreads, as HFT firms compete each other on the price-time priority queue. HFT firms compete against each other on time, and while yes, that's a zero sum game, the end-result to the broader market is useful.

An analogy might be something like Uber and Lyft competing with each other for clients and drivers. From the perspective of everyone else, it doesn't matter much if they ride Uber or they ride Lyft. But the adversarial games that they play against each other [Uber and Lyft] are beneficial to both riders and drivers. Perhaps a duopoly isn't the best example, so you may extrapolate this to any industry where there's a sufficient amount of participants to keep things competitive.

But the spread in many-to-most stocks is limited by the sub-penny rule (SEC rules, as of 2005, say you can't have a spread < $0.01) rather than by the supply of market makers in that stock. Extra competition in those markets is negative-sum.
The SEC rule is that one may not quote a spread less than 0.01, but that does not mean one can not trade with a spread less than 0.01. There are several workarounds available that are well known, the simplest is in the form of mid-point pegged orders that allow spreads down to half a penny. On top of that U.S. exchanges offer a variety of different fee combinations, including negative fees which can be used to decrease the fee even further. All HFT firms take advantage of these fees, furthermore there are liquidity enhancing programs offered by the major exchanges as well as by ETFs. These can all be used to reduce the spread of a stock below the 1 cent limit.
HFTs add liquidity to the market by market making: having quotes in the book.
The main reason they compete on speed is because it's illegal to compete on price. Abolish the sub-penny rule and it'd go back to being boring market plumbing.
This isn't really a good take: many markets do not trade one tick wide in the first place and people are still competing on speed. Delta neutral trading is a zero sum game and no matter what rules you put in place it will still be incredibly cut-throat.

Moreover at this point speed is a commodity, if you're willing to shell out cash, you can get access to top tier infra right out of the gate. The real game is not how fast you are (though obviously that's important too), but how smart you can be while maintaining good tick-to-trade latency.

Trading has never been a vanilla/boring business and it likely never will be either.

> many markets do not trade one tick wide in the first place and people are still competing on speed

True but not something that I find compelling. If you can only compete on price in penny increments, then you'd have to be hugely more confident to undercut a 1c spread with a 2c spread; if you could offer a 1.8c spread by taking a little more time over your calculations, that would change things.

> Delta neutral trading is a zero sum game and no matter what rules you put in place it will still be incredibly cut-throat.

I mean yes, to the extent that there's profit in it at all. But the profits have already been shrinking year-on-year. Plenty of mature industries like supermarkets are utterly cut-throat, but don't bother regular people.

> Moreover at this point speed is a commodity, if you're willing to shell out cash, you can get access to top tier infra right out of the gate. The real game is not how fast you are (though obviously that's important too), but how smart you can be while maintaining good tick-to-trade latency.

Well, it's the same thing, like the project management triangle - you can always trade quality for speed and vice versa, the hard part is when you want to improve both. But I do agree that at this point a lot more of it is known quantities and techniques.

> Trading has never been a vanilla/boring business and it likely never will be either.

My sense is that it's no longer where the best and the brightest go (and as I said before, profits are shrinking a lot). More and more of it is commodified. Which is what we should expect from any industry, honestly - at some point things are new and exciting and profitable, then they become mature and less so.

Swap to an auction batch model and they don’t provide liquidity, they simply don’t have significant stakes relative to the number of daily transactions. Essentially their an outgrowth of all trades needing to be instantaneous which lets them reuse the same capital thousands of times per day.

Add to that the fact HFT are profitable and they must therefore provide negative economic value. Either the seller or the buyer is failing to capture value.

Nonsense. Trade can be positive sum in utility to both parties. One party making profits doesn't imply anything about how utility is changing on the other side of the trade. If you buy an iPhone, Apple have gotten richer but you have also gained something (utility).

Your understanding of HFT is wrong as well. It's not all low latency arbitrage. It's also execution finesse, risk management and ML-heavy. HFT firms will still be extremely active under this new market structure.

High turnover rates are part of the definition of high frequency trading. If your holding positions for 30 minutes your not doing HFT. Ultimate buyers and sellers aren’t gaining anything on the timescales we are talking about.
I don't know why you're bringing this up because it's not relevant, and nor is it accurate. You can have high turnover rates in batch auction strategy as well as a continuous trading strategy, this market structure change won't change that. And you can have a HFT strat with low turnover, e.g in a large tick name that barely moves where you might get five latency sensitive trades per day.
Latency sensitivity and Alo trading isn’t the same thing as HFT.

“Very short time-frames for establishing and liquidating positions.” strait from the SEC: https://www.sec.gov/marketstructure/research/hft_lit_review_...

Now it’s true an individual stock may only see 5 trades per day from a HFT algo, but theirs more than just one stock. The larger pool of money sitting around waiting for those 5 trades the lower your ROI. So, the obvious strategy is to reuse the same pool of money to back multiple different strategies.

The idea is that HFTs provide value by tightening spreads.

The slower a market maker is, the more risk they take on when they quote, because they are more likely to be caught by market moves - less likely to cancel their quote when the market starts moving, less likely to be able to hedge if they get filled at the start of a move. To make up for that risk, they have to earn more per trade. The only way to do that is to quote a wider spread [1]. That means that real money participants end up paying more when they cross that spread.

The value captured by HFTs has not come from real money participants, but from other, slower, market makers, and they have shared that value with real money participants.

[1] Or to demand a bigger stipend, or steeper maker-taker pricing, from the exchange, either of which means bigger fees for other participants.

But lots of stocks have their spread limited by the subpenny rule, in which case additional HFT in that market is completely socially useless.
If your strategies were implemented in FPGA, they were probably not very complicated (considering the things you can do on a regular CPU).

Wouldn't markets function better if every participant had a reasonable amount of time to make decisions?

It’s not always that straight forward. In the hft space you’re essentially always responding to 1 event, a trade, an order, a cancellation etc. Events are generally spread far enough apart that you can consider them independently (obviously not always, but often) So it doesn’t matter how complicated your model is, if you can pose the question “what would you do if X happened” to your model then you can prepare your fpga with “if X happens do Y”. As long as your universe of possibilities is tractable (which it often is) then an arbitrary model can have all latency sensitive events offloaded to fpga.
The part of the strategy that lives on the FPGA has to be fairly simple, but that doesn't have to be the only part of the strategy. You can do all sorts of deep and meaningful computation on a real computer, then export some settings for a simple event-driven model to the FPGA, updated many times a second.
As a retro computing enthusiast who does algo trading from my Commodore 64, I would very much like more time to compute my trades.
I'd love to read about you trying to persuade the exchange to let you put that C64 in the colo.
This is interesting. May I ask how do you do it from software poinr of view? As for CPU and memory for sure it is possible, but I'm more interested about how do you connect into exechange/broker?

Contiki, SLIP, PPP, or maybe some ethernet expansion ?

>they were probably not very complicated

They use linear models and soft cores. Plenty complicated for the kind of arb you could get executing 500ns tick to trade better than the next firm.