Their solution at IEX was to coil a bunch of fiber so that high speed traders' orders get slowed down...I'd have to know more about why they thought that was necessary, but on its face this seems like complete overkill. Obviously there are probably reasons that I don't understand but it seems like this problem would be really easy to solve in software. For instance, I don't see why they don't just trade on a step interval. Basically everyone who arrives within 1 second of each other should have their trades executed simultaneously. Thus you have step of 1 second - nobody can get ahead of you because the travelling time between any two exchanges for even the slowest person is much, much less than 1 second. Does this make the market too slow? Just make the step interval whatever the slowest latency is for any given round trip at any given moment. That would still be on the order of milliseconds but nobody would be able to front-run you because any trade you make will be ahead of theirs or at the very worst at the same time as theirs.
Discrete time matching always forgets about the case when there are more buyers than sellers (or vice versa). If 2 people are buying at price X and 3 people are selling at price X, which 2 sellers get "filled"?
In most markets currently that is done in FIFO order. Discrete time values do not eliminate the race into/out of a level.
There is a pretty serious bias in the markets against non-repeatable matching algorithms. Explaining to the rest of the market participants why a given trader (or group) had better than average luck is not something that most exchanges are interested in doing.
I suppose by repeatable you mean that if you replayed the sequence of orders - both buy and sell - the matching algorithm would match them the exact same way as it did originally?
I understand the desire to have deterministic trading algorithms, but they're already in the unenviable position of having to explain why some traders get information faster than others, which seems like it's even harder to explain.
Plus, the algorithm could be repeatable if you just replay the sequence of random numbers that led to that order - i.e. if the sequence of numbers were made public along with the executed transactions.
You can measure the randomness of a random number generator, so it would be easy to demonstrate the the orders were picked in a perfectly or near-perfectly random way. You could even hook the random generator up to a quantum event like a decaying atom to get even more evenly distributed randomness. I'm sure for something as important as fair market conditions the institutions in question would spare no expense - neither to have the trades executed randomly but to prove to the public that they are generated randomly.
So, A) you are making assumptions about fairness that no trader would ever make. There is literally no argument, mathematical or otherwise that you can create that would explain to them why the idiot in the desk next to them gets a bigger bonus than they do based on trade execution.
B) You are making assumptions about market information "fairness" that no trader would ever make. The exchanges have no problem explaining why some folks have faster information than others because they always have.
Pit traders had an advantage over phone brokers. Phone brokers had an advantage over which ever poor slobs they could get on the hook. No one on the exchange side of things thinks people all have the same information at the same time, if that was a requirement how would you time coffee breaks?
if that was a requirement how would you time coffee breaks?
A fair lottery would solve that.
You're using an interesting sense of bias, where a fair lottery is in fact perfectly unbiased.
There are lots of things which can cause an arbitrary assignment of winnings to a given trader. Go back and re-read A Random Walk Down Wall Street if you've forgotten. The problem isn't the randomness, it's the bias, particularly to those with an inside advantage and edge.
You don't have to have this random stuff. You can just do pro rata as they do in certain certain contracts on the CME. Though maybe it turns out that market participants actually prefer price-time priority. There's a shocking thought.
The algorithms can be repeatable, though at a cost: a defined set of seeds can be used to create a random, but reproduceable, lottery sequence. I'm going beyond my pay grade, but if you've got issues of trust, then seeds based on pre-selected values supplied by independent agents and a random hashing algorith can assure that 1) the sequence is entirely predetermined, 2) random, and 3) not obtainable by any one party or subset of parties without access to all the seed streams.
A deposit of the stream with an escrow holder, under encryption, can ensure that the seeds weren't modified by the seed providers after generation. The encryption key would be provided after the seeds are played.
Those with questions about the fairness of the random sequences can re-assemble the seeds after they've been played, and see that there was, in fact, no gaming of the sequence during the trading period. And if there were discrepencies between the pre-selected values and those actually played, they'd show up.
It sounds like that's exactly what the market needs though. That there is a "serious bias" against it, that exchanges don't want to have to explain the math to traders --surely the traders would get it?-- is at once understandable and irrelevant.