Predicting Outcome Dispersion for Blackjack with Kelly
This article will explain how to find the dispersion points, +1,+2 standard deviations, etc, after N hands of BJ when Kelly resizing has been employed. The method used here I call "Arithmetic-Exponential Conversion". We know how to calculate distribution points for fixed bet sizes. By converting the arithmetic growth rates for fixed bet sizes for a given set of results into the correspoding exponential growth rate for Kelly resized bets for the same results, we can find the Kelly outcome which falls at the same percentile of the distribution.
After showing how the system works, since I can't prove the accuracy of the method directly, I will give a demonstration of equivalency using the distribution of a fair coin toss. By comparison, one can see that this method finds the correct values. I believe the proof of the Kelly distribution for the fair coin toss is self evident.
Arithmetic - Exponential Conversion
We start with the distribution's center, the 50 percentile result (median), and compare the growth relationship between fixed & resized bets. Fixed bets will have an arithmetic rate of increase. If the initial bet is a fraction equal to .01 of bank, for example, and the ev is .01, then the bank for fixed bets will grow at an arithmetic rate of Bi * .01*.01 * N, where Bi is the initial bank. The arithmetic growth rate (g, we use a small g for arithmetic growth) is .0001.
Mean (50 percentile) g = f * ev
Mean outcome is given by: Bi * g * N
The median Kelly growth for the same example... f= .01 & ev= .01 is:
Median (50 percentile) G = 1+ f * ev *.5
Median outcome is given by: (Bi * G^N) - Bi
The median arithmetic-exponential relationship can be stated as follows:
G= 1 + ( g * .5)
The other points of the distribution have a similar relationship. The difference is that the change in exponential growth (G) as we move away from center, is twice the rate of change we see in the arithmetic g for fixed bets. What this means is that to find any Kelly distribution point we must double the z score, find the corresponding arithmetic growth rate for fixed bets, and then convert this to exponential growth using again: G= 1 + (arithmetic g * .5). The z score indicates the number of standard deviations from center.
The generalized arithmetic-exponential conversion is given by:
For any given Kelly z score, G = 1 + (g of 2 * z) * .5
The median has a z score of zero, so the general equation holds there as well. To convert arithmetic to exponential you simply find the arithmetic growth of the result at twice the z score for fixed bets, convert and project.
When I say that you must double the z score, which simply means the number of SDs from center, I simply mean that if you want to find the Kelly 84.13 percentile result, which corresponds to +1 standard deviation, you must find the fixed bet win for +2 SDs and convert growth rates. Once you find the fixed bet result, you find the arithmetic growth rate (g) using:
g = (Result / N) / bank.
The second step is to convert the arithmetic growth rate (g) into exponential growth (G) using: G= 1+ (arithmetic g * .5). And you then find the Kelly result using: Kelly win = (Bi * G^N) - Bi.
Step by step example
For an example we'll use a six deck game, half deck cut, 1 to 12 spread. The values given are using a game in BJ Attack, p198. For this game we have: ev=.0137, Avg bet= 1.96 units, SD per H= 3.81 units. We will, however, use an initial bank consistent with the Kelly criterion:
Bank= Avg Bet / [ ev / (SD per Hand / avg bet)^2 ] = 541 units
Our task will be to find the Kelly result at the 84.13 percentile, z=1, after 10,000 hands. As you remember, we need the arithmetic growth rate (g) for fixed bets at twice the z score. In this case that would be the result 2 standard deviations to the right of the mean.
I'm sure that everyone on this page knows how to find the mean and SD for N hands for fixed bets. But we will review just in case.
Mean win = avg bet * ev * N = 1.96 * .0137 * 10,000 = 268.52 units.
Now, to find the SD for N, we simply multiply the SD per hand by the sq root of N.
SD = 3.81 * SQRT(10,000 = 3.81 * 100 = 381 units.
For two SDs, what we now need twice 381, plus the mean of 268.52.
Plus two SD result = Mean Expected Win + (SD * 2) = 268.52 + ( 381 * 2) = 268.52 + 762 = 1030.52
Next we need to find the rate of arithmetic increase for this result. We find this simply by dividing the amount won by N, and then dividing by the unit bank.
G = (Result / N) / unit bank = (1032.52 / 10,000) / 541 = .00019048429.
We now convert g to G using:
G = 1 + (g * .5) = 1+ (.0001904829 * .5) = 1.000095242
And now finally to get the Kelly result at the 84.13 percentile:
Kelly result = Bi* G^N - Bi = (541 * 1.000095242^10,000)-541 = (541 * 2.591857105) - 541 = 1402.1947 - 541 = +861 units
******* Probability of x unit win/loss after N hands **********
This is a continuation to show the procedure above in reverse. Instead of finding the result at a fixed distribution point, you want to find the probability of a given result after N hands of Kelly betting. In the procedure which was covered above, one first consulted a chart to find the z score of a distribution point. The z score, you'll remember, is the distance from the center measured in standard deviations. What we will do here is calculate the z score of a particular proposed result, and then consult a chart of the normal probability distribtution to find the probability. Such charts are in most statistics books as well as BJ Attack, p 166, or Theory of BJ, p91.
Remember, the calculations in this post and the two previous are for continuously resized bets- not really practical. But these concepts should be grasped in order to understand the more complex procedures for finding the distribution points for Kelly interval resizing... adjusting bet sizes after a specified % of bank has been won or lost. That procedure will be covered in a future post.
This post will explain the steps one should follow. The next post will show a step by step example, as before.
Say you want to know the probability of being ahead / behind x units after N hands. The first step is to find the exponential growth rate(G) of the bank for this result after N hands. The equation to find this value is:
G = (Bn / Bi) ^ (1 / N)where
G = exponential growth rate
Bn = bank after N hands
Bi = initial bank.
For Bn you simply add your result to Bi. After you solve this you must convert the exponential growth (G) to arithmetic growth (g) using:
g = (G-1) * 2
The next step is to find the win for fixed bet sizes that would be achieved as a result of this arithmetic growth rate. You find this using:
Fixed bet result= Bi * g * N
Next you must find the z score of this result using:
z= (Result - exp win) / [SD per H * SQRT(N)]
If you remember, this z score must now be divided by 2. We doubled the z score for the arithmetic / exponential growth conversion. We now reverse that.
z score of G = .5 * (z score of g)
You're now done. You need only to consult a chart to find the percentile of your z score. Remember, the percentile tells you the percentage of the distribution which falls *under* your z score. If you z falls at .75, for example, this means there is a 25% chance that your result will be this good or better.
************ Step by step example *******************
To illustrate we'll use the same game as before, from BJ Attack p 198. Six decks, half deck cut, 1 to 12 spread, avg bet= 1.96, ev= .0137, SD per H= 3.81, initial bank (Bi)= 541 units.
Suppose we want to find the probability of having a win of 2000 units or better after 30,000 bets (endpoint).
Step 1: Find G using:
G = ( Bn / Bi ) ^ ( 1 / N ) = (2551 / 551)^(1 / 30,000) = 4.629764^.000033333 = 1.000051084.
Step 2: Convert exponential growth rate to arithmetic growth using:
G = (G-1) * 2
If you recall, to convert the other way we multiplied by .5, here we double:
Arithmetic growth rate (G) = (1.000051084 -1) * 2= .000102168
Step 3: Find the fixed bet result from this growth rate:
Fixed bet result = Bi * arithmetic growth rate * N = 551 * .000102168 * 30,000 = 1688.84
Step 4: Find the z score of this result, which will be twice the z score of the Kelly result:
z = (Result - Exp win) / [SD per H * SQRT(N)]
You must find the exp win for fixed bets to do this:
Exp Fixed Bet Win = Avg Bet * ev * N Exp Fixed Bet Win = 1.96 * .0137 * 30000 Exp Fixed Bet Win = 805.56
So now:
z = (Result - Exp win) / [SD per H * SQRT(N)]
z = (1688.84 - 805.56) / [3.81 * Sqrt(30000)] = 883.28 / 659.91 = 1.3385.
Now, this value is twice the Kelly z. So:
Kelly z score = fixed bet z score * .5 = 1.3385 *.5 = .66925
Now you will simply look on a chart of the normal probability distribution to find the percentile of this z score. This is corresponds to .66925 standard deviations to the right. It turns out that this falls at about the 74.86 percentile. This means about .75 of the distribution falls below this point. So to answer the first question, the probability of having a win of 2000 units or better after 30,000 hands of continuous Kelly resizing is approximately 25%.
*************** Proof for Above Procedures ****************
The method shown above is not specific to blackjack, but can be used for any game which has a normal distribution. This means no big surprises beyond the second moment of the distribution. Video Poker would not qualify.
We are going to prove the arithmetic-exponential conversion method by comparing results to the distribution for a fair coin toss: p=.5, q=.5.
If we bet on a fair coin toss, our expectation is always a win of zero units. For a single bet, we have an expectation of zero with a standard deviation of 1. For any N, we have an expected outcome of winning zero units with a standard deviation of the square root of N. Assume one unit bet each time. Let's look at 10,000 bets:
Mean units won = 0, wins= 5000 & losses=5000 + 1 SD result = Mean + SQRT (N)
= 0 + 100+ 1 SD unit win = 100 wins = 5050 & losses= 4950 + 2 SD unit win = 200 wins = 5100 & losses= 4900
I don't think anyone has been lost yet. We are now going to incoporate a 1 % advantage into the fair coin toss by having a win payout of 1.02. You still just lose one unit on a lost bet. We still have p=.5 * q=.5. We are going to look at Kelly and fixed bet results at these distribu- tion points. This is very easy since we already know the number of wins and losses. The optimal fraction is: ev / win payout, which in this game is: .01 / 1.02 = .0098. If we have an initial bank (Bi) of 1000 units, then the fixed bets always bet 9.8, while the Kelly bet is always .0098 of the current bank.
Fixed bets:
Mean = (bet * win payout * number wins) - (bet * number losses) Mean = (9.8 * 1.02 * 5000) - (9.8 * 5000) = 980 +1 SD = (9.8 * 1.02 * 5050) - (9.8 * 4950) = 1969.80 +2 SD = (9.8 * 1.02 * 5100) - (9.8 * 4900) = 2959.6
When the arithmetic-exponential conversion method was explained, I proposed that to find the result at any specified percentile for Kelly bets, one would do so by converting the arithmetic growth rate of the fixed bet result with twice the z score. Let's see if it works here. We can find any Kelly result using the familure equation:
Kelly result = [ Bi * (1 + f * win payout)^W * ( 1 - f)^L ] - Bi where W = number of wins L = number of losses
So we already know that the 84.13 percentile for Kelly bets in the above game should be:
Kelly 84.13% result = [1000*(1+.0098*1.02)^5050*(1-.0098)^4950]-1000 = 3392.54
So here we have the result using a direct irrefutable method. Now let us used the proposed arithmetic-exponential conversion to compare results. If you recall, we take the fixed bet result at twice the z score, the +2 SD result, find the arithmetic growth rate (g), convert it to exponential growth (G), using: G= 1 + (g * .5). And then we find the Kelly result via: Result= (Bi * G^N) - Bi
The fixed bet result at +2 standard deviations was 2956.6. Let's find g.
g = (result / N) / unit bank g = (2959.6 / 10,000) / 1000 g = .29596 / 1000 g = .00029596
We now find G using: G = 1 + ( g * .5) = 1 + (.00029596 * .5) = 1.00014798
We now find the Kelly result using: Result = (Bi * G^N) - Bi
Kelly 84.13 percentile result = (1000 * 1.00014798^10,000) - 1000 = (1000 * 4.391586364) - 1000 = 4391.59 - 1000 = 3391.59
The direct method found a result of 3392.54. This is a difference of less than one unit after 10,000 bets, which I'm sure is the result of rounded decimals. In any case, a margin of error of .00028 is as close as one can hope for using any method. This margin of error is consistent with that shown in comparitive simulations testing various distribution points for many different games. The arithmetic-exponential conversion method has shown itself to be very reliable for all games with a normal distribution.