28 ms·
The do not 'provide liquidity' -- the liquidity is already there. Suppose there is a stock selling at $100. You want to buy 100,000 shares, and there are people
by workermonkey 12y ago
The do not 'provide liquidity' -- the liquidity is already there. Suppose there is a stock selling at $100. You want to buy 100,000 shares, and there are people willing to sell. A HFT leaves some bait 100 share blocks for sale at that price. You buy those first, they use the advantage of speed to buy any other $100 shares available. They then sell you what you wanted to buy at $100.10.
What value did they add to the market? Bringing buyers and sellers together? Nope. Provide capital to the market? (Which is why stocks supposedly exist...) Nope. They end every day owning nothing.
Lewis's book also shows that many banks and brokers instead route some trades through their own internal 'markets' first, trying to find a match, instead of just trying to get the fairest price available.
Everyone gets screwed. There was a HFT trader who boasted that they went years without ever having a losing day. The only way to do that is in a market that isn't fair, where not all parties have equal access to information.
- yummyfajitas 12y agoYour story indicates that you don't understand how a matching engine works. I wrote a tutorial on it a few years ago, you might find it helpful: http://www.chrisstucchio.com/blog/2012/hft_apology.html http://www.chrisstucchio.com/blog/2012/hft_apology.html http://www.chrisstucchio.com/blog/2012/hft_apology2.html http://www.chrisstucchio.com/blog/2012/hft_apology2.html http://www.chrisstucchio.com/blog/2012/hft_whats_broken.html http://www.chrisstucchio.com/blog/2012/hft_whats_broken.html
- pdonis 12y agoThere was a similar discussion on HN a while back that never reached a resolution (at least, not to me). See here: https://news.ycombinator.com/item?id=7546104 https://news.ycombinator.com/item?id=7546104 Can you respond to my post in that subthread?
- idohft 12y agoI can't reply to that thread (maybe it's because it was too long ago), but you draw a difference between someone moving a large block (as described in yummyfajitas' post), and someone trading a small size (50 shares). So let's say that someone does want to trade 50 shares, in your example, and breaks up their order into 2 25-share orders. At the point at which a 25-share order is executed on the market, the sheer size of the trade is not very much. It's not likely to signify a market move. At that time, nobody has knowledge that there is a second 25-share order heading to the second market. It is possible that an HFT player sees the first execution and takes out the shares at the second market, but with such a small execution, they are pretty much guaranteed to lose money.
- pdonis 12y agoNo, that's not the distinction I was drawing. The distinction I was drawing was between the following two scenarios: (1) Someone wants to move a block of 50 shares, but there are only matching orders in the order book for 25 of those 50 shares. The seller splits his order so that the 25 shares move; then either the other 25 sit there until a matching order appears, or the seller changes his offer price for the other 25 shares so that there's a match. An HFT in this scenario is no different from any other investor deciding whether or not to match an order in the order book; he just moves faster. And since in this scenario there are no other matching orders in the order book without the HFT, the HFT adds liquidity in this scenario. (2) Someone wants to move a block of 50 shares. There is no matching order in the order computer in which they place their sell order, but there are matching orders in other computers. The HFT sees those other matching orders before other market players, and matches them. Then he places his own order in the computer where the original 50-share sell order is, and matches it so it executes. In this scenario, the HFT adds no liquidity; all he does is shift the profit on the trade from other market players to himself, by taking advantage of the latency between different computers on which orders are placed. The trade would have happened anyway once the two computers reconciled their orders.
- kasey_junk 12y agoYour scenario 2 doesn't happen in practice. The reason is precisely because HFT market makers are fast and sophisticated enough that they want to trade with all small block buyers, so they are resting orders at every trade-able price on every exchange they can. The speed arbitrage comes from the fact that if they see a level being removed at one exchange it is a demand signal, so they change their own prices on the other exchanges. This is faster and cheaper than going out and sweeping another level (which requires paying the spread). Essentially, there is no liquidity difference in this case, as all the same liquidity providers are there. They are just pricing their liquidity more accurately.
- pdonis 12y ago> Your scenario 2 doesn't happen in practice. That seems to be a disputed issue right now; claiming that scenario 2 does happen in practice was, as I understand it, one of the main points of Michael Lewis' latest book on HFT. He may be wrong, but I don't think it's as simple as saying "they're so fast that they don't need to". An HFT may have orders at every tradeable price at one instant, but what about the next instant when the set of tradeable prices changes? On an exchange with multiple computers executing trades, that is precisely the time when scenario 2 can come into play, and the fact that HFTs are faster than everyone else is precisely what gives them the ability to play scenario 2 in this situation. > if they see a level being removed at one exchange it is a demand signal, so they change their own prices on the other exchanges To be clear, my scenario 2 was not talking about matching prices on different exchanges. It was talking about a single exchange that has multiple computers executing trades. Conceptually, the single exchange is supposed to have a single order book, but because there is unavoidably latency between the multiple computers, computer A's current view of the order book may not match computer B's. An HFT that can detect the mismatch faster than the exchange's own computers can, can run scenario 2 in that situation.