This idea was inspired by discussions we had with the operator of the bot account Yuna, with some modifications. All mistakes our own.
Goal: Get more liquidity for markets on Manifold.
Basic idea: Replace market orders with short-duration limit orders.
How it works
- We modify the market order form to subtly place a limit order instead. The UX looks the same.
- If the current prob of a market is 50%, and we’re trying to buy 10,000 mana of YES. Instead of placing a market order (which may move the market all the way up to 90% or something), we place a limit order at the current market prob + 5% (in this case, 55%). We also set an expiration time of 1-5 seconds in the future.
- The short expiration time gives bots the opportunity to look at the order and decide whether or not to fill it. (The reason they are willing to fill a resting limit order versus putting up their own is adverse selection: users could be trading based on recent news rather than trying to get liquidity at the current price, which makes market making unprofitable.)
- The user is shown the amount of the order that was filled (because we have an AMM, that amount will always be positive). Most large orders will probably only be partial fills, which is the major downside of this approach.
Thoughts
- Making everything limit orders by default protects users from getting a very bad price when trading larger amounts.
- It also solves the race condition / front-running problem: If 2 people trade on the same piece of news, only the first will be executed.
- We want the default way to place trades on the site to be as simple as possible. If users are having to think about limit probabilities, that’s a bad experience. I think this approach will only work if we can make the limit order aspect seamless to the user.
- In practice, we’ll need to ensure there are enough bots trading on the site so that a significant fraction of users’ orders get filled. Otherwise, it’s a terrible experience.
- Setting what the default limit order probability is an art.
- If we care about equal log-odds movements, the limit prob should be larger at 50% and smaller around 1% or 99%.
- One idea: p(1-p) * 40%. At 50%, limit probs would be 40%, 60% for NO, YES, respectively
- Over time, the limit prob can be tightened as more bots are providing liquidity on the site.