home *** CD-ROM | disk | FTP | other *** search
-
- Risk of Ruin
- Last Revised 1/15/92
- Copyright 1991, 1992 Michael Hall
- Permission to copy for own use
-
- This is really seven articles in one:
-
- I. What is the risk of ruin for a given bankroll and given win goal?
- II. How many units of bankroll for a given risk of ruin?
- III. How long will it take to go broke or win a goal amount?
- IV. What is the chance of taking a loss after N hands?
- V. George C. on the Ruin Formula
- VI. Mason Malmuth on the Ruin Formula
- VII. How about some C code?
-
- Although blackjack is frequently used as an example here, the
- results can be applied to other gambling games.
-
- ==========================================================================
- I. What is the risk of ruin for a given bankroll and given win goal?
-
-
- This can be estimated using the standard ruin formula,
- with the bankroll adjusted to reflect the standard deviation, as
- shown by Griffin in "Theory of Blackjack". The average squared
- win is very nearly the variance (i.e. the standard deviation
- squared), more precisely it is the variance plus the square
- of the win per hand. You can approximate the game of blackjack
- by betting the square root of the average squared wager
- on a biased coin with P(heads) = 0.5 + wph/2sqrt(asw), where asw is
- the average squared wager and wph is the expected win. So,
- here P(heads)= 0.5+.0151/(2sqrt(3.887)) = 0.5038. The ruin formula is:
-
- R = (1 - S^b)/(1 - S^(a+b))
-
- where R is the probability of ruin from 0 (none) to 1 (always)
- a is a'/sqrt(asw), the coin toss bankroll
- b is b'/sqrt(asw), the amount to be won in coin toss units
- S is P/(1-P), the ratio of a coin winning to losing
- P is 0.5 + wph/2asw, the bias of the coin
- wph is the win per hand
- asw is s^2 + wph^2, the average squared win
-
- Suppose we wish to double a bankroll of 300 basic units. The bet size
- effectively reduces this to a=b=300/sqrt(3.887)=152.16 units.
- S=0.5038/(1-0.5038)= 1.0153. So R=(1-1.0153^152.16)/(1-1.0153^(152.16*2))
- =9.0%.
-
- And here's the same formula, fully expanded:
-
- /sqrt(s^2 + wph^2) + wph\(b'/sqrt(s^2 + wph^2))
- 1 - | ----------------------- |
- \sqrt(s^2 + wph^2) - wph/
- R = -------------------------------
- /sqrt(s^2 + wph^2) + wph\((a'+b')/sqrt(s^2 + wph^2))
- 1 - | ----------------------- |
- \sqrt(s^2 + wph^2) - wph/
-
- where R is the chance of ruin from 0 (none) to 1 (always)
- s^2 is the variance (i.e. square of the standard deviation s)
- wph is the win per hand in units
- a' is the blackjack bank size in units
- b' is the number of blackjack units we want to win (usually = a')
-
- If S = 1 (i.e. the game is even), then use this formula instead:
-
- R = b / (a + b)
-
- where R is the chance of ruin from 0 (none) to 1 (always)
- a is a'/sqrt(asw)
- b is b'/sqrt(asw)
-
-
- Here's some more examples, with the wph and s^2 as above. Here are
- the probabilities of ruin before doubling for breaking your bankroll
- into various numbers of units:
-
- CHANCE RUIN BEFORE DOUBLE
- ~1.5% advantage ~1.0% advantage ~0.5% advantage
- BANKROLL wph=0.2265 wph=0.151 wph=0.0755
- -------- --------------- -------------- ---------------
- 100 23.8 31.5 40.4
- 200 8.9 17.5 31.5
- 300 2.9 8.9 23.8
- 400 0.9 4.3 17.5
- 500 0.2 2.0 12.5
- 600 0.09 0.9 8.9
- 700 0.03 0.4 6.2
- 800 0.009 0.1 4.3
- 900 0.003 0.09 2.9
- 1000 0.0009 0.04 2.0
-
- Note: above probabilities do not apply to Frank "Almost Never Lose 40
- Units" Irwin ;-) They also do not apply to Kelly Criterion bettors,
- but Kelly Criterion (betting proportional to current bankroll and
- advantage) is not practical to apply exactly in practice.
-
-
- ==========================================================================
- II. How many units of bankroll for a given risk of ruin?
-
- A special case of the ruin formula given before is the following
- for when we wish to *double* the bankroll:
-
- 1
- R = -------
- 1 + S^n
-
- where R is the risk of ruin
- S is the ratio of winning to losing
- n is the units of coin toss bankroll
-
- We can solve this in terms of n, to answer the above question, and we get:
-
- log((1/R) - 1)
- n = --------------
- log(S)
-
-
- Expanding this out to head off possible confusion:
-
- log((1/R) - 1)
- a'= ----------------------------(sqrt(s^2 + wph^2))
- /sqrt(s^2 + wph^2) + wph\
- log| ---------------------- |
- \sqrt(s^2 + wph^2) - wph/
-
- where R is the risk of ruin
- wph is the win per hand
- s^2 is the variance of wph
- a' is the necessary units of blackjack bankroll
-
- For example, plugging in R=.09, S^2=3.88681, wph=.0151, then
- a'~= 300. In other words, if you are willing to risk a 9%
- risk of ruin and use a 1-4 spread under conditions similar to
- my computer simulation, then you should use 300 units of bankroll.
-
- I don't believe there is any published blackjack book that accurately
- explains the bankroll requirements of blackjack. In fact, most of them
- are just plain wrong when it comes to this. This is confirmed by
- the full double-or-nothing simulations of myself and also independently
- on a different simulator by a rec.gambler who is no longer with us. For
- example, a 400 unit bankroll with the above single deck situation has
- (only) about a 80% chance of doubling before ruin, according to the
- simulations, which is about what we'd expect from using the ruin formula.
-
- ==========================================================================
- III. How long will it take to go broke or win a goal amount?
-
- From Epstein's _Theory of Gambling and Statistical Logic_, page 66:
- the expected number of plays before ruin or win limit of a gambler is:
-
- z a[1-(q/p)^z]
- E(n) = ---------- - --------------------- for p<>q
- (q-p)(1-r) (q-p)(1-r)[1-(q/p)^a]
-
- where E(n) is the expected number of plays before ruin or win limit
- n is the number of plays
- z is the initial capital
- a is the desired final capital (a > z, z-a is the desired win)
- p is the probability of a win
- q is the probability of a loss
- r is the probability of a tie
-
- Peter Griffin claims we can approximate blackjack by choosing
- p=0.5 + wph/2sqrt(asw), where asw is the average squared wager and wph
- is the expected win, with q=1-p and r=0. With the numbers wph=.0086 and
- asw=7.63 (for an 8 deck shoe, AC rules, abandoning counts of -1 or worse)
- then p=.5015567. Suppose z=100, and a=200, and so E(n)=9689. Thus, it
- would take 9689 hands on average, around 97 hours, to double or nothing
- 100 units on this shoe game.
-
- There are other formulas that are sometimes useful.
-
- For an even game use:
-
- z(a-z)
- E(n) = ------ for p = q
- 1 - r
-
- For an infinite win limit "a", use:
-
- z
- E(n) = ---------- for p < q
- (q-p)(1-r)
-
- E(n) = undefined for p > q
-
- E(n) = infinity for p = q
-
- For intelligent card counters, p > q, and so it doesn't make much
- sense to talk about the average time to ruin or winning an infinite
- amount. Although sometimes a card counter will go broke with a
- fixed unit size, sometimes a card counter *will* win an infinite
- amount if left to play forever. p < q represents the case of
- most gamblers, such as craps players, who are doomed to lose if
- they play long enough and so it's only a matter of how long it will
- take.
-
- ==========================================================================
- IV. What is the chance of taking a loss after N hands?
-
- Assuming the risk of ruin is low and the number of hands is
- more than 100 or so, the Central Limit Theorem makes the
- distribution normal. The mean and standard deviation of this
- normal distribution can be computed from the expected win per
- hand and the standard deviation per hand. z = (x-u)/s*sqrt(N),
- where z is the standardized normal variable, x is the point
- of interest (zero, if we want to know the chance of taking a
- loss), u is the expected win, s is the standard deviation,
- and N is the number of hands.
-
- Let's say N=40, then z=(-50-(40*.0151))/(sqrt(3.887*40))=-4.0583. Don't
- have my tables handy, but I'm sure that's pretty much off the scale, close
- to 0%. That seems reasonable, since it is pretty hard to lose 50 units
- in just 40 hands, even if you are spreading 1-4. I would, however,
- expect the "actual" figure to be a bit higher (due to the 4 unit bets
- having an extra large influence in the space of only 40 hands.)
-
-
- ==========================================================================
- V. George C. on the Ruin Formula
-
- From "The Ruin Formula", by George C., Blackjack Forum, September 1988...
-
-
- George shows how to compute variance, like so:
-
- 6 Decks Strip Rules w/DDAS, 75% Penetration
-
- Advantage Hands/Hour Bet Squared $ Product $
- --------- ---------- ------------- ---------
- -3.4% 1.0 10000 10000
- -2.9% 2.0 10000 20000
- -2.4% 3.0 10000 30000
- -1.9% 4.0 10000 40000
- -1.4% 8.0 10000 80000
- -0.9% 13.0 10000 130000
- -0.4% 35.5 10000 355000
- 0.1% 13.0 40000 520000
- 0.6% 8.0 250000 2000000
- 1.1% 4.0 562500 2250000
- 1.6% 3.0 2250000 6750000
- 2.1% 2.0 2250000 4500000
- 2.6% 2.0 2250000 4500000
- 3.1% 1.0 2250000 2250000
- 3.6% 0.5 2250000 1125000
-
- Sum of Products 24560000
- Sq Root of Products 4956
- Times 1.1 5451 = Hourly standard deviation in $
-
- Note: When bet size goes to $1000, it is assumed player will
- play two hands of $500 each, then 2 hands of $1000 each
- [treated above as a bet of .75*2*bet].
-
- The above is a reasonable method of computing variance from
- frequency distributions. George C. does his statistics
- in "hourly" units, i.e. 100 hands. Using the above chart, you
- can obviously come up with things like the hourly win rate too.
-
- Then George comes up with this version of the Ruin Formula:
-
- h
- /1 + w/v\
- | ------- | - 1
- \1 - w/v/
- R = --------------------
- s+h
- /1 + w/v\
- | ------- | - 1
- \1 - w/v/
-
- where R is the probability of ruin
- w is the hourly expected win (in units)
- v is the hourly variance
- h is the hours of play
- s is the stake (or size of bank)
-
- He wants to figure out what his chance of halving his bank of
- $150,000 before doubling it is...
-
- George C.:
- "Since I should average $392/hour, it will take me 383
- hours to double my bank of $150,000 (i.e., divide the bank size,
- $150k, by the hourly expectation, $392, to get 383 hours.) I want
- to know what my chances are of halving my bank so I divide
- $75,000 (half of my bank) by $500 to obtain how many units of
- bank I have. That equals 150 units." [George calls $500
- his unit size, even though he goes down to $100 bets in bad
- counts, but that's okay, so long as we know what he means.]
-
- George substitutes the values w=.783,v=119,h=383,s=150 to
- get .14, or a 14% chance of halving his bank of 300 $500 units
- before doubling it. Nrrrrr.... but thanks for playing George C.,
- and we have some nice consolation gifts for you as well as
- Chambliss and Rogenski. You just can't use whatever units
- you feel like in the ruin formula.
-
- My computations show a 11.2% chance of losing *half* the bankroll
- before doubling the whole bankroll.
-
- Note: general_ruin(1500.0, 1500.0, 27.016, .0392) = .013, and
- general_ruin( 750.0, 1500.0, 27.016, .0392) = .112,
- using the C code in another part of this article with
- $100 units. 27.016 is the variance in $100 units per hand (squared).
-
- George C.:
- "The answer you should get is .14 or about a 1 in 7
- chance of losing half of your bank. Most high stake pros
- that I know play double the bet size I recommend here,
- considering the size of my bankroll..."
-
- I'm a bit puzzled by the "s+h" term in George's formula, and
- I tend to think it's totally bogus. s is the initial bankroll,
- while h is the hours. Whoh, ERROR type conflict.
-
- We can see the problem in George's approach by switching to
- a different unit size for the time, which shouldn't change the
- risk of ruin. Let's say instead of hours (i.e. 100 hands),
- how about 100 hours (i.e. 10,000 hands)? This divides
- the necessary units of time by 100, and multiples the variance
- and win by 100. Georges formula then spits out 2.463%, whereas
- with hourly units the answer was 14%. Clearly something wrong
- here. Could be me, but I think it's George.
-
- George's formula will work if you enter the data in terms of
- hands and bet units. Instead of hours, for "h" use the number of
- units you wish to win.
-
-
- ==========================================================================
- VI. Mason Malmuth on the Ruin Formula
-
- From a letter to the editor, by Mason Malmuth, Blackjack Forum,
- December 1988...
-
- Mason Malmuth:
- "George C's article on `The Ruin Formula' (BJ VIII #3) was
- very well done, [NOT!] but if you use the method give in my
- book, `Gambling Theory and Other Topics', you can extend
- these ideas even further and produce what I think are
- even more interesting numbers. Specifically, consider
- the following equation:
-
- LL = (WR)(N)-(3)(SD)sqrt(N)
- where LL is your lower limit,
- WR is your win rate per hour,
- N is the number of hours you play, and
- SD is the standard deviation.
-
- For all practical purposes, this is the equation that gives
- the lower limit (at three standard deviations) for how you
- would do for some period of time. That is, for practical
- purposes, this equation is your worst possible result."
-
- Okay, let's apply Mason's equation to George's problem, so
- WR=392, N=383, SD=5451, producing LL=-169898.00. Actually,
- come to think of it this doesn't really give you much of
- an indication as to your risk of ruin during those 383
- hours - it is just the worst result you would expect after
- 383 hours IF YOU HAD AN INFINITE BANKROLL.
-
- But Mason Malmuth continues:
- "Going one step further, if we take the above equation and
- take the first derivative with respect to N, set it to zero,
- and solve for N, we find the number of hours where our bankroll
- can by minimized
-
- 0 = WR - (3)(1/2)(SD)/(sqrt(N))
-
- 2
- / (3)(SD) \
- N = | -------- |
- \ (2)(WR) /
-
- Now by substituting this value back into the original lower
- limit equation, we produce practical bankroll requirements.
- In George C's example WR=.783, and SD=10.9. Thus N=436,
-
- 2
- / (3)(10.9) \
- 436 = | --------- |
- \ (2)(.783) /
-
- and the required bankroll is 341 units.
-
- -341 = (.783)(436)-(3)(10.9)sqrt(436)"
-
- First, note that 341 units is 341 of George C's $500 units,
- which is really 1705 $100 units, or $170,500. Using my version
- of the ruin formula, I calculate a 0.7% chance of ruin before
- doubling 1705 $100 units, under George C's conditions.
-
- Mason's technique seems to work okay, but I'd trust the ruin
- formula more. Part II of this article gave a means of
- determining bankroll size for a given risk of ruin.
-
-
- ==========================================================================
- VII. How about some C code?
-
- And finally, here's some C code to do the ruin formula above...
-
- Compile by doing something like:
-
- cc -c ruin.c
- cc -o ruin ruin.o /usr/lib/libm.a
-
- /*
- Gambling ruin formulas. Version 1.1.
-
- Copyright 1991, Michael Hall
- Permission to use pretty much however you want, but at your own
- risk of ruin :-)
- */
-
- #include <math.h>
-
- #define sqr(X) (X * X)
-
- /*
- Just a test. Should print following (approximately):
- 0.088595
- 300.0
- */
- main()
- {
- double general_ruin(), bankroll();
-
- printf("%f\n", general_ruin(300.0, 300.0, 3.886851, 0.0151));
- printf("%f\n", bankroll(0.088595, 3.886851, 0.0151));
- }
-
-
- /*
- Probability of ruin when trying to win "bb" units starting with "aa"
- units of bankroll on a gambling game where the expected win (or
- loss) per trial is "wph" and the variance is "s2". Note that "aa" and
- "bb" are doubles, just like the other parameters.
- */
- double general_ruin (aa, bb, s2, wph)
- double aa, bb, s2, wph;
- {
- double coin_units, a, b, S, asw, compute_asw(), coin_bet_size(), big_S(),
- coin_ruin();
-
- asw = compute_asw(s2, wph);
- coin_units = coin_bet_size(asw);
- a = aa / coin_units;
- b = bb / coin_units;
- S = big_S(s2, wph);
- return(coin_ruin(a, b, S));
- }
-
-
- /*
- Generates proper bankroll size for doubling given a desired risk of
- ruin and the other information as above.
- */
- double bankroll (R, s2, wph)
- double R, s2, wph;
- {
- double S, coin_size, coin_bet_size(), coin_bankroll();
-
- S = big_S(s2, wph);
- coin_size = coin_bet_size(s2, wph);
- return(coin_bankroll(R, S) * coin_size);
- }
-
- double coin_bankroll(R, S)
- double R, S;
- {
- double log();
-
- return(log((1.0 / R) - 1)/log(S));
- }
-
- /*
- asw is the average squared win, which is a simple function
- of s2 and wph.
- */
- double compute_asw(s2, wph)
- double s2, wph;
- {
- return(s2 + sqr(wph));
- }
-
-
- /*
- Number of units to bet on a coin tossing game, to get
- the same mean and variance as the more general game
- with asw average squared wager.
- */
- double coin_bet_size(asw)
- double asw;
- {
- double sqrt();
-
- return(sqrt(asw));
- }
-
-
- /*
- The big S in the coin ruin formula.
- */
- double big_S(asw, wph)
- double asw, wph;
- {
- double sqrt();
- return((sqrt(asw) + wph) / (sqrt(asw) - wph));
- }
-
-
- /*
- Probability of ruin when trying to win "b" units starting with "a"
- units of bankroll on a biased coin tossing game where "S" is the
- ratio of the probability of winning to the probability of losing
- (i.e. P/(1-P) where P is the probability of winning.
- */
- double coin_ruin (a, b, S)
- double a, b, S;
- {
- double pow();
-
- return((1.0 - pow(S,b)) / (1.0 - pow(S,a + b)));
- }
-