Hacker News new | past | comments | ask | show | jobs | submit login

You've lost it to a market making who is charing you for providing a service. Whenever you trade with a market maker you are buying liquidity (which used to be expensive but is now a lot cheaper). You're saying "I want to take the price you are offering right now and am not willing to take the risk that someone else will never come along to trade with me at a slightly better price."

If you don't want to trade with a market maker you can avoid purchasing their liquidity by placing a limit order that doesn't cross the spread. You'll then wait until someone else comes along to trade with you. Of course, you're taking a risk that the stock price will move away from you and you'll never trade. Normally this is the risk the market maker takes for you (which is why you pay him) but you can always do it yourself if you want.

In that comic the first caveman is getting a price that is right in front of him. He's not willing to wander around hoping to find a better price in another cave. That's a service that the 2nd caveman is performing for him. That's why the 2nd caveman gets paid.

The key thing to realize is that market makers don't just "get into the picture" by muscling their way in when other people don't want them there. Think of them off to the side selling liquidity for anyone who wants to walk up to them and buy it.




Thank you for the detailed explanation, I get the point about liquidity and traditional market makers, that makes sense.

But isn't the point about HFT (at least, the part that is described in the comic) being "insider information" reasonable? Some people are willing to sell now for a low price, and some people are willing to wait longer for a better price, but I don't think anyone is unwilling to wait 1 millisecond for a significantly better price, no? Does liquidity on the millisecond scale make sense?

> He's not willing to wander around hoping to find a better price in another cave. That's a service that the 2nd caveman is performing for him.

I can see that, and in some contexts it's a very valuable service.

But suppose I'm caveman 1. I know that CaveBob is a middleman. Everytime he comes to see me, it's because he knows something I don't, and I end up regretting my trade with him because a few hours later, I invariably realize that I could have made a much better trade. Then I'll stop trading with CaveBob, of course, and I'll naturally bump into those needing my meat a few hours later.

In a stock exchange, I can't stop trading with CaveBob's, as far as I know. If a stock market without market makers and HFT rises by 5% every year, then by participating, I can hope to make as much if I'm average at trading. In a market with HFT, they will be taking part of the 5% with very low risk (through technological advantage), so it's not clear what's left, and the decision to participate is not so clear.


> but I don't think anyone is unwilling to wait 1 millisecond for a significantly better price

Two things here:

1) Is 1 penny better when trading a stock that costs $50 bucks really significant?

2) The issues is that you aren't guaranteed to be able to trade at a better price 1 millisecond from now. Maybe someone comes along and takes your price or maybe the stock moves away from you and you can never ever get that price again ever (or even the price you could have gotten from the market maker). It's a risk. And it's a risk you are free to take, or it's a risk you can pay the market maker to take for you. Your choice.

> In a stock exchange, I can't stop trading with CaveBob's, as far as I know.

You can absolutely stop trading with CaveBob! You can do this, as I said, by "placing a limit order that doesn't cross the spread." So if Bob is selling $STOCK for $10, and buying for $9.95 and you want to buy you can place a limit order to buy for $9.95. CaveBob won't sell to you at that price but maybe someone else will come along later to take it from you.

But again, it's a risk.

It's also a risk with an adverse selection problem if you think about it.


> You can absolutely stop trading with CaveBob! You can do this, as I said, by "placing a limit order that doesn't cross the spread." So if Bob is selling $STOCK for $10, and buying for $9.95 and you want to buy you can place a limit order to buy for $9.95. CaveBob won't sell to you at that price but maybe someone else will come along later to take it from you.

Does that solve the issue? Suppose that I'm usually selling meat at 10$/kilo, but the buying side is at 9.50. Then when there's a catastrophe (some other vendor burned down), I could sell them at a higher price, 20$/kilo. If the news reach the HFT 1 millisecond before it reaches me, they can buy it at 10$ from me, then sell it at 20$/kilo for a big profit, but I would much rather have sold it at 20$/kilo myself. Is there any limit order that prevents that?


