I'm going to try and finish the story today, though will still have to design some HTML/CSS for the "News" section I'm going to create, so it might be a day or two still before it is published. I usually stay pretty busy with work/random side projects.
The problem with accurately saying just how unlikely Mateo's run was is that we don't have much information on him. We don't know how many bets he made, what stake he was using, etc.
All we know for sure is that investors suffered roughly 84% losses around the time he was playing.
We could run a simulation where we bet at 49.5% to win 0.5% of the house bankroll, repeating until either the house bankroll grows or shrinks by 84%, and seeing how often the house ends up down instead of up. That way we get an upper bound on how likely Mateo's run was to have been legit (since betting to win 0.5% each time is the optimal strategy assuming you're restricted to play at 49.5% and also assuming you're not cheating!)
Here's code for such a simulation:
#!/usr/bin/env python
import random, string, sys
trials = string.atoi(sys.argv[1])
def mateo_wins():
bank = 100.0
while True:
if random.random() < 0.495:
bank *= 0.995
if bank > 184:
return 0
else:
bank *= 1.005
if bank < 16:
return 1
wins = 0
c = trials
while c:
wins += mateo_wins()
c -= 1
print wins, "out of", trials
It's slow (sometimes it's an epic struggle between bank and Mateo, and so takes a long time to run), but here are some early results:
$ ./mateo.py 100
0 out of 100
$ ./mateo.py 1000
9 out of 1000
$ ./mateo.py 5000
12 out of 5000
$ ./mateo.py 10000
29 out of 10000
$
Winning 9 times out of 1000 and 12 out of 5000 shows that the variance is high.
9 out of 1000 is 0.9%.
12 out of 5000 is 0.25%.
29 out of 10000 is 0.29%.
So I guess the chance of Mateo doing what he did is around 1 in 500.
Note that I just threw the above code together - it may contain errors - and I made some assumptions which are plainly untrue (he wasn't max-betting every time).
Please feel free to point out any errors.