455 karma · joined February 23, 2012
Seriously, how many times have we discussed this issue on this site and we still get this bullshit. Bill doesn't know Joe is going. He doesn't. Get it through your thick heads.
No way. It may be native C, but it's not native C you've hand-coded yourself.
If you assume that the number of 'real' trader (not middlemen) who want to buy or sell is constant (not necessarily true, but assume it for a moment), then it stands to reason that the tighter the spread, the less the market makers are profiting. At a small enough spread, they make no profit, since the profit from the flow on both sides is cancelled out by the losses from adverse selection (trading when they couldn't cancel in time - being victim to a predator). But if they can increase their speed, and minimize their adverse selection losses, then they can quote tighter and still make a profit. And do it with machines, and cut overheads of hiring humans, and you can quote even tighter since you need less trading profit to make a net profit. So this is the value generated, automation + speed = the smallest amount of frictional costs being extracted from the market.
Imagine that there is a "true price" of some security at price x, and your bid and your offer are positioned around that true price at x - d (your bid) and x + d (your offer). So your spread is 2d. Then some external (public) event happens, which moves the true price by an amount greater than d. Let's say it is a big event, and the true price falls by 4d. Now there is a race. If you don't manage to cancel your bid in time, a predator will 'pick you off', take out your bid, and they'll sell to you at (x - d) when the true price is now (x - 4d). The predator has made an immediate (paper) profit of 3d, and you've made a loss of the same amount. If you're fast enough, you can successfully cancel your bid and repost it further down the book at x - 5d.
Now, as a market maker, a liquidity provider, you could increase your safety margin by quoting a wider spread, setting your bid and offer at +- 2d instead of +- 1d. Now it takes a larger move before you're in danger of being "picked off", but you'll also attract less customers and make less profits. Speed (latency) is directly correlated to how tight a spread a market maker can quote.
"Large supermarket chain" also provides the trade functions "assortment of goods" and "transport", so what exactly are you paying your extra 50c for? Liquidity.
What a bunch of assholes those 7-11 types are. Charging us an extra 50c for milk. The nerve.
It's a little bit like saying the guy who runs your 7-11 is a scumbag because he charges an extra 50c for a carton of milk, and "who needs that liquidity, they could just wait until <insert large supermarket chain> opens and get their milk there". Sure, but they might want the milk now. And no one forces them to get it from the 7-11. It's a free market.
The thing is, you know to ignore the burst on the public feed, since you know it is coming (you created it). You still have to process the order book updates, but you can skip your decision logic. So any participant who has an internal latency (packet decode + orderbook update + decision logic) greater than 1 exchange cycle, and who doesn't have an "out" clause to stop making decisions if it is falling behind, will be vulnerable.
Like I said, I don't buy it, but it is possible in theory.
It does hurt people in some way. It increases the amount of data we need to handle. More storage space and more processing required.
And you've been a bit disingenuous in your article - there is a theory behind the "2.???" part. The theory is that slower participants are overwhelmed by the quote traffic and end up lagging, and are then taken advantage of. I don't personally believe it, and I'm sure 99% of these things are just feedback loops, but it is theoretically possible. The faster exchanges are cycling in say 20-30 micros these days, so any participant who can't match that rate will easily fall behind. Who knows, weaker participants may still be taking 1-2 millis to handle an update. So just before some known vol event, say an economic figure, you flood the exchange and lag the other participants by say 50 millis, then pick them off after the new information arrives.
Chris: You've also missed the most common cause of these issues in my experience - feedback from identifying your own orders in the public stream. HFTs need to filter their own orders out of the orderbook they are trading on, or a feedback loop can begin. This can be difficult, since some exchanges don't provide a clear way to identify your own order, or it may be the case that you receive the public UDP packet before the private TCP packet that contains the ID required to match the two.
For example (a basic one), say I have an algo that calculates the midpoint based on the best bid and ask volumes. And can only insert within x distance of the midpoint. I add a bid to the top of the book for a 1 lot, get the UDP public depth update, don't know whether this is my order or someone elses. So I re-calculate the midpoint, which pushes the midpoint upwards (greater bid volume), which means I then pull my bid, which means I recalculate the mid again, then re-insert, etc. etc....
Surely you mean a bach bro?
Wrong. In HFT, the 'strategies' are the least complex part. They are often dead simple. A well written (fast) exchange connection is at least 70% of the game.
He's a thief and he got caught, but the HN community don't like that narrative.
Also, I've missed the best part so far, when I mentioned that you get charged three times in my first post, that was just to get into a trade. So end-user will get charged at least 6 times per roundtrip (twice directly, four times indirectly through widened spreads).
6bps. To market make a spread you have to buy AND sell. Tax is charged twice at each end.
The intermediaries are charged the tax twice, which means the end consumer (investors, pension funds, whatever) will be charged (at least) three times. Once directly, and twice indirectly because market makers will have to widen their spreads by at least that amount.