You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Steven Polley a6a06adb69 comments, rename variables to clarify 5 months ago
README.md This is more appropriate in output section 5 months ago
main.go comments, rename variables to clarify 5 months ago

README.md

kelly-paper-experiment

If you start with $100 balance, and you make a bet with a 70% chance of winning. If you win, you get $80. If you lose, you lose $80.

Do you take the bet? Even more interesting, if you could keep repeating this bet over and over again, always betting 80% of your balance, should you do it?

It makes sense, right, the odds are in your favor!

The actual answer - if you want to go broke, then yes

This blew my mind, how counter-intuitive the answer to this question actually is.

This program runs 16 simulations where you start with a balance of 100 currencies. You make consecutive bets, always betting 80% of your total balance with a 70% chance of winning each bet. It then reports the results after ONLY 200 bets. The result is the percentage of your returns (your end balance divided by your starting balance).

Output

Notice the e-n at the end... these are very small numbers, with only one simulation winning out with 24441% return based on the original balance.

  • 9.615689177895335e-11
  • 0.037253150033722274
  • 1.3190245785864657e-13
  • 1.0684099086550371e-11
  • 0.0041392388926358116
  • 0.004139238892635805
  • 5.1101714723898945e-05
  • 7.788708234095249e-09
  • 244.4179173712515
  • 5.67796830265542e-06
  • 0.0041392388926358185
  • 1.1871221207278168e-12
  • 0.0004599154325150897
  • 1.0684099086550387e-11
  • 7.788708234095218e-09
  • 0.0041392388926358116

In other words, given enough time, we're all screwed.

Reference Video

IMAGE ALT TEXT HERE

How to build this program yourself

  1. Install go - https://golang.org/dl/
  2. Clone - git clone https://deadbeef.codes/steven/kelly-paper-experiment.git
  3. Build - cd kelly-paper-experiment && go build .