10,000 Nights at a Casino – Using Python to test my Roulette Strategy

A few years ago, friends and I took a pit stop in Macau during a trip through Asia after our graduation.  While there, I came up with a fairly simple roulette strategy that I thought could work for someone with enough of a bankroll.  Since then, my friend Steve and I have argued about 15x about the validity of this strategy.  In fact, Steve even wrote a VBA program to prove that I was wrong.  Well, Steve, I wrote my own program this past rainy Sunday (to highlight my gambling prowess, this Sunday I also doubled up in Texas Hold ‘EM poker after flopping a full house with 7, 2 off suite – but that’s a story for another day).

The strategy is as follows: put $1 on black.  If you win, take your winnings off the table and put a new $1 bet down.  If you lose, then put $2 down, if you lose again, double it to $4, if you lose again, double it to $8, and keep doubling down until you win, then take all of your money off the table (your winnings will offest your previous string of losses and leave you with a $1 profit), and start again with a $1 bet.  Of course, the problem becomes, what happens when you lose 10 times in a row.  Well, I’m glad you asked.

First off, let’s analyze the probability of you losing that many times in a row.  There are 38 possibilities in a roulette wheel – numbers 1-36, 0, and 00.  So, your chances of not hitting your color are ((38-18)/38, or about 53%.  So, you don’t have a great chance of winning if you just play once.  But, what are the chances of you losing several times in a row?  The below table illustrates how low these odds become (‘Necessary Bet’ is the bet needed to recover losses and make $1.  The ‘Probability’ is the cumulative probability of losing n many times in a row.  See R1:T17 of the first tab of the excel I link to at the bottom of the post for the calculations):

Below is a graph of what your pay offs may look like.  Note that you are winning only $1 at a time until you eventually get really unlucky, somewhere around your 13,000th spin in this case, and lose money beyond your bankroll which forces you to quit and walk out of Macau penniless (but hopefully not indebted to some Asian Gangsters).  Notice how the blue bar suddenly drops to -$9,000…

This type of payoff structure is analogous to “picking up nickles in front of a steam roller.”  If you haven’t already, you should read When Genius Failed, the story of the demise of Long Term Capital Management.  LTCM was a hedge fund run by Nobel laureates who made thousands of tiny bets using computer programs in a strategy called statistical arbitrage, among others.  The hedge fund blew up as they thought the scenarios that would cause their fund to collapse would only occur once every few centuries (it only took a few years for the fund to meet its very spectacular end in one of the first “too big to fail” situations.  Fun fact: all Wall Street banks pitched in to help unwind the fund’s assets, and thus divert a systemic break in the economy, except for Bear Stearns who refused to help…).

Below is a zip file with three Python programs whose outputs are captured in the excel.  The programs assume that you start with $100, and can borrow up to $5,000 from your friend (except for the last one that assumes you can borrow $15,000).  So, just as LTCM relied on leverage to try to double down on their bets and save their fund, this strategy also relies on loans to stay afloat in bad times when the odds go against you.

The first program is what would happen if you sat down and played until you went bust.  I ran this program once, and you make about $6,000 before hitting some bad luck and going bust (this is shown in the line graph above).  The second program basically runs the first program 10,000 times in order to get an average payout.  However, this one assumes you are only willing to play 100 games in a row as even 100 games would probably take a very long time in reality.  The last program is the same as the second, except that the player can lose up to $15,000 before quitting, and, if they have played 100 games and are at a negative value at the 100th game, they will play until they either recoup their losses, or go bust and lose $15,000.  This last scenario actually yields a positive expected value of about $4 (see the third table of the excel file I link to at the end of the post.  Expected value is what you would expect to win, on average, if you played this strategy many times).  Here is the distribution of returns from spending 10,000 nights in the casino with your friend that has $15,000 he can loan you if need be.  Pay no attention to the long tails where you lose $8,000 – that’s like a 10 sigma event and would NEVER happen 🙂

Conclusion: is this an effective strategy?  Not really.  Even if you found a table that let you start with $1 bets, and you had the patience to sit down and do this, and you had the bankroll, it’s just not going to yield all that much cash over time.

Please feel free to look over my code and let me know if you come up with any other conclusions by modifying it!  Also – I’m not a programmer – these scripts were very easy to do and took me only a few hours to write all three and conduct all analysis because Python is super easy!  If you want to learn more, MIT has FREE courses on Python that you should check out.  Enjoy!

To quote a really great “anti-recruiter” LinkedIn profile describing time spent at a large quant hedge fund: “I earn above-market returns 95% of years by collecting theta, selling volatility in the form of financial derivatives, naked short put options, and in summary, collect nickels and dimes in front of steam rollers, hoping the black swans never appear during my lifetime.


The Excel: Roulette Output

Python programs: Roulette Programs

  • Steve

    You could apply this logic to every casino game regardless of the underlying odds. Everytime you lose double your bet until you cover your losses. If this strategy had positive expected return you could beat any game in the casino with ease from roulette to craps.

  • http://www.musiclyricsnow.net/newAdditions.php New Lyrics

    I found this post while searching for some free downloads. Thanks for sharing will be sure to follow this blog regularly and will email this article to my all my buddies.

  • http://www.neighborrow.com Dave

    love it! i’ve had this same “debate” with friends in the past. i think the problem you’d run into with the double-up strategy is table wager maximums. have you accounted for these bet limits in your analysis? casinos have them for this very reason.

    stick to hold ’em phil. it’s the only casino game i can think of where the odds aren’t in the house’s favor (besides the rake). but stop playing 7-2 off. talk about terrible EV!

  • Pingback: 10,000 Nights at a Casino – Revisted | Phil Strazzulla's Impending Blog

  • http://cpanama.info Gamboa

    It is nice to definitely locate a blog where the blogger is polished. Thanks for creating your blog.

  • Pingback: F85 Replacement The Automobile Industry Station Wagons, Download F85

  • Pingback: Aftermarket E Class 210, Tn210bk Compare Prices

  • Pingback: P20 Refurb Warranty, P20 Apartments Bedroom

  • Pingback: Linksys Srx200 Power Supply, Netgear Srxn3205 Preshared Key

  • Pingback: Find H 264, 264 Ingredients

  • Pingback: Wall Mount Hose Rapid Reel Gh164 Pd, 164 Review Torque Steer

  • http://www.downloadnod32.com/ Download Nod32

    I would like to say “wow” what a inspiring post. This is really great. Keep doing what you’re doing!!

  • http://www.i-bukmacher.pl mundial 2010 bukmacher

    Great info, thanks for useful post. I am waiting for more

  • http://www.forexdatatoday.com/ Tomoko Cabam

    you’ve got a great personality.

  • http://www.forexstrategysite.com/ Carter Dimare

    I’m really proud of you

  • http://www.forexdatatoday.com/ Grady Ferruso

    that’s incredible.

  • http://www.healthandskinny.com/ Charlsie Fann

    I have to state, you chose your words well. The ideas you wrote on your encounters are well placed. This is an incredible blog!

  • http://silver-gold-bullion.info/bullion/gold-prices Willy Raponi

    Comfortably, the article is actually the greatest on this deserving topic. I fit in with your conclusions and will thirstily look forward to your future updates. Just saying thanks will not just be enough, for the extraordinary lucidity in your writing. I will right away grab your rss feed to stay abreast of any updates. Pleasant work and much success in your business dealings!

  • http://www.i-bukmacher.pl/fortuna-zaklady-bukmacherskie/ fortuna zaklady bukmacherskie

    I want to start blogging too, what do you think, which blog platform is good for beginner?

  • http://livecasino.smartlivegaming.com/live-roulette.html online blackjack

    This is one of the best informative article about casino gambling I have ever seen before. The Strategy you have given of Roulette is very useful to all Roulette lovers, including me. 

    • http://www.money-maker-machine.com Hank Hilton

      Your online gambling source – news, strategies, bonuses and reviews.

      Roulette system software is your online gambling source and our team is devoted to providing you with the most popular and effective casino strategies as well as the latest gambling news on a daily basis.


  • James Mills

    I like your article and your code is simple and easy to understand. I made some modifications and a few adjustments: 
    http://codepad.org/RID8HVG5 Obviously with a higher bankroll you can sustain those times when you can loose as much as 14 times in a row (which is very unlikely to occur). Have fun! Remember: Responsible Gambling!

    • Phil Strazzulla

      Thanks a lot for checking it out!  How did you find the site, avid gambler?

  • trizero

    I did a more detailed version of your test: youroul.com
    But also with python 😉

    • Anonymous

      Wow, great website, nice work!!

      • trizero

        thank you! 🙂

  • Pingback: Massive Roulette Profits | 7Wins.eu

  • nash oudha

    This is only working on a fair real roulette table, since almost 99% of roulette in casino are rigged with electromagnic ball guiding system you will always lose in casinos unless the casino system wants you to win.

  • Rolando Bisso

    This method does not work because all roulette tables have limits, precisely to stop this method, which is called Martingale. It is nothing new about this.
    Casinos do not need to have electromagnetic balls on roulette tables, the odds always favour the house. You had watch too many movies or listen to too many conspiracy theories. Every country has a ruling body that inspect casino operations for fairness on table games. Unless your 99% comment about rigged roulette tables is meant for illegal operated casinos.

  • Rolando Bisso

    Also, probabilities of hitting a number on roulette are 1 out of 37 if the layout holds only a zero, or 1 out of 38 if the layout hold zero and double zero. This odds do not change at all, every spin has the same 1:37 or 1:38, your odds of hitting a number on the wheel are the same all the time. Thereby the odds of hitting red or black are always the same, 52.63% against you. That 2.63% is the house advantage on you, that is actually 5.26%, because is 52.63% against your 47.37%.

    • http://philstrazzulla.com philstrazzulla

      Thanks for checking out the post! You’re of course right. This was a thought experiment I had 6 years ago, and an excuse to learn some python. I wouldn’t recommend it as an income strategy!

  • Katarzyna Grochowska

    You did Martingale strategy. Try to do plots of Fibonacci, Labouchere, D’Alembert, always single number, Reverse Martingale and Reverse Fibonacci.