Is there a mathematician in the house?
How do I analyse the odds of this strategy working?

He bets at 66%, which pays out 1.5x. He starts at 0.06 BTC (this first bet is not shown in the screenshot), doubles on loss, halves on win, never halves below 0.06.
So it's a random walk, which makes a net profit of 0.03 BTC each time it gets back to betting 0.06. Steps down are about twice as likely as steps up, so it seems unlikely to reach max bet and bust very quickly.
But the question is how do I calculate the probability of such a progression busting, given that he can afford to go N steps up the random walk?
Is it a Markov Chain thing? Or how do I analyse it?
It's just an "improved"
Martingale betting system. It's still guaranteed to lose money if betting ad infinitum. I put together a quick script to simulate betting, I'm no statistician though, so I'm not sure what numbers are needed.
import random
from decimal import *
r = random.SystemRandom()
chanceWin = Decimal(".66")
payout = Decimal("1.5")
maxProfit = Decimal("287.47")
maxBet = maxProfit/(payout-Decimal(1))
minBet = Decimal("0.06")
whaleWallet = Decimal("5")
def betRound(bet, whaleWallet, justDiceDelta=Decimal(0), verbose=False):
numBets = 0
while whaleWallet > 0:
if bet > whaleWallet:
bet = whaleWallet
if bet < minBet:
break
numBets += 1
if r.random() < chanceWin:
if verbose: print("Won bet of %s" % bet)
justDiceDelta -= bet*(payout-Decimal(1))
whaleWallet += bet*(payout-Decimal(1))
bet = max(minBet, bet/Decimal(2))
else:
if verbose: print("Lost bet of %s" % bet)
justDiceDelta += bet
whaleWallet -= bet
bet = min(maxBet, bet*Decimal(2))
if verbose: print("Just Dice: %s, Whale: %s" % (justDiceDelta, whaleWallet))
return (numBets, justDiceDelta, whaleWallet, justDiceDelta)
rounds = 100
bets = []
justDiceLost = False
print("Running %d simulations of betting with %0.2f BTC..." % (rounds, whaleWallet))
for i in range(0,1000):
stats = betRound(minBet, whaleWallet)
print(stats)
bets.append(stats[0])
if stats[1] < 0:
justDiceLost = True
print("JustDice actually lost money!!!!!!!!!!!")
if not justDiceLost:
print("JustDice didn't lose a single bitcoin.")
print(bets)