The Keynesian Beauty Contest is a game theory experiment where a group of players are asked to guess a number between 0 and 100. In this case, to reduce lag, I've only given the options 0-25. The winner of the contest is the player(s) who guess closest to half the average of all the guesses.
This is an attempt to perform this experiment on Manifold, but using continuous averaging of options. At close I will resolve the market to a linear weighting of the options above and below half the average of the unrounded probability weighted value of the options OVER TIME.
For example, if all options are bid down to 0% except 4 and 9, and 4 stays at 30% the whole time, and 9 stays at 70%, the final result is (4*.3 + 9*.7) / 2 = 7.5 / 2 = 3.75, which would mean this market would resolve 25% 3 and 75% 4.
Unnecessary? Overcomplicated? We're all nerds here, deal with it.
UPDATE
Sixth version of the code: https://pastebin.com/LiMsPpFa
Go search for bugs: /DanMan314/will-someone-find-a-bug-in-the-sixt
This may not be the final version I use to resolve the market. I'll re-run it when I feel like it, and post the output - I'm not holding myself to any particular schedule.
Changelog:
Fixed a bug in linear weighting causing resolution to be flipped when decimal portion was <.5
Fixed bet fetching to fetch all bets instead of just the first 1000
Fixed prematurely rounding causing some floating point issues when converting to int
Fixed not accounting for close time if the market is closed
Fixed rounding issue causing resolutions that didn't add up to 100%
Added a "current weighted sum" print just because I thought it was interesting
Fix still splitting the resolution on exact final answers
Output 11/30 2:15PM PST
Total Bets: 50339
Current Weighted Sum: 1.1971416919637063
Time Weighted Sum: 1.965951188162939
Final Answer: 0.9829755940814695
Resolution: 2% 0, 98% 1
Tagging some participants to bootstrap it :D
@Fion @Simon74fe @Joshua @FlorisvanDoorn @benshindel @AndrewHebb @DanielParker
Oh my goodness @Simon74fe! How did you do that? 10 times the profit of the next highest. Your strategy was to buy lots of 1 when it was cheap and then buy a little bit of higher numbers to keep it high?
Who did you take money from? Were people betting too heavily on zero?
(Thanks to @DanMan314 for the market! Lots of fun. :) )
@Fion Yes, that was basically it. Buying 1 and pushing big numbers down when others where buying higher numbers. And later on buying more 1 and pushing big numbers up, when others were pushing 0 too high
Entering the final hours! Unlike the last market, there's very little opportunity for last minute shenanigans and the linear weighting resolution means there aren't "tipping points" between different resolutions either.
That being said, the "current weighted average" is much lower than the running average as people try to get it to align with the running average, so the final resolution is dropping throughout the day.
@Fion (I suppose it's not exactly risk free. But I don't think the risk of the market resolving to anything other than 0, 1, or 2 is very high)
@Fion At this point, the lowest it could possibly resolve to (given the unrealistic assumption of 100% 0 bets from here on out) is 11% for 0 and 89% for 1. I don't think 2 is going to get anything. You'd need large bets at 3+ (much more than we have seen in the past few weeks) to even get a 1% return at 2.
I'm angling to make the Final Answer resolve to exactly 1, but it'll probably end up slightly lower.
@DanielParker I don't think even a large whale could profit off of 2 at this point. If you spend (say) 20,000 Ṁ on 2 and 10,000 Ṁ on YES on 3+ and NO on 0+1 (and nobody else has enough mana to counter your strategy) you could only get it to resolve at something like 25% 2 and 75% 1. Even if you could sell all of the 2+ bets without loss before close, the return from the bet on 2 would still be less than the amount invested.
@DanielParker The naïve solution (i.e. assuming that everyone immediately sells all bets which are not going to pay out) is that the Final Number will resolve to ~0.956, but since some people (e.g. me) are going to retain bets of 2+ for a little while longer, the actual Final Number should resolve in the 0.97-1.00 range.
Since we're roughly halfway through the month, seems like a good time to remind people - you should probably be factoring in some risk that there's still a bug into your betting. Although I've checked my code for errors and think it's correct at this point, if another bug is found I will update it, and that could potentially change the resolution away from the current value.
@Fion I didn't want to make it too easy to bet against me by selling YES, so I only picked a few numbers to bet up. You can see that there are still a lot of people holding YES at 25, 23 and 21, but not many at 20, 22 and 24
@Simon74fe Both the current Final Answer and the current Keynesian sum are higher than 1, so why are you voting on higher numbers such as 24 when you don't even have a position at 2? Are you trying to bump the number now to offset an expectation of a future position where the result is much lower than 1?
@DanielParker Yes, it could go lower towards the end of the market. At least that's what the market expects (0 is trading higher than 2)
@Simon74fe It looks like the biggest YES position on 0 (i.e. the main reason it's trading higher than 2) is Andrew Hebb, and he also has NO positions on 1 and 2 and other significant high numbers, so he's clearly trying to push the number down, but I don't think he has the capacity (on his own) to push it down (and hold it down) to the point where that strategy will be profitable. Vitor is the next largest YES position on 0, but he also has a similar YES position on 2 and no position on 1; that doesn't make much sense to me - I have absolutely no idea what his strategy is. The next biggest YES positions on 0 are yours and mine (and we're both heavily invested in having 1 win).
TL;DR: Despite the fact that 0 has a larger percentage than 2 at the moment, I don't think that necessarily implies that the market will go towards 0 rather than 2 in the future, except insofar as that reflects Andrew Hebb's current strategy.
I hope I didn't mess up the math. 0 should be pretty self-reinforcing at this point around the 70% mark or so.
@VitorBosshard I have 0 at 66% if all numbers besides 0 and 1 were at 0% until the end of the market
@Simon74fe This is what I have from the code
Total Bets: 21534
Current Weighted Sum: 0.9978642263524942
Time Weighted Sum: 2.7336337406598457
Final Answer: 1.3668168703299228
Resolution: 63% 1, 37% 2
If the current weighted sum stays where it is, it seems like it will end at about
(4 x 2.733 + 26 x 0.99)/30 = 1.2224
Which is about 60% for 1 and 40% for zero.
(Please correct me if I have done the math wrong or misinterpreted the readout)
@Simon74fe yeah, I think I messed up my calculations somewhere. I think I was right about the general situation (0 was underpriced and there was an opportunity to buy it up a bit), but messed up the threshold.
Damn, I'm kind of pissed at myself, even if it's only play money. I'm simply not good at precise execution. Too sloppy. It stings to lose money on a trade that would in principle have been profitable.