Bear with me on this one, I’m going to need you to use your imagination. But let’s pretend we have an edge.
Firstly, we should cover what we mean when we say edge. Edge, alpha, advantage all mean the same thing in trading, we have an information asymmetry. We know something that puts is in a good position that others don’t.
If we can make a cliché parallel to poker, you can think of this like having the “nuts”, or a royal flush on the river, or even pocket aces. Sure, you might have the best hand, but if you bet aggressively, everyone will fold. You can only make what others bet, so how do you maximise profit?
I’ll save you from further poker jargon now and we can return to what this looks like in trading. Let’s pretend we have something almost none of you will have, a latency advantage. This is an easy edge to understand, simply, I see shit quicker than everyone else and can trade on this information before others. A simple example of how this trade works is to imagine Bitcoin wicks up 1% on Binance. If I see this before everyone else and have my super fast algo send a buy order on Bybit to be first, I can arbitrage the 1% difference1. Now BTC trades very tight at under a 1bp spread for decent size. Fees for high volume traders can get down around 2bps, so we don’t need things to move much to make money doing this, but what we do need, is to be first.
Binance’s servers are located in AWS Tokyo, Bybit’s are in AWS Singapore. There’s a roughly 70ms difference between the two venues, going via the public internet/AWS lines across the ocean (i.e. not utilising faster private lines). We’re not going to delve into the nature of networking latency or HFT tick-to-trade times, but I thought it’s worth adding that context for those who don’t know. As you can imagine, there is a fuck tonne of money to be made (north of $100mill USD per year) if you’re the fastest here. It’s very competitive. We’re in an arms race to not just be the fastest, but stay the fastest. If you find a trick to go faster than your competitors, they will see less trades. They will realise rapidly that there is something they are missing and work around the clock to gain this edge too. It’s a cat and mouse game to stay at the top.
Let’s say we are team number 2. We are 1ms slower on average than the top guys, we take roughly 10% of all trades, the top guys are getting >70%.
One day, we happen upon an unseen API endpoint that lets us send our orders in 5ms faster. We are beside ourselves, we’ve just found a pot of gold.
But we have a problem. We only have an advantage for as long as our competitors don’t know about it. Afterwhich, we would return to being 1ms slower than them. What do we do?
We sandbag.
Everything contains information, whether you like it or not. These competitors, about to be dethroned, will know more by virtue of seeing how much of an advantage we’ve just found ourselves. So we add in a 3.8ms delay.
Yes. We slow ourselves down.
We are now only 0.2ms faster than our competitors on average. The trades start coming our way, we now take 60% of the trades. We have >5x’d our profit, we’ve got the cheese.
Our competitors’ profit has more than halved. The clock is ticking now, they will be hustling to take the cheese back from us. We must also work with the same urgency to find any more edges too. A week passes by and we see our win rate drop. They’ve found something. But, it’s not the hidden API endpoint, they’re only 1ms faster than before. We see this, and bump down our 3.8ms delay to a 2.8ms delay. Our win rate goes back up.
This game continues ad infinitum in pretty much every major market and asset class around the world, if you’re trading in a crypto orderbook, there are guys like this in there with you. The point I’m trying to make here is having an advantage alone isn’t enough to make big money, you have to actually trade. If we had given away our 5ms advantage straight away, we would have signalled there was something major they were missing, they would be suspicious. They would rule out small networking improvements, modelling improvements, or maybe the use of FPGA’s. Your advantage might last only that 1 week, instead of being able to eek it out for maybe 5.
Now I doubt most of you will find yourselves in this position, so how does this apply to you? Well, firstly I should point out that you shouldn’t be trying to compete in these insanely competitive trades, you should be trying to do things in less sharky waters. As Robot James likes to say “Stop trying to beat Djokovic at tennis.”
Read the thread here, it’s a great read.
The places you should be trading are things with 200k daily volume, on exchanges no one really gives a shit about, in places that are annoying to trade and not that exciting for the big guys. These are places where your participation has an impact on the market. By virtue of trading or quoting, you are taking part in price discovery. In these environments, you cannot afford to show your hand. You’re 50% of the Open Interest in a mispriced perp? Cool, you just got squeezed and liquidated.
Don’t let them see you.
You want to be harvesting the shit premia, you are shovelling the shit of the financial markets and it stinks. But it’s a job you’ll get paid for.
Despite all this you must remind yourself, you are trading. Squeeze everything you can out of it whilst it lasts.
In practice, we just do the good leg, not both sides, but everyone loves arbitrage.
> harvesting shit premia
Byrne Hobart had a post about this; he calls it artisanal hand-crafted liquidity provision
Banga