You could match what you can distributed equally and leave the rest unsettled.
You could let people decide whether to roll-over the partial bid into a new bid on the next clock or to cancel unsettled.
You could clock to something both very fast on a human scale (50ms), quick enough it'd still feel instant but slow enough that it could reduce HFT silliness and need for extreme low latencies.
> You could match what you can distributed equally and leave the rest unsettled.
Equally per market participant? Do large participant like banks trade same amount as retail investor one trade at a time?
Per quantity? HFT will time the end of the interval and decide to place a large order or not.
It would be weighted by bid size. If there's $10m of bids one side and $5m of offers on the other, you match up the $5m on that side and every bid gets 50% settled.
I'm not sure I understand the problem with "waiting" for the end of the clock. The pool wouldn't be public so you couldn't get knowledge inspecting the pool. All bids and offers would be published on the clock and settled by weighing all the bids and offers against each other and matching by volume.
The trickier issue is what happens in this scenario (assuming limit orders):
Person A bids for 500 units @62
Person B offers 100 units @61
Person C offers 400 units @60
Clearly there needs to be full settlement, we have a bidder who wants to buy 500 units at a price which sellers are happy to sell at.
Correct me if I'm wrong, but in a traditional market it would depend on the order they came in.
Here we would need a formula to work out the correct settlement price. Intuitively this ought to be somewhere just above 61. ( If it were just two people, a bid at 62 and an offer at 60, you could intuit a fair settlement would be 61. )
The general rule is HFT will have the elite level mathematicians to figure out what is the most optimal strategy is, and the most exotic hardware to implement it to the extreme. Other party will fall further behind given the more complex and unconventional exchange rule.
You trade latency arbitrage with statistical arbitrage were participants try to estimate the market and overbid to try to capture as much of the market as possible. That seems dangerous and unstable.
This is all gameable. Like he said, you just time it with an over-large order and let the remainder expire. Everyone gets 10% of their order but my order is 10x what I actually want so I actually get 100%.
Per rata matching is already a thing in some financial markets. They tend to be _more_ latency sensitive as size gets inflated to game the matching algo, thus risk being inflated and thus the value of timely cancels.
They already do this for the opening and closing auctions. You can have a market-on-close order or limit-on-close order for example. The market on close orders are guaranteed to fill. The limit orders are filled using price-time priority, so best prices submitted earliest fill first, after the market price orders.
I guess it is possible that there are remaining marketable orders that never fill because of an imbalance one way or the other, but I doubt that ever happens in practice.