This is intended more as a place for discussion than a market. I'm tentatively planning to resolve equally to the mechanism I end up using for https://manifold.markets/jack/will-biden-be-president-on-915-reso, and the mechanism(s) that I would ideally use for other new self-resolving markets (which may be the same or different answers). I'll look at answers as broad ideas, I'm not expecting them to spell out all the details exactly.
In the answers I'll be adding the main ideas I've been considering so far.
Motivation: First, why even bother with self-resolving markets? Because there are many ambiguous, hard-to-resolve questions that can't easily be answered by objective criteria. One solution is for the author to subjectively resolve, but this can lead to disagreement and potential bias. Another is to take a poll. Or, you can have the market collectively decide - a "self-resolving" mechanism which usually means resolving to the market probability. However, there are many concerns about how well such mechanisms work and how reliable they are especially against price manipulation.
Issues and goals
One of the most obvious issues with the simplest form of resolve-to-market-probablity is that the market can become completely disconnected from the question it is trying to answer (Keynesian beauty contest), because unlike a normal prediction market the payouts aren't actually based directly on the question. This can sometimes be addressed by adding rules like "if it looks like the market isn't answering the intended question then the author will override it" or by sometimes resolving the market based on external data, possibly probabilistically (like in https://manifold.markets/jack/did-hans-niemann-cheat-against-magn or https://www.metaculus.com/questions/3681/will-it-turn-out-that-covid-19-originated-inside-a-research-lab-in-hubei/).
Another major issue with this simple rule is it can encourage last-minute trading to push the price up or down, making the resolution unreliable due to high potential for manipulation and/or volatility. So people have explored many different mechanisms to avoid that, and that will be my main focus here.
Some of the goals I have in mind (which cannot necessarily all be satisfied together):
Use objective rules. For many questions, subjective criteria like "the market doesn't look like the price has suddenly changed too much" are fine, but it's better if it can be operationalized into an objective criteria to prevent any potential ambiguity or bias, without making that gameable. And in particular for high-stakes markets like the current Biden market I want it to be 100% objective.
Be as robust as possible against gaming and manipulation. For many questions, that's not a big issue, but for some questions like https://manifold.markets/jack/will-biden-be-president-on-915-reso it becomes much more important.
Be easy for the author to run the operations, and easy for traders to understand how it's working.
Be fair. And moreover, it's also highly desirable for the fairness to be publicly verifiably. E.g. a mechanism based on generating a random number may be fair if run honestly, but a dishonest operator could cheat without detection; whereas using a public randomness beacon ensures it is both fair and verifiably fair.
Resolve in a timely fashion, and ideally with a predictable duration.
After using this in the Biden market, I encountered two main problems:
The market prob earlier in the day restricts the possible range of resolution outcomes and hence affects betting strategy later in the day.
Getting the script to compute it working right was nontrivial, there are still some mysterious bugs in my script that I didn't have time to debug.
@Yev Works well for questions that are objective and answerable but costly (e.g. hiring an accountant to answer is M$ taxable, or perhaps a mathematician to answer what's the biggest number). Still doesn't really work for most questions that you'd want to resolve-to-mkt, I think. Also there's the question of who pays for it. Still, I think it's an interesting idea that has some promise.
I think it's worth exploring.
It's worse than beauty contest in that you have to tack on hacks to prevent last-minute market manipulation.
I think any market that's meta gets high engagement. Ponzi is fun, and it directly incents participation. The most popular market ever is maybe Predictor's uptip / downtip market. However, I think most people don't trust resolve-to-mkt to give them accurate knowledge
@Yev I'm going to treat this as basically the same as my answer "Close to average market prob over last 24 hours" (the 24 hours part can of course be changed as desired). Unless you had some other difference in mind?
Also, empirically this is a popular form of market - see this group https://manifold.markets/group/selfresolving. Polls are also popular but currently they have to be implemented by hand-counting votes in the comments which is a lot of work for the author and very error-prone.
@Sinclair I agree that there are some major downsides compared to polling, but there are also upsides (the same upsides that make prediction markets generally work better than expert polls in normal questions). I think it's worth exploring the space of possibilities and seeing if the downsides can be mitigated.
@jack This seems like the simplest choice. It's verifiably fair and easy to run. And I don't think you can game it unless you are a megawhale (which is a problem for all resolve-to-MKT).
Calculate total mana per user, take the root. Sum across all users by YES/NO. Square the sums. Use the ratio of squared sums to calculate the resolution.
Worked example:
Alice bets m100 on YES (10 votes)
Bob bets m400 on YES (20 votes)
Charlie bets m100 on NO (10 votes)
Result is 30 YES to 10 NO.
Square both sides: 900 YES to 100 NO.
Resolve to 90%.
Example: https://manifold.markets/MartinRandall/is-the-sky-blue-resolves-to-mkt
Need some way to prevent it from going on forever though, probably by combining it with one of the other ideas.
This has the nice property of smoothing out volatility, and just like the randomized close approaches it also avoids too much incentive to manipulate the price at any given time by spreading that out over time. It's also relatively simple and less can go wrong compared to a randomized close procedure.
Calculating the average probably is best done by the API. Another viable approach is to randomly sample a few timestamps and average those.
You can also do an approach where at the end of every day, you use a RNG to decide whether to close with probability p, and if it does close then you resolve to the average over the last 24 hours.
I looked into a couple options for public randomness sources. On the simple end of the spectrum, we have things like:
Websites that publish daily random numbers, e.g. https://avkg.com/en/daily-random/
Websites where a trusted 3rd party generates random numbers, e.g. random.org (paid service) (I'm sure many others exist)
These still rely on the website not being hacked or whatever. Then there are ones with strong verifiability and security properties, known as public randomness beacons:
drand - distributed randomness beacon - https://www.cloudflare.com/leagueofentropy/. Seems promising but unfortunately I spent an hour or two unsuccessfully trying to set up a client.
NIST randomness beacon - https://beacon.nist.gov/home - unfortunately doesn't seem to have been working for a while
Blockchain hashes - see https://manifold.markets/jack/the-probability-this-resolves-yes-i
To do it more continuously it needs to be automated - this can be done through the API for closing and/or resolving markets (closing was just added by ian). If it's e.g. every day then it can be done manually, but this can create incentive for people to do a bunch of last-minute trading right before each potential close event.
A more complex scheme to randomize the close time: https://manifold.markets/jack/what-is-the-probability-that-a-coin.
The market close will be a date chosen uniformly at random between 9/24 and 9/26 (inclusive), to help avoid issues with last-minute trading. Here is a possible procedure I may use (subject to change): On each day, I will generate a random integer between 1 and the number of days remaining, and if the generated number is 1 then I will close the market. The time I perform this procedure on each day will be arbitrary, and I will not perform any trading immediately before or after carrying out this procedure.
Resolves to MKT at close. Close time will be a randomized or arbitrary time within a window (chosen by the author). E.g. https://manifold.markets/jack/how-clear-do-you-think-manifolds-co