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.

Attachments:

The Excel: Roulette Output

Python programs: Roulette Programs

7,734 Replies to “10,000 Nights at a Casino – Using Python to test my Roulette Strategy”

  1. How to make $378K from $10K in 1 year.

    The key is to find an investment that pays 1% per day. Oh yeah, that already exists

    Looks unreal, doesn’t it? How is it possible to generate $377k from $10k in one year?
    All it takes is to invest in something that returns 1% per day for 365 days. And that something is DRIP.

    What is DRIP?
    DRIP is the latest iteration of previous crypto projects like HEX and FLOW that were able to provide passive income through smart contracts in Defi.
    It was created on the Binance Smart Chain, and the DRIP Token can be bought with BNB.
    The bedrock of DRIP is the feature of paying 1% on your investment per day.
    You can either pull that amount out and receive your 1% return of the DRIP token per day, or you can “Hydrate” or recompound your earnings and compound the 1% against the new amount.
    By Hydrating you start to see the 367% APYs by the end of the year (fees excluded for simplicity).

    The payment is in DRIP not dollars, so you’ll have the opportunity to benefit from any price rises (as well as suffer from price falls), but the tokenomics of scarcity, deflation, and incentives to HODL gamefies the tokenomics to create a virtuous cycle that promotes the lifting of the price of the DRIP token.
    Just look at the 91% TVL (Total Value Locked). Only 9% of the Million total supply of tokens is even available for trading.

    So, how do I do this?
    You’ll need a coin called BNB in order to buy DRIP. You’ll also need to buy at least 1 DRIP in order to participate.

    Invitation Only
    Participating in DRIP is by invitation only. If you like, you can enter my Buddy ID: 0xEd45fB0B0D42a1C9fB6600EE94e45EF20BCce868.
    You could also just click this link, which should auto-populate fields with Jsam’s ID: https://hop.cx/drp
    Then, just deposit you DRIP and start receiving your 1% per day.

    The Basic Strategy
    Really, the simplest thing is to just buy DRIP, and recompound for a year before claiming your DRIP rewards. That would maximize your percentage, as well as the anticipated price rise of the DRIP token. The other options, such as growing a downline, and staking in DROP can be dove into at a later date.
    Please note, once funds are deposited into the DRIP contract, you will not be able to withdraw the total amount. This is similar to a CD. You are only able to withdraw what’s in the Available section of Faucet.

    The How
    Go to https://drip.community/fountain and exchange BNB for DRIP.
    Enter a Buddy address in the Referral section. Please consider signing up me at: 0xEd45fB0B0D42a1C9fB6600EE94e45EF20BCce868
    Deposit at least 1 DRIP (Ensure you have enough BNB to pay for the gas fees.)
    You’re setup on DRIP. Get ready to receive 1% daily!

  2. В наличии текстильные изделия и мебель для различных организаций – приобретайте все быстро и в одном месте.
    ватные матрасы дешевые Производим недорогие армейские матрасы для воинских частей Москвы и Московской области

  3. 1950’den günümüze kadar kalite ve müşteri memnuniyetini esas alarak Cami, Yurt, Kur’an Kursu, Mescit Halısı ve duvardan duvara halı ile hizmet vermenin gururunu yaşamaktayız. Camilerimiz hepimiz için en özel alanlar olduğu için her zaman en güzeli olması için daha çok özenle çalışıyoruz. Bu nedenle cami halısı seçerken bizimle iletişime geçmenizi, ücretsiz danışmanlığımızdan faydalanmanızı öneririz. Cami zeminlerinizi 30 yıllık tecrübe birikimimizle en kaliteli marka ve halılarla döşüyor, zerafet ve şıklığı cami zeminlerinize yansıtıyoruz. Cami Halısı

  4. ТЕКСТИЛЬ ОПТОМ ОТ ПРОИЗВОДИТЕЛЯ – ПОЛУЧИТЕ ЗАКАЗ УЖЕ НА СЛЕДУЮЩИЙ ДЕНЬ
    https://sklad46.ru/postelnoe-bele Одеяла стандарт. Производятся со следующими наполнителями: натуральная овечья шерсть, вата, синтепон. волокно силиконизированное.

  5. Avrupa Yakası Escort – Escort Avrupa Yakası – Eskort Bayan. Avrupa yakası escort bayan İstanbul’un avrupa yakası bölgesinin elit ve samimi kadınlarını … Avrupa Yakası Türk Escort olarak selam şekerlerim, ben güzeli Defne. Pırlanta gibi değerli ve güzel bir kadın olmaktan onur duyuyorum. Sizleri evimde, otellerde karşılarım, benim için fark etmez. Seks her şeyden önce gelir, nerde yapıldığının bir önemi olmaz benim için. 1,60 boyunda 50 kiloluk minyon… istanbul escort

  6. Excellent post. I used to be checking continuously this weblog and
    I’m impressed! Extremely useful information particularly
    the ultimate phase 🙂 I maintain such information a lot.
    I used to be seeking this certain info for a long time.
    Thank you and good luck.

  7. Avrupa Yakası Escort – Escort Avrupa Yakası – Eskort Bayan. Avrupa yakası escort bayan İstanbul’un avrupa yakası bölgesinin elit ve samimi kadınlarını … Avrupa Yakası Türk Escort olarak selam şekerlerim, ben güzeli Defne. Pırlanta gibi değerli ve güzel bir kadın olmaktan onur duyuyorum. Sizleri evimde, otellerde karşılarım, benim için fark etmez. Seks her şeyden önce gelir, nerde yapıldığının bir önemi olmaz benim için. 1,60 boyunda 50 kiloluk minyon… istanbul escort

Comments are closed.