Hacker News new | ask | show | jobs
by codeismightier 3834 days ago
This NYT piece is heavy on moralizing rhetoric and light on technical details. The BloombergView piece by Matt Levine [1] is much better:

"It's important to realize that slowing everyone down by 350 microseconds can't possibly help anyone. As Hudson River Trading said in its comment letter: "Similar to a 100-meter sprint, if you simply add 350 microseconds to each participant’s time, neither the order in which they finish nor their time differentials will change.""

It would indeed be pointless if everything was slowed down by 350μs, which is why that is not the case. IEX lets its own "pegged orders" and "routable orders" cut the line, picking off liquidity at the other exchanges. If IEX is approved, there will be an arms race, with other exchanges inserting their own similar delays. Even worse, because of Reg NMS you can't legally avoid trading on IEX even if you wanted to. If the price of a stock is falling rapidly and you wanted to sell, IEX will always have the best price since it is stale by 350μs. Everyone will be forced to send their orders to IEX, even if everyone knows that the bid there is illusory.

The Matt Levine piece is very good. Do please read the whole thing.

[1] http://www.bloombergview.com/articles/2015-12-22/the-flash-b...

3 comments

A delay of 350 microseconds may very well make the market less turbulent and reduce the prevalence of "flash" crashes. Though the method of implementing the delay might not succeed, a forced delay would alleviate the arms race to lower latency algorithms. Lower latency means fewer computations and less memory, which means the strategy space is smaller. With enough players crowded into a small strategy space, the market becomes more frothy as periodically too many players collide on the same strategy.

Placing a lower limit on latency allows a better balance between algorithmic complexity and latency. The strategy space will be larger and hopefully will be large enough that there's room for most everyone to try different strategies, making the market calmer.

To get a sense for the mechanism of this phenomenon, check out the El Farol Bar Problem (https://en.wikipedia.org/wiki/El_Farol_Bar_problem).

Unfortunately, IEX's proposed implementation of a delay is probably not as good as simply changing the precision of the exchange's clocks. If the exchange decided it would measure time only to the nearest second and orders occurring at the same second would be processed in random order, I expect that would be a better solution. Adding some randomness to the processing order at the 100s of milliseconds scale would go a long way to reducing front-running and overly simplistic momentum strategies. The latter are the main cause of market turbulence.

Why would adding delays make the market less turbulent? The standard dynamical systems intuition says that adding delays creates instability. Think about how many stable ODEs have wildly unstable numerical solvers, at least when the step sizes are too high.

Or in terms of project planning, if you have 2 day sprints, you can course correct every 2 days and rapidly approach a usable product. If you have 3 month sprints, you might spend 2.9 months building something totally wrong. 2.9 months of moving the wrong way will get you a LOT further off course than a badly planned 2 day sprint.

Enforcing a delay may reduce the incentive to increase speed at the cost of strategic complexity. If the turbulence is caused by the interactions of overly-simplistic momentum agents, then increasing the complexity of the agents will stabilize the market. This should hold to the extend that increased strategy complexity also increases the variety of strategies in the market.

Think of the market as a liquid near boiling point. If the energy of the system increases too much, it makes a phase transition. To raise the boiling point, add impurities. This is a flawed metaphor in many ways, but it might offer a new intuition for you. Unfortunately, in the case of the market (and many systems) efficiency is the enemy of stability.

If you prefer a project-planning metaphor: BigCo executives have caught Agile fever. They see that 2-month sprints are more effective than 2-year project plans and they've heard their competitors are finding great benefit from 2-week sprints. BigCo decides to leapfrog the competition and goes straight to 2-minute sprints. They've tested their engineers and found that 2-minutes seems to be a lower bound on writing a chunk of useful code. The executives declare that all engineers must report accomplishments and re-plan their next activities every 2 minutes in accordance with proper Agile workflow.

Obviously, extreme speed is disastrous. I'm not saying to slow down the market to making an order once monthly. Just slow down from nanoseconds.

If in doubt, build a small simulation. Simple agent-based models can produce very interesting phenomena.

Efficiency in the "efficient markets" sense is not instability - it is by definition perfect incorporation of all information into the price.

Fast adjustments are not "energy" in any sense, and smaller but more rapid adjustments are in fact considered to be properties of an "orderly market" (to borrow SEC terminology). Your 2 minute sprint example has a problem with transaction costs, not rapid iteration.

Rather than analogies, can you just state directly how adding latency will stabilize things?

I meant efficiency as in low spreads, not as in Fama.

I tried to state the mechanism directly, but apparently didn't do so very well. I could try again, but I think it'd be more effective to appeal to authority. Check out "The Race to Zero" by Andrew Haldane at the Bank of England (http://www.bankofengland.co.uk/archive/Documents/historicpub...). It appears that the presence of too many low latency / high frequency players puts the market in a state where it can phase shift, crossing from normal "stable" dynamics to a dramatic spiking dynamic. In normal times, "HFT" increases liquidity and reduces spreads. Every so often those HFT players leave the market suddenly, nearly simultaneously, causing a liquidity crisis.

Note that many exchanges enforce a short pause in trading when the market seems to be going crazy. The delay appears to help, so long as traders don't move to a different exchange.

HFT has clearly lowered spreads. This isn't even in dispute.

The issue of market makers pulling out during a crisis is a regulatory issue; an market maker might do the right thing and push the market back towards where it should be and then be punished by a regulator who breaks the buy trade. If this behavior is undesirable then eliminate the "clearly erroneous trade" rules.

Your citation also doesn't address any specific mechanism by which a delay would improve things. All it does is speculate that speed might be bad due to fat tails and handwaving.

Changing the precision on the clocks and inducing some level of randomness seems like a good idea. Combine this with styles of orders that are conditional (e.g., buy if price <= x) and we'd have something that looks a lot like FP's "atoms" -- apply the function, and if the change isn't invalid due to race conditions, keep. Perhaps this might result in bids that are more "say what you mean" than the current economically favorable games of bluffery, opponent-baiting, and chicken.

The El Farol Bar Problem is great reading; thanks for that link.

I don't think it's that good of an idea. If the allocation is random, participants will counter by sending in more orders than they want, to increase their chance of getting a fill. The microstructure will look similar to a market with a pro-rata matching algo. This article has a good discussion of some of the downsides of pro-rata http://www.advantagefutures.com/is-pro-rata-an-accident-wait....

But it's unclear to me how the random component would work that you all are talking about. Is my resting order subject to a random cancel delay as well? If it's not, then we still have a requirement for speed, as cancelling soon-to-be bad orders is arguably more important than placing soon-to-be good aggressive orders. And if it is subject to a delay, spreads are going to be MUCH wider, losing individual investors more money than they currently are to the current system.

The way I imagined the randomness aspect is the same way it's handled now for two orders received at the same time according to the machine's precision of time perception.

Unfortunately, a loss of efficiency (increased spreads) is the price we will pay for less frequent crashes/spikes.

Of course the biggest problem is not coming up with a better (mathematically verified) scheme to run stock markets, but instead it is getting it accepted and implemented. Given the interests, I suspect this problem could be, for example, of the same level of difficulty as reforming gun laws in the US.
edit: levine article provides some good info.