50/50の危険なギャンブル part2
コイン投げで表が出れば1円儲かり、裏が出れば1円損するギャンブルがあるとして、永遠に掛け続けると収支はどうなるのか…。さっそく、実験してみましょう。
rpnでシミュレーションするために表を1に、裏を-1としてランダムにデータを作ります。以下のようなrpn式で計算できます。
最初の「2 ?」で1か2の数字をランダムに出します。次に1を引くことで0か1にします。そして、2を掛けることで0か2になるので、最後に1を引けば1か-1の数字が得られます。
2 ? 1 - ⇒ 0 or 1
2 ? 1 - 2 * ⇒ 0 or 2
2 ? 1 - 2 * 1 - ⇒ -1 or 1
rpnでコイン投げ(ギャンブル版)
試しに前回と同じようにコインを10回投げてみましょう。
-1
-1
1
1
1
1
-1
1
-1
-1
今度は表が1で裏が-1になっているので、そのまま合計すれば収支が計算できます。つまり、表が6回で裏が4回なら差し引き6-4で+2円の利益というわけです。
これで繰り返し数次第で、すぐに収支がどのようになるか分かります。試しに10回、100回、1000回と繰り返してみましょう。
10回試行
>rpn 2 ? 1 - 2 * 1 - -r 10 | rpn -c sum0
100回試行
>rpn 2 ? 1 - 2 * 1 - -r 100 | rpn -c sum4
1000回試行
>rpn 2 ? 1 - 2 * 1 - -r 1000 | rpn -c sum42
どうも試行回数が多いと0から離れていくような気がします。ただし、例のごとくブレがあるでしょうから、何回か繰り返して平均を取ってみないと分かりません。
収支はある値に収束するのか
先ほどと同じように以下の2行のrpn式を使ってブレを考察します。まずは10回の試行を100回繰り返してみましょう。
>rpn 1 -c sleep
この2行を"gamble.bat"に100回コピーしてバッチ処理します。同じように100回の試行を100回と1000回の試行を100回繰り返してみます。ファイルの"gamble.txt"に毎回の収支結果が残されます。
10回試行、100回試行、1000回試行のそれぞれの数値を計算すると次の表にまとめられます。
10回試行 100回試行 1000回試行
================================
収支平均 -0.12 1.1 -4.22
最大収支 6 26 74
最小収支 -8 -24 -78
範囲 14 50 152
変動係数 -26.9 9.6 -6.6
変動係数こそ収まってきている様子がありますが、試行を繰り返せば繰り返すほど、0に収束(収支トントン)どころかますます離れていきますね。最大と最小の範囲も拡大していきます。
幹葉表示も記しておきます。
10回試行
-0 | 22222222222222222222222444444444444444446680 | 000000000000000000000002222222222222222444444444666666666
100回試行
-2 | 4-1 | 00022444466888
-0 | 00000022222444444444444666668888888
0 | 00000022444444444666666888 ・・・・・・・・・・・・・・・・・ 収支トントン
1 | 0000024444466666666
2 | 00266
1000回試行
-7 | 8 ^-6 | 0 | 破産?
-5 | 048 |
-4 | 2248
-3 | 0002246
-2 | 0002224466688
-1 | 0000022224444668888
-0 | 0266668888
0 | 00224688888 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 収支トントン
1 | 0002222466888888
2 | 02448
3 | 2488
4 | 4
5 | 268 |
6 | | 大金持ち
7 | 24 v
100人がこのギャンブルを1000回繰り返したとして、収支の結果は上に記した1000回試行の幹葉表示のようになります。あなたがそのうちの1人とすると、釣鐘型の分布の中のどれか1つになるというわけです。
もしかしたら、大金持ちになるかもしれませんし、破産するかもしれません。大金持ちは掛け金1円の74倍。破産は掛け金の-78倍です。
大金持ちor破産までの道のり
この100人のうちの何人かをピックアップして、1000回試行中の収支過程(資産曲線と言います)をグラフ化してみましょう。まず、一人目です。
>rpn 1 -c rownum <tmp | xyp -x,1000 -y-30,30 -s100,10 -w60,20 -m | npd
^y 30
|
|
-
|
|
-
| *
| ** ***
| * ***** ***1***
*----|-----|**---**--*-|-----|-----|-----|-----|----****-*->
** ****** ** * ** x
|*** ** *** **** ** *****
-***** ** * ****** **** *** *****
| *** ** * ********** *******
| *** * **** ***** ***** **
- ** * ********* *
| **** * ****
| ** <-- 破産? *
|-30
最終的にはプラスになっていますが、多分初めの200回前に破産しているかもしれません。この人が何か語るとしたら…。
いきなり破産だった…。身銭を貯めて勝負をかけたのに…。やっぱり、ギャンブルなんてするもんじゃないな。
今度は大富豪になった二人目の例です。
| * ***
- *****
| ******** *****
| **** ************ ***
- ********* *****
| * *** * * *
- * *********
| *** * ** ** **
| *** ** **** *** 1000
*-*********|*---******-|-----|-----|-----|-----|-----|----->
****** ***** ** x
-* *
|
|
-
|
-
|
|-40
400回目くらいまでは鳴かず飛ばずですが、それから順調に資産を増やしています。この人が語ると…。
最初はうまくいかなかったけど、コツを掴んで途中からは順調。やっぱり継続は力だよね。途中で止めたら絶対にダメ。ギャンブルなんて、そんなに難しくないわよ。
最後は天国と地獄を味わった三人目です。
| ****** * *** ****
| **** * *** ** ******
- **** * ** *** ****
| *** ** * * *** **
| ******** ******* **
- ** *** ***** **** **
| **** ***** * * *
|******* *** **
*** * ** * 1000
**---|*----|-----|-----|-----|-----|-----|-----|---***----->
|o ***** x
| * ****
- ***
| **
| **
- **
|
|
|-30
右肩上がりに資産が増えていきましたが、後半は波乱万丈です。そして、その語り口は…。
勝利の女神が付いていると思っていたよ。でも、途中で一度、資産を減らしたんだ。頑張って取り返したんだけど、最後に怒涛の負け連発さ。何とか回復しようと、もがくうちにいつの間にかマイナスになって、最後は破産だよ。途中で止めておけばなぁ…。
みんな同じ仕組みのギャンブルで、みんな同じフィフティ・フィフティに賭けました。でも、このように人それぞれの結末を迎えています。1000回試行の幹葉表示の数字の積み上げが100人のギャンブル人生の集約に思えてきます。
フィフティ・フィフティは勝率0.5、PF1.0のギャンブル
実はこのギャンブルは勝率0.5、PF1.0のゲームです。この勝率とPFですが、まず儲けは残らない組合せです。余暇としてのギャンプルではなく、勝ちたいのなら資産が残る勝率とPFの組合せでなければいけません。
PFはプロフィットファクターの略で利益と損失の割合です。PF1.0なら勝った時の金額と負けた時の金額が同じです。対して、勝った時は負けた時の2倍儲かるならPF2.0になるわけす。ちなみに負けた時に勝った時の倍を損するならPF0.5です。
でも、勝率とPFの違いくらいで、そんなに変わるものでしょうか。例えば、勝率0.5で、PF2.0だったらどうなるでしょう。シミュレーションするにはrpn式を僅かに変更するだけで済みます。
>rpn 1 -c rownum <tmp | xyp -x,1000 -y-500,500 -s100,100 -w60,20 -m | npd
^y 500 **
| *****
- ******
| *****
- *******
| ******
- *********
| ********** 理想的な資産曲線
- *************
****** 1000
*----|-----|-----|-----|-----|-----|-----|-----|-----|----->
|o x
-
|
-
|
-
|
-
|-500
一時的な資産の目減りもなく、全く危なげのない資産曲線です。結局、最終的に勝ち組になるには、儲けの残る勝率とPFの組合せを持つギャンブルを長く続けることに尽きます。
フィフティ・フィフティでギャンブルするなら少額を1回だけが鉄則ですね。
最適な勝率とPFの組合せはいくらなのでしょうか。探索は尽きません。これらは講座コーナーのシステムトレード講座に詳しくあります。興味のある人はご覧ください。
rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。
sleepはカレンダー・システムパッケージに同梱されています。rownum, rowaccはカンタン分析パッケージに同梱されています。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。