No. If you put in an order you're willing to sell at $10 (unless you notice the news about the catastrophe and cancel your order fast enough)[1], you're selling at $10. But if, instead, you just take the market price (as provided by the market maker) whenever you want to sell then as soon as the information enters the market you'll end up selling at $20 (or $19.95 or whatever).

This is one of the other services that you are paying the market maker for: price discovery. If you want you can do this job on your own. You can expend a lot of effort to keep up with all the latest news so you know what price you should be selling at. Or you can let market makers all compete to buy from you at the best price taking into account all of the latest information. In your meat example, keep in mind that there isn't just one trader who will buy from you for $10 to sell at $20. They're all competing to buy from you for the best possible price so they will very very quickly bid the price up to something very very close to $20.

This is why most people love market makers! If you trade with them you can be assured that you are (more or less) getting the best possible price taking into account all of the latest information.

Going back to your comic, this is what's happening in frame two. The ship arriving (for some unclear reason) is changing the price of neckerchiefs. It's generally to everyone's benefit if this new information enters the market as fast as possible. Rather than thinking something shady is going on we should think this is great, and feel good about paying them a few pennies to keep the information flowing quickly.

[1] Which is the exact same risk liquidity sellers normally take! This is why, in flash boys, Brad Katsuyama sees the price move when he tries to make a large trade. All the people selling liquidity are worried that there is some new piece of information they don't know about yet so they move their prices so they don't get run over.

This is why you sometimes see complaints that so many orders from HFT traders are cancelled. They're constantly monitoring all kinds of news sources so that they can keep their prices accurate. The fact that they're cancelling orders isn't a sign of shadiness, it's just a sign that prices are moving.


> Or you can let market makers all compete to buy from you at the best price taking into account all of the latest information. In your meat example, keep in mind that there isn't just one trader who will buy from you for $10 to sell at $20. They're all competing to buy from you for the best possible price so they will very very quickly bid the price up to something very very close to $20.

If I put a market order to sell meat at the market price of 10$ at 10AM (because I just produced a bunch more), then the first HFT to get the news of the catastrophe at 10AM + 1 microsecond will buy them from me at that price, but if I had gotten the news at the same time as they did, I would have withdrawn my market order and refused to trade at 10$.

Maybe HFTs/market makers serve many different purposes and we're talking past each other. I agree with the liquidity argument, to the extent that I understand it. Is getting the news slightly faster really providing value?

> You can expend a lot of effort to keep up with all the latest news.

The news that my competitors burned down doesn't require a lot of effort to keep up with in the age of the Internet, but it does require large amounts of capital to get it 1 microsecond before everybody else.

If trades were only allowed every 60 seconds like the comic suggests, to allow everyone time to process the news, what value would be lost? Should society rejoice when an HFT gets 10% closer to the speed of light?


> If I put a market order to sell meat at the market price of 10$ at 10AM

Yes, at 10AM (before news happens) you can take the $10 price. And, unfortunately for you, the world might change 1 microsecond later. And it sounds bad when you say "1 microsecond" but what if you say "5 minutes" or "1 hour" or "1 day"? You're probably going to feel just as bad about missing out on a better price even if the timescale is a human one instead of an electronic one.

There is no way to avoid this. The world can change after your sell your meat. It might change 1 microsecond later or it might change a week later. You chose to sell when you chose to sell. You can't say oopsies and complain if the world changes after you made your decision. The fact that the world can change after you make your trade has absolutely nothing to do with high speed trading.

Very high speed price discovery actually works in your favor here! At least the price jumps to $20 really really fast after the news now. Without computers it might take 5 or 10 minutes (or whatever). The sooner the news is incorporated the smaller the time window in which you can accidentally screw yourself.

While thinking about this, keep in mind also that the price might drop (maybe there is a bumper crop of cows). If you sold now for $10 but then the price dropped to $5 you'd feel great. When you sell now you're taking the risk of a price change (in either direction) off the table. You can't on one hand, avoid a price drop, but on the other hand think that you should get the benefits of a price rise.

> the first HFT to get the news of the catastrophe at 10AM + 1 microsecond will buy them from me at that price,

This is actually wrong and not what happens. The trade you're talking about happened at 10AM (before the news). You put in a market order which means "take whatever price is being offered right now." not "put my meat out for sale and wait for someone else to trade with me."

