CTO of an HFT firm here. My opinion: repo (and probably author’s comments) are LLM-generated. That said, many questions and techniques touched upon are real. So even though I certainly would not use any of these verbatim (as I wouldn’t do with any other LLM code), as a list of pointers for someone relatively new to the field this is actually pretty useful.
Saves you a “generate low-latency trading system” prompt anyway.
It does not. If this was the case, round trip wire to wire latency below 1.0-1.2 microseconds in software would’ve been impossible. But it clearly is possible - see benchmarks by Solarflare, Exablaze, and others.
They were most definitely IFR. Not because of the weather but because IFR is required above certain altitude 18,000 ft in the U.S. and typically lower in Europe (depends on a country). Jets including small private jets are almost always on IFR. Airliners with passengers - always.
Russian propaganda does not say that. Putin himself said on multiple occasions that any theories of staging moon landings are silly. Don’t have a reference at the moment but I have seen several Putin’s interviews to that effect.
Russian propaganda is alive and well on many topics but denying American moon landings is not one of them.
One does not need a lot of bandwidth to trade successfully. In fact, a limited number of signals agreed upon ahead of time is enough. E.g. signal “A” could mean “buy 10 contracts”, signal “B” - “sell 100 contracts”, etc. And you can of course wrap 256 such signals into one byte. So transmitting a single byte at an opportune time let’s you control your trading on the other continent in a quite precise fashion. If you make such transmission, say, 10 times per day your bandwidth utilization is technically 10 bytes per day or about 0.001 bps - yet you can make a ton of money.
All you really need to do is to beat the trade you just saw enter the system so you can buy the trade out from under them and mark it up while their bits are still stuck in glass. You know, "provide liquidity".
It's a great idea. But every time I see that name I can't keep my brain from moving the spaces around. I mean seriously what were they thinking with that name.
If not why do they need to have the lowest latency? Seems to me that if you want to provide liquidity what you need to do is buy a wide range of stocks and sit on them so they're all listed and available for trade. But you don't need extremely low latency for that. If you're providing liquidity you should be sitting on an insanely diverse portfolio at the end of every day. The whole point is to make sure trades are available so nobody is waiting for something to appear on the market.
When trading on exchanges no one can see your order before it makes it to the exchange, it’s literally a private connection directly to the exchange.
Once your order hits the exchange 1 of 2 things can happen, your order can trade (that is it immediately clears) and all participants get an update which shows the new state of the exchange (the previous state minus whichever order(s) your order matched against). Or your order doesn’t trade, it “rests” because your price doesn’t match what anyone else is offering. At that point your order is at the back of the queue at that price and all other participants get an update showing the new state of the market with your order added to the state.
So why is latency important? The most important reason is not adding orders, which is only important if no one is already quoting your price, it’s for cancelling orders. If you get some information that makes you think your orders are incorrectly priced you want to cancel them before anyone can take advantage of that and then get new orders in at the new price you think is correct. This information is either off exchange (e.g. the fed job report) or is on the current exchange or another similar one (e.g. some big hedge fund is selling a ton of Swiss Francs in European exchanges).
On the map in the article exist 2 exchanges, the CME and the ICE which trade different but highly correlated symbols (CME WTI oil and ICE Brent oil). If I see a price change on the CME for those correlated symbols I can bet with high confidence the price will change for the ICE symbols as well, so I’ll race to cancel my orders that don’t reflect that new anticipated price.
For market makers providing liquidity order management is as important if not more so than inventory management and that’s where speed reduces risk, allowing them to provide cheaper liquidity.
A market maker wants to end the day flat on inventory with well positioned orders. Holding a big portfolio of inventory is the worst case scenario.
> When trading on exchanges no one can see your order before it makes it to the exchange, it’s literally a private connection directly to the exchange.
If the stock market was only one marketplace that would be true, but when your order goes out to multiple marketplaces that's where the trouble starts.
Are you claiming that if you offer to buy 10 shares of X at $10, but the price drops to $9.99 while you are hitting "execute" the system isn't smart enough to let it happen and your $10 order will sit unfulfilled? And that the HFT folks are so kind in letting you save time by marking it up for you? What a valuable service that couldn't easily be provided by my own system... /s
Even in multiple exchanges orders are always private before they execute if you are trading on an exchange (if you are trading through another venue this may not be true but in those cases latency is not an issue as there is no race).
If you send an order to buy at $10 and the lowest sell price is $9.99 you will not rest an order you will be filled at $9.99 before any other exchange participant can see your order.
Orders rest when you offer to buy at $9.98 but the lowest sell price is $9.99. At that point if you are the first person at that price level you will be first in line when someone tries to sell at $9.98. Otherwise you will be last in line even if the person in front of you put their order in by mail a month ago.
Respectfully that you need these concepts explained to you means you don’t know even the basics of how this works so holding a vehement position on it is a bad look.
It’s akin to someone hearing that udp is a lossy protocol and railing about it existing at all.
Those were rhetorical questions. They were meant to show how silly the concept of "offering liquidity" is as a service. Nobody asked for it, but they can't opt out without doing crazy workarounds like delaying orders to different market to avoid giving away their trade information to front runners.
Right, which is what I was talking about in the original post.
You don't need ultra-low latency to put in that $9.98 order to keep the market moving. If you were serious about providing liquidity you'd have tons of bids and offers open all the time. You would be holding tons of stock at the end of the day by the nature of the business.
HFT firms tell you that they are making life easier for traditional investors by providing liquidity, but that doesn't make much sense given how they operate.
Something similar was used for landing the original Mars Rovers - not actual full data telemetry channel but just a very simple very low bandwidth signal that can be translated to symbols, each signifying an important phase of the landing being reached.
So, I was fascinated by that video and kept asking myself "wait, that's a thing?". I found this great article by the pilot of the video that talks about the practice and economics of cherry drying: https://blog.aopa.org/aopa/tag/cherry-drying/
Saves you a “generate low-latency trading system” prompt anyway.