"A stable matching algorithm" is the real trick here.
Easy. Assume all orders are limit orders, because non-limit orders don't need to exist. Perform the Gale-Shapely stable marriage algorithm http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15251-f1... Where the preference ordering of each person is assumed to be the order that maximizes their return. (The difference in the limit order prices.)
The actual situation is much simpler since all players have the same preference ordering, but this is just to show that it's easy to find one stable pairing.
As a percentage of enterprise value, what is wrong with even larger minimal trading increments? There is no "valuation" resolution on a $1B and up company, that hinges on 1/0000th of a percent measurements in the residual value of the equity. Unless people arey marking to theoretical models purely for derivative purposes and trying to maintain a dynamic hedge with increasingly perfect resolution and without cost.
Larger minimal trading increments increase the cost of speculation, thereby reducing the accuracy of prices. What good reason is there for speculators to pay more for liquidity?
The resolution issue on prices is not clear-cut. Liquidity is good, and I'm happy to have it. But infinite resolution (price, timing) trades do not per-se follow. And they ultimately, themselves, have a feedback loop. INstitutionalized front running (changing examples) is not benign liquidity, for example. Dynamic hedging would at least be a legitimate use, but absence its availability should be priced in accordingly in seperate markets.
In this case, it guarantees that no two people would rather trade with each other than with the person they actually traded with. In that sense, the stable pairing is pareto optimal.
I don't care who I trade with. No one does. It's anonymous anyway, unless you trade with certain official market makers. Also, I don't care if my one order for 400 shares@$100 matches with 1 person selling 400 shares@$100 or 400 people selling 1 share@$100.
Trade matching is not the stable marriage problem. Get a clue.
You certainly care what the price on the other side is if you are getting the spread or some fraction of it. That is what determines the preference ordering to run the algorithm.
Sure, that's stable, but it doesn't have a unique solution. Many solutions are stable. How do you pick from the stable solutions in a way that doesn't just recreate the problem?
For example if you say, "a random trader gets to be the first proposer", then the firms with more money just flood it with trader entries, increasing the chance that they get to be first.
Easy. Assume all orders are limit orders, because non-limit orders don't need to exist. Perform the Gale-Shapely stable marriage algorithm http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15251-f1... Where the preference ordering of each person is assumed to be the order that maximizes their return. (The difference in the limit order prices.)
The actual situation is much simpler since all players have the same preference ordering, but this is just to show that it's easy to find one stable pairing.