So no trade is happening at 10AM + 1 microsecond (after the news).

> If trades were only allowed every 60 seconds like the comic suggests

Ah yes. Everyone eventually hits on this idea, but it doesn't work. What happens if, at a given price, the # of buyers and sellers doesn't match up at the time you want to execute all the trades?

1. Execute the trades that put in their orders first. Well then you're back to where you were before.

2. Execute some % (less than 100%) of one side of the trades so that everything matches up. But then you create a very unstable situation. If I think that maybe only 50% of the trades are going to execute you've incentivized me to say I want to trade 2x of what I really want to trade. But wait, everyone else is also thinking the same thing. So maybe 4x? Repeat ad nauseam. This is a very unstable game-theory heavy sort of situation that's actually pretty dangerous.

And really even if you do this you haven't removed the need for high speed computers & communication. Lets say that a block closes at precisely noon. I definitely don't want to input my trade at 11:59:01. What if there is news in the next 59 seconds? I really want to wait until the last possible microsecond to input my trades for the block right? So...we're back to where we were before anyways.

The real world is continuous. It's not really possible to make markets based on the real world operate discretely.


This is actually wrong and not what happens. The trade you're talking about happened at 10AM (before the news). You put in a market order which means "take whatever price is being offered right now." not "put my meat out for sale and wait for someone else to trade with me."

That's totally right, I blundered my hypothetical scenario. Let me try again.

1. 10AM catastrophe happens

2. 10AM + 1 ms: news reach some HFT

3. 10AM + 2 ms: I put out a market order, ignorant of the news

4. 10:01AM: the news reach me

That's what I meant. But I suppose that given the competition between HFTs, the market price should have reached 20$ by then, so I get to sell it at the better price.

Does that mean that HFTs do not generally make money from getting the information before everybody else unless some non-HFT trader used a limit order?

If some HFT holds a lot of some company Y and gets the news early that Y had a bad quarter, won't they make money from that by selling Y to a non-HFT investor who hasn't received the press release yet? But maybe if no one but HFTs use limit order and everyone has a decent-speed internet connection, this is a vanishingly small occurrence?

Ah yes. Everyone eventually hits on this idea, but it doesn't work. What happens if, at a given price, the # of buyers and sellers doesn't match up at the time you want to execute all the trades?

1. Execute the trades that put in their orders first. Well then you're back to where you were before.

2. Execute some % (less than 100%) of one side of the trades so that everything matches up. But then you create a very unstable situation. If I think that maybe only 50% of the trades are going to execute you've incentivized me to say I want to trade 2x of what I really want to trade. But wait, everyone else is also thinking the same thing. So maybe 4x? Repeat ad nauseam. This is a very unstable game-theory heavy sort of situation that's actually pretty dangerous.

And really even if you do this you haven't removed the need for high speed computers & communication. Lets say that a block closes at precisely noon. I definitely don't want to input my trade at 11:59:01. What if there is news in the next 59 seconds? I really want to wait until the last possible microsecond to input my trades for the block right? So...we're back to where we were before anyways.

All good points. Although there's probably a game-theoretic solution to that...


> Does that mean that HFTs do not generally make money from getting the information before everybody

In general this is somewhat true. Market makers would actually love it if prices were very stable. Just sit there and buy at 9.99 and sell at 10.00 and make a penny a trade all day long. They need to respond very very quickly not so much to make money, but to avoid losing money when prices change.


Makes sense. Thank you for the discussion, I appreciate it.


You're welcome!


And you haven't really "lost" anything since you never had the ability to trade at the theoretical future fair price to begin with--nobody does. As you mention, your best alternative is to work non-marketable limit orders. This, too, has a real price: adverse selection, risk of missing your fill, connectivity costs, time spent monitoring multiple markets and updating your order. If you're a large investment bank or fund, your cost to do this may be lower than crossing the spread. For the average investor, no way.


Indeed, I agree that "lost" isn't the best word choice here. Instead "spent" would be better. You've spent money paying for a service provided by the market maker. And due to the wonders of automation, the cost of that service has been drastically reduced.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: