
【1万円→4200億円に収束】勝ったら1.2倍/負けたら0.8倍の賭けを1000回繰り返すゲームでケリー基準に従って賭けるシミュレーションで検証
株売買において、手持ち資金のうち、どの程度の金額をかければいいか悩んだことはありませんか?
狙いをつけた銘柄の株価が今後上がる自信があれば大きく掛け、そうでない場合は小さくかけるのが良さそう。
というところまではわかりますよね。
しかし、当たると踏んだ確率や期待値に対して具体的にどのくらいの金額を投資すべきか、最適な額を計算する方法があったらいいと思いませんか?
実はこの問いに対して、すでに数学的に割り出す方法があり、すでに結構広く知られた公式があるのです。
そこで今回は、この問題に対する科学的なアプローチ、「ケリー基準」について紹介します。
ケリー基準とは?
ケリー基準は、1956年にジョン・ケリー・ジュニアによって考案された数学的手法です。
この基準は、長期的な資金成長を最大化するために、各投資にどれだけの資金を配分すべきかを決定するのに使用されます。
簡単に言えば、ケリー基準は「勝つ確率が高く、リターンも大きい投資ほど、より多くの資金を配分する」という考え方です。
ケリー基準の基本的な公式
最も基本的なケリー基準の公式は以下のようになります:
f* = (p * b - q) / b
f* は投資すべき資金の割合
p は利益が出る確率
q は損失が出る確率 (q = 1 - p)
b はオッズ(投資額に対する利益の比率)
WEBでケリー基準にしらべてみると結構さまざまな公式や説明がでてきて「どれが正解が分からない。この解釈で合ってるの?」という疑問が出てきます。
読者の方々には上記の公式を覚えていただく必要はないと考えています。
大事なのは、掛け額をきめる計算の入力となる「オッズと勝つ確率」さえ正確に分かればケリー基準にしたがって賭けるとほぼ確実に資産を増やせるということです。
あるWEBサイトなどの説明によるとケリー基準の公式は数学的に導出できるようなのですが、そもそも私が数学にそこまで明るくなく、その導出過程に自信が持てません。
また、導出された式に実際の数値を当てはめる場合に解釈を間違えば、これまた意味がありません。
大事なのは「ケリー基準にあっているか?」ではなく「本当に利益が最大化できるか?」です。
この証明にはシミュレーションで試して検証するのが火を見るよりあきらかと思い、ChatGTPやClaude Sonnetなどの生成AIにPythonを使ったプログラムの雛形を作ってもらった上、追加ご要望をだしてさまざまなオプションを追加、さらに自分自身でリファクタして最終的にプログラムを整えました。
(★)リファクタ=プログラムの動作を維持したままプログラム内部の構造を整理すること。
ケリー基準と思われるいくつかの式を実装した上で、Copilotを使ってサジェストに従いケリー基準の亜種となる関数を追加、最終的には合計6つの計算式を用意しました。
また、作ったプログラムをテキスト生成AIであるClaude Sonnetに渡してみてもらい、それぞれの式がケリー基準なのかどうか解説をもらい、それらをプログラムのコメント部分に記載しました。
AIの活用
ここで閑話休題。
なお、ChatGPTをはじめとするテキスト生成AIはどんどんと性能が上がっており、プログラムを組むにも、何かを学習するにも、アイデアを練るにしても、その効率を数倍に跳ね上げてくれています。今回のプログラムも全て自前で組んだ場合に比べておそらく少なくとも5倍くらいは早く仕上げることができているのではないかと思います。2023年初頭からChatGPTやCopilotなどのAIを使って来ていますが便利すぎて、個人的にはもはやAI無しにコーティングすることは非効率すぎてありえません。そういうわけで正確なところは計測できておりませんが、AI無しの過去のコーティング速度を思い返した場合の印象と比較するとこのくらい違います。
生成AIの世界は、日進月歩で各社が競い合っており、その時々で一番賢いAIが変わります。ChatGPTの最新のAIモデル4oもかなり賢いですが、2024年8月現時点で1番賢いAIはClaude 3.5 Sonnet(https://www.anthropic.com/news/claude-3-5-sonnet)であると思っています。(とはいえChatGPTと違って画像生成が弱かったり、WEB検索してくれない弱みはあります)
私はClaudeもChatGTPも両方課金しており、日々プログラミングや調査、学習、アイデア練りに活用しています。
ちなみに、本Noteで使用してるアイコンや本記事のタイトル画像は、ChatGPTにお願いして作ってもらったものを使用しています。アイコンについては生成してもらったものをペイントで手直しした上、StableDiffusionでimg2imgにかけて解像度を上げて仕上げたりもしています。
画像生成AIはブログに載せる画像等を作成するのにめちゃくちゃ便利ですね。画像生成のコツや生成AIをつかって効率よくプログラミングするコツなどの記事もゆくゆくは書いていこうと思います。
話は脱線しましたが、本題に戻ります。
賭けシミュレーションを行うPythonプログラム / kelly.py
こうして出来上がったプログラムは三百行もない簡素なものです。しかし、条件を変えて色々と実行すると結構な気づきがあるのです。
自己紹介記事後の本格記事第一弾として、
今回はこのプログラムの実行結果の紹介とそれから判明した事実について解説していきます。
このシミュレーションが示すことは、株式売買における本当に初歩初歩、株取引というゲームは一体どのような性質を持つものなのか?という大枠を理解するものであると考えています。
私含めて、株式の売買においてどのような感じで掛けるとよいのか、今まで肌感覚でやってきていた戦略が本当に正しいのかどうか間違っていたのかどうかを、ある側面でこのシミレーションは明らかにしてくれると思います。
まずPythonでつくったシミュレーションプログラムを公開します。
全部ここに載せると長いので別記事に書いております。
まず、プログラムの使い方は以下のように-hオプションを付けて実行すると表示されます。
$ python kelly.py -h
usage: kelly.py [-h] [-v] [-f FIX_F_STAR] [-n NUM_SIMULATIONS] [-w EXPECT_WIDTH] [-o ODDS] [-r] [-t F_STAR_TYPE] [-i NUM_BETS] [-s]
[-e EXPECT_MAX]
ケリー基準に基づいた賭けを行うシミュレーション
options:
-h, --help show this help message and exit
-v, --verbose 詳細な情報を表示
-f FIX_F_STAR, --fix_f_star FIX_F_STAR
f_starを固定値にする
-n NUM_SIMULATIONS, --num_simulations NUM_SIMULATIONS
シミュレーションの回数
-w EXPECT_WIDTH, --expect_width EXPECT_WIDTH
期待値の幅
-o ODDS, --odds ODDS オッズ(賭けた場合の利益率)を指定
-r, --random_real 勝率を期待値をはずれてランダムにする
-t F_STAR_TYPE, --f_star_type F_STAR_TYPE
f_starの計算方法を指定
-i NUM_BETS, --num_bets NUM_BETS
掛けの回数を指定
-s, --show_table f_starの結果一覧表を表示
-e EXPECT_MAX, --expect_max EXPECT_MAX
期待値の上限
プログラマーでない方にとってはコードを読んでもよくわからないと思います。でも安心してください。そうでない方にもわかるようにポイントを絞って解説しています。
まず、このプログラムはデフォルトで以下のような処理を行います。
・初期金額として一万円を持った状態でスタート
・1度のシミュレーションでは賭けを100回繰り返す
・そのシミュレーションを10回繰り返す
・勝つ確率は20%~80%でランダムに決まる。
・賭けに場合は掛けた額の1.2倍となる(20%増)。負けた場合は0.8倍となる(20%減)
・賭け額はケリー基準に従って決める。
・各シミュレーションでの最終金額を表示。
・全シミュレーションの最高金額や最低金額、平均などの統計的データを表示する。
シミュレーションの実行と考察
様々にオプションで挙動をかえられますが、まずは
デフォルトで動作させてみましょう。
$ python kelly.py
●シミュレーション1を開始
=> シミュレーション1の最終金額: 21770.55円 (2.18万円)
●シミュレーション2を開始
=> シミュレーション2の最終金額: 10334.58円 (1.03万円)
●シミュレーション3を開始
=> シミュレーション3の最終金額: 11859.21円 (1.19万円)
●シミュレーション4を開始
=> シミュレーション4の最終金額: 8074.51円 (0.81万円)
●シミュレーション5を開始
=> シミュレーション5の最終金額: 20447.47円 (2.04万円)
●シミュレーション6を開始
=> シミュレーション6の最終金額: 17403.48円 (1.74万円)
●シミュレーション7を開始
=> シミュレーション7の最終金額: 17930.24円 (1.79万円)
●シミュレーション8を開始
=> シミュレーション8の最終金額: 11706.63円 (1.17万円)
●シミュレーション9を開始
=> シミュレーション9の最終金額: 16764.61円 (1.68万円)
●シミュレーション10を開始
=> シミュレーション10の最終金額: 15286.06円 (1.53万円)
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 100回
・10回のシミュレーションの平均最終金額: 15157.73円 (1.52万円)
・初期資金(10000円)よりも多くなった回数: 9回 (90.00%)
・最高金額: 21770.55円 (2.18万円)
・最低金額: 8074.51円 (0.81万円)
・標準偏差: 4280.94
・95%信頼区間: 6767.09~23548.38
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 0
f_starの計算方法: win_prob - ((1 - win_prob) / win_odds)
10回のシミュレーションを行い、10回中9回は初期金額を上回る結果を出しました。最終平均金額も1.52万円と1.5倍になっています。
「え?10回中1回失敗してるやん!」と思った方。
たしかにその通り。しかしケリー基準のすごいところ、というか統計的な強みは、試行回数が増えるに伴い平均に回帰するということです。
つまり、試行回数が少ないうちは例外のような結果になることも少なからずが起こるが、試行回数を増やすにつれその例外の出現比率が減っていき、だんだんと同じ方向に収束するという性質です。
この性質を確認するため以下の条件で実行します。
・一回当たりのゲーム回数を100→200にします。
・(またついでに)シミュレーション回数を10→100にしてサンプル数を増やして統計の精度を上げます。
$ python kelly.py -i=200 -n=100
※-iはゲーム回数 , -nはシミュレーション回数を指定します。
●シミュレーション1を開始
=> シミュレーション1の最終金額: 17541.70円 (1.75万円)
●シミュレーション2を開始
=> シミュレーション2の最終金額: 38871.96円 (3.89万円)
●シミュレーション3を開始
=> シミュレーション3の最終金額: 33024.37円 (3.30万円)
:
(略)
:
●シミュレーション98を開始
=> シミュレーション98の最終金額: 25618.86円 (2.56万円)
●シミュレーション99を開始
=> シミュレーション99の最終金額: 17195.69円 (1.72万円)
●シミュレーション100を開始
=> シミュレーション100の最終金額: 16591.82円 (1.66万円)
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 200回
・100回のシミュレーションの平均最終金額: 26256.83円 (2.63万円)
・初期資金(10000円)よりも多くなった回数: 94回 (94.00%)
・最高金額: 105127.47円 (10.51万円)
・最低金額: 5049.15円 (0.50万円)
・標準偏差: 14454.76
・95%信頼区間: -2074.49~54588.15
------------------------------------------------------------------------
ゲーム回数を2倍に増やしたことで、最終金額の平均は2.65万円と初期金額から2.6倍の利益となりました。そして100回のシミュレーション中94回が初期金額を上回り、6回で下回っています。勝率は94%ですね
さらにもっと極端にゲーム回数をあげ、シミュレーション回数も1000回にあげて統計の精度を上げてみます。
$ python kelly.py -i=500 -n=1000
:
(略)
:
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 500回
・1000回のシミュレーションの平均最終金額: 144803.95円 (14.48万円)
・初期資金(10000円)よりも多くなった回数: 995回 (99.50%)
・最高金額: 1411034.35円 (141.10万円)
・最低金額: 6701.38円 (0.67万円)
・標準偏差: 153866.00
・95%信頼区間: -156773.41~446381.31
------------------------------------------------------------------------
$ python kelly.py -i=1000 -n=1000
:
(略)
:
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 2075891.83円 (207.59万円)
・初期資金(10000円)よりも多くなった回数: 1000回 (100.00%)
・最高金額: 35459251.10円 (3545.93万円)
・最低金額: 11678.60円 (1.17万円)
・標準偏差: 3551133.78
・95%信頼区間: -4884330.38~9036114.04
------------------------------------------------------------------------
500回のゲームでは平均金額が14万円、かつ99.5%の勝率
1000回のゲームでは平均金額が207万円、かつなんと最終金額が1000回中1000回とも初期金額を上回っており100%の勝率となっていることが確認できます。
そもそも1000回もゲームに挑戦できない、どんだけ時間かかるの?
というようなツッコミはあるかもしれませんが、ケリー基準に従って賭けを繰り返せば確実に利益が増える方向に収束していくという事実は確認できたと思います。
さらに最初に説明したとおりケリー基準の式は6種類実装しています。
デフォルトでは最もシンプルな式を試しましたが、より正式なケリー基準はf2で定義したものになります。
f0~f5のケリー基準全6パターンを一気に試していきましょう。
$ python kelly.py -i=1000 -n=1000 -t=0 -q
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 2043755.69円 (204.38万円)
・初期資金(10000円)よりも多くなった回数: 1000回 (100.00%)
・最高金額: 155016763.41円 (15501.68万円)
・最低金額: 21759.04円 (2.18万円)
・標準偏差: 5922743.43
・95%信頼区間: -9564821.43~13652332.81
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 0
f_starの計算方法: win_prob - ((1 - win_prob) / win_odds)
$ python kelly.py -i=1000 -n=1000 -t=1 -q
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 82571519.31円 (8257.15万円)
・初期資金(10000円)よりも多くなった回数: 1000回 (100.00%)
・最高金額: 1823572259.75円 (182357.23万円)
・最低金額: 264771.72円 (26.48万円)
・標準偏差: 163029331.74
・95%信頼区間: -236965970.89~402109009.51
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 1
f_starの計算方法: win_prob - loss_odds - ((1 - win_prob) / (win_odds + 1))
$ python kelly.py -i=1000 -n=1000 -t=2 -q
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 310596131127.65円 (31059613.11万円)
・初期資金(10000円)よりも多くなった回数: 1000回 (100.00%)
・最高金額: 26888260351281.72円 (2688826035.13万円)
・最低金額: 1868815.36円 (186.88万円)
・標準偏差: 1505158738595.10
・95%信頼区間: -2639514996518.75~3260707258774.04
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 2
f_starの計算方法: (win_prob * win_odds - (1 - win_prob) * loss_odds) / win_odds
$ python kelly.py -i=1000 -n=1000 -t=3 -q
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 418290344908.78円 (41829034.49万円)
・初期資金(10000円)よりも多くなった回数: 1000回 (100.00%)
・最高金額: 110806277199679.31円 (11080627719.97万円)
・最低金額: 1250525.59円 (125.05万円)
・標準偏差: 4260573119365.03
・95%信頼区間: -7932432969046.68~8769013658864.25
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 3
f_starの計算方法: (win_prob * math.log(1 + win_odds) - (1 - win_prob) * math.log(1 + loss_odds)) / math.log(1 + win_odds)
$ python kelly.py -i=1000 -n=1000 -t=4 -q
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 72577254.50円 (7257.73万円)
・初期資金(10000円)よりも多くなった回数: 1000回 (100.00%)
・最高金額: 2010911120.67円 (201091.11万円)
・最低金額: 445018.57円 (44.50万円)
・標準偏差: 140235386.26
・95%信頼区間: -202284102.58~347438611.58
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 4
f_starの計算方法: (win_prob * win_odds - (1 - win_prob) * loss_odds) / win_odds * risk_factor
$ python kelly.py -i=1000 -n=1000 -t=5 -q
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 134736439466.01円 (13473643.95万円)
・初期資金(10000円)よりも多くなった回数: 1000回 (100.00%)
・最高金額: 47804618642571.51円 (4780461864.26万円)
・最低金額: 5622632.39円 (562.26万円)
・標準偏差: 1553753651733.43
・95%信頼区間: -2910620717931.52~3180093596863.54
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 5
f_starの計算方法: min(kelly_fraction, drawdown_constraint) where drawdown_constraint = math.log(1 - max_drawdown) / math.log(1 - lおoss_odds)
なんか途中すごいバグったような数字が出ていることが確認できるでしょうか?
f0で実装していたシンプルなケリー基準は実は
「奴は四天王の中でも最弱。。」だったのです。
f0の1000回の賭けで「1万→200万円」でも結構すごいですが、
全6パターンのケリー基準実装の中で一番の成績をたたき出したのは
f3の平均の到達金額41829034.49万円。つまり4200億円です。
カイジもびっくりのドリームっぷりですね。
また、いずれのケリー基準を使ったシミュレーションでもやはり
初期資金(10000円)よりも多くなった回数: 1000回 (100.00%)
と100%の勝率になっている点に注目してください。
そして次に、最後のケリー基準ではなく、完全にランダム(当てずっぽう)でかけた場合のシミュレーション結果に刮目していただきたい。
-t=6を指定するとランダムで掛けた場合がシミュレートできます。
$ python kelly.py -i=1000 -n=1000 -t=6 -q
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 58.70円 (0.01万円)
・初期資金(10000円)よりも多くなった回数: 2回 (0.20%)
・最高金額: 17225.89円 (1.72万円)
・最低金額: 0.00円 (0.00万円)
・標準偏差: 786.50
・95%信頼区間: -1482.85~1600.25
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 6
f_starの計算方法: random.random()
最終の平均金額はなんと0.01万円、つまり100円です。
資産を1万→100円と100分の1に減らしました。
初期資金(10000円)よりも多くなった回数も1000回中「2回」と惨憺たる状態。
勝った場合は1.2倍負けた場合は0.8倍(勝つ確率も平均では50%)という一見フェアに見える賭けですが、このゲームにおいて単にあてずっぽうに賭けを繰り返した場合どうなるでしょう。
直感的には初期金額1万円に収束するのは?と感じる方も多いと思いますが、事実は異なり、実は「0円に収束する」のです。
株の世界で、単にあてずっぽうに売ったり買ったりしていると平均的には資産を減らす結果になるということがこの事実から教訓として得られます。
さらにいろいろとオプションや設定を変えて実行することで得られる教訓がまだあるのですが、長くなったので最初の記事としてはここまでとします。
なお、プログラムをよく見ていただくとわかるのですが、
実際の勝率をランダムで0.2~0.8で抽選した後、
ケリー基準に渡す際の期待値(勝つ確率)にはそれからさらに-0.2~0.2の間でランダムに上下させています。
これは、人は実際の確率(勝率)を正確には把握できず、予測(期待値)と実際の勝率はずれる、という現実をシミュレーションの世界に自分なりに取り込んだものです。
この記事ではこの細工の上でもちゃんとケリー基準で利益を得られることが確認できましたので、実装したケリー基準の関数の有効性は一定程度示せたと考えています。
今後の展望
今回の検証によって
・勝率はかならずしも100%でなくてもよく
・オッズ、期待値がある程度正確に把握きればケリー基準にしたがってトレードを繰り返せば
利益を増やせる可能性がかなり高い。
ということが証明できたと思います。
これが私の戦略のベースとなります。
この前提の上で、
狙った株の時々の上昇幅(空売りの場合は下落幅)その確率がある程度の精度で算出できれば株取引で勝てる、ということになります。
もちろん、「そこがそもそも難しいや。。」とお思いの方も多いと思いますが、今回見ていただいたように
・現実をシミュレーションの世界に(一部簡略化して)落とし込んで確かめるような手法
・実際の過去のチャート情報を使った戦略のシミュレーションテスト(=バックテスト)
などによって、各戦略の確率を計算していく予定です。
kelly.pyの注意点
なお、本シミュレーションプログラムkelly.pyにおいて
株売買の場合にかかる手数料が考慮されていない点
は結構大きな穴なので近いうちにこの点は改修します。
さらになにかツッコミどころや要望などありましたらどしどしコメントください。
これからの記事をお楽しみに。それではまた!
※2024/9/1に追記。
一回のゲームあたり、現物購入として買いと売りの二回売買手数料がかかる計算(手数料は楽天証券を参照)を入れてシミュレーションの精度を上げました。
この上でも以下のようにしっかりと1万円→2033億円と天文学的な利益が出る計算となりました。
$ python kelly.py -i=1000 -n=1000 -q -t=3
-- 統計結果 ------------------------------------------------------------
・一回のシミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 203394181615.93円 (2033.94億円)
・初期資金(10000円)よりも多くなった回数: 938回 (93.80%)
・最高金額: 10383314521207.59円 (1038331452.12万円)
・最低金額: -83796916747.95円 (-8379691.67万円)
・標準偏差: 867681472344.53
・95%信頼区間: -1497261504179.35~1904049867411.20
・1000回のシミュレーションの平均総手数料: -562321.92円
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 3
f_starの計算方法: (win_prob * math.log(1 + win_odds) - (1 - win_prob) * math.log(1 + loss_odds)) / math.log(1 + win_odds)
よし!これでOK。と思ったのですが、よく結果をみたら
成功確率が93%とまだ高いものの100%はありません。
しかも最低金額がマイナス800億円!借金地獄!
(2024/9/3追記: 資金がマイナスになっても賭けを続けられるのがおかしく、また資産がマイナスになったあとの賭けがおかしくなるバグがあったので、資産がマイナスになった後は賭けることができなくなるように修正しました。修正後の結果は最低金額:-107円というような理屈に合う結果となりました)
これは初期金額1万だと手数料比率が高すぎて、成功確率が下がってしまうということです。
初期金額を一万から10万円にプログラムを書き換えてして、再度シミュレーションしてみました。
$ python kelly.py -t=3 -i=1000 -n=1000 -q
-- 統計結果 ------------------------------------------------------------
・1シミュレーションあたりのゲーム回数: 1000回
・1000回のシミュレーションの平均最終金額: 3848700682965.89円 | 3.85兆円
・初期資金(10.00万円)よりも多くなった回数: 1000回 (100.00%)
・最高金額: 423.10兆円
・最低金額: 779.47万円
・標準偏差: 23118706095558.75
・95%信頼区間: -41463963264329.27~49161364630261.05
・1000回のシミュレーションの平均総手数料: 79.78万円
------------------------------------------------------------------------
使用したf_starの計算方法:
- f_star_type: 3
f_starの計算方法: (win_prob * math.log(1 + win_odds) - (1 - win_prob) * math.log(1 + loss_odds)) / math.log(1 + win_odds)
・初期金額10万→最終平均金額3.85兆円
・初期資金(10.00万円)よりも多くなった回数: 1000回 (100.00%)
ということでケリー基準にしたがって1000回株取引を繰り返すゲームを行うと手数料を加味しても初期金額を10万にすれば(ほぼ)100%の確率で勝てる。ということが示せたかと思います。
自己紹介
以下は私の自己紹介です