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

The HFT is taking risk though. Like everything else in markets, nothing they do happens at the same time either. They could miss on one side of the trade if another player is faster, and then they're stuck in a position they might not want.

Also think about this in terms of what happened, the two counterparties got to interact without being in the same place or product. Yes, they could have traded if they were both in the same place, but they weren't. Surely providing that service is worth something. You could buy your meat wholesale, but the grocery store isn't ripping you off by selling it for $1 more a pound somewhere closer to home.

Think about what would happen to others if the HFT wasn't there, too. Prices would diverge and traders on one of the exchanges would be trading away from the real value. By keeping prices in line, information is transmitted from market to market more efficiently. A trader who isn't concerned with cross-market arbitrage doesn't need to connect to and watch multiple markets to get a fair price.

HFTs are obviously motivated by profits, but the level of profit is extremely low for the amount of service they provide. Virtu trades over 5% of the US markets and made slightly over $100 million. They only have a couple hundred employees. Think about how many people were required to make markets globally before technology. Only a fool would argue that we should go back to that system.




> Think about how many people were required to make markets globally before technology. Only a fool would argue that we should go back to that system.

Who is even suggesting that?

Distinguish between the result and the method. Having prices be the same on all exchanges is obviously desirable. But why do we have to reach that result in this way? Why not instead have the exchanges talk to each other and have trades on any exchange automatically go to all the other ones, so that prices are always the same programmatically without having to pay any third party to keep them that way?


So you want a distributed order book with global time priority and atomic execution semantics? Can you explain the mechanics of how this would work? This sounds like a locking nightmare. I think some FX market works this way with matching engines in NY, Tokyo and London, but FX markets can also reverse trades and many markets aren't really continuous (min quote life and books that update on a delay) so locking may not be as big of an issue.

Anyway most HFTs are not keeping prices the same between exchanges. There simply aren't enough times during the day when quotes are crossed to make this viable. Most are market makers or are doing arbitrage/psuedo-arbitrage trades like ETF vs. basket, futures vs. cash, etc. that move liquidity from product to product.


Because http://en.wikipedia.org/wiki/CAP_theorem.

It's a distributed system. You want it to keep working (be available) all the time right? Guess what, you're gonna have to lose some consistency.


For extremely high availability systems like this it is generally better to choose both consistency and availability at the expense of partition tolerance and then mitigate the possibility of partitions with meshed multiply redundant interconnects.

Moreover, you don't strictly need a distributed system. You could instead elect one exchange at any given time as the primary and clear all inter-exchange trades through that exchange.


It's really fun watching you turn into such a pretzel that you want to somehow get around the CAP theorem and/or go back to the days of monopoly exchanges all to get away from the horrible evil of a cost for liquidity of less than 0.1%.

Don't miss the forest for the trees.


Citing the CAP theorem as a reason not to have a distributed system is like citing Arrow's Impossibility Theorem as a reason not to have a representative democracy. Proving the impossibility of a platonic ideal doesn't tell you anything about whether one imperfect system is superior to another in practice.

And you can't hand wave away the fact that the implications of the CAP theorem are minimal on a distributed system with a high level of interconnect redundancy. If you can ensure with high probability that there will not be a partition in the network then you don't need partition tolerance. If against all odds you have a partition anyway then you lose availability, but that isn't a characteristic unique to the CAP theorem or distributed systems -- any system will lose availability if enough redundant components fail simultaneously.


Exchange gateways fail, network lines fail. This happens all the time. In the current system I can still trade if NASDAQ goes down.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: