tags:

views:

87

answers:

1

I am looking at whether or not certain 'systems' for betting really do work as claimed, namely, that they have a positive expectation. One such system is based on the rebate on loss. You basically have a large master pot, say $1 million. Your bankroll for each game is $50k.

The way it works, is as follows: 1) Start with $50k, always bet on banker 2) If you win, add the money to the master pot. Then play again with $50k. 3) If you lose(now you're at $30k) play till you either: (a) hit 0, you get a rebate of 10%. Begin playing again with $50k+5k=$55k. (b) If you win more than the initial bankroll, add the money to the master pot. Then play again with $50k. 4) Continue until you double the master pot.

I just cant find an easy way of programming out the possible cases in R, since you can eventually go down an improbable path.

For example, you start at 50k, lose 20, win 19, now you're at 49, now you lose 20, lose 20, now youre at 9, you either lose 9 and get back 5k or you win and this cycle continues until you either end up with more than 50k or hit 0 and get the rebate on the 50k and start again with $50k +5k.

Here's some code i started, but i havent figured out a good way of handling the cases where you get stuck and keeping track of the number of games played. Thanks again for your help. Obviously, I understand you may be busy and not have time.

p.loss <- .4462466
p.win <- .4585974
p.tie <- 1 - (p.win+p.loss)

prob <- c(p.win,p.tie,p.loss)


bet<-20
x <- c(19,0,-20)

r <- 10 # rebate = 20%

br.i <- 50
br<-200


#for(i in 1:100){
# cbr.i<-0
y <- sample(x,1,replace=T,prob)

cbr.i<-y+br.i

if(cbr.i > br.i){

    br<-br+(cbr.i-br.i);
    cbr.i<-br.i;

    }else{       

      y <- sample(x,2,replace=T,prob);
      if( sum(y)< cbr.i ){ cbr.i<-br.i+(1/r)*br.i; br<-br-br.i}
      cbr.i<-y+
      }else{

      cbr.i<- sum(y) + cbr.i;

      }if(cbr.i <= bet){

        y <- sample(x,1,replace=T,prob)

        if(abs(y)>cbr.i){  cbr.i<-br.i+(1/r)*br.i  }  }
+1  A: 

The way you've phrased to rules don't make the game entirely clear to me, but here's some general advice on how you might solve your problem.

First of all, sit down with pen and paper, and see if you can make some progress towards an analytic solution. If the game is sufficiently complicated, this might not be possible, but you may get some more insight into how the game works.

Next step, if that fails, is to run a simulation. This means writing a function that accepts a starting level of player cash, and house cash (optionally this could be infinite), and a maximum number of bets to place. It then simulates playing the game, placing bets according your your betting system until either

i. The player goes broke

ii. The house goes broke

iii. You reach the maximum number of bets. (You need this maximum so you don't get stuck simulating forever.)

The function should return the amount of cash that the player has after all the bets have been placed.

Run this function lots of times, and compare the end cash with the starting cash. The average of end cash / start cash is a measure of your expectation.

Try the simulation with different inputs. (For instance, with many gambling games, even if you could theoretically make an infinite amount of money in the long run, stochastic variation means that you go broke before you get there.)

Richie Cotton