50/50の危険なギャンブル part2 | 投資アラカルト [実践] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 実践 | 投資アラカルト | 投資に関する話題をrpnで探求!リスクテイクの世界を知ろう。

HOME > 実践 > 投資アラカルト > 50/50の危険なギャンブル part2

hatena twitter facebook rss ソーシャルブックマーク

50/50の危険なギャンブル part2

前のページに戻るLinkIcon

 コイン投げで表が出れば1円儲かり、裏が出れば1円損するギャンブルがあるとして、永遠に掛け続けると収支はどうなるのか…。さっそく、実験してみましょう。

rpnでシミュレーションするために表を1に、裏を-1としてランダムにデータを作ります。以下のようなrpn式で計算できます。

  >rpn 2 ? 1 - 2 * 1 -


最初の「2 ?」で1か2の数字をランダムに出します。次に1を引くことで0か1にします。そして、2を掛けることで0か2になるので、最後に1を引けば1か-1の数字が得られます。

  2 ?             ⇒  1 or 2
  2 ? 1 -         ⇒  0 or 1
  2 ? 1 - 2 *     ⇒  0 or 2
  2 ? 1 - 2 * 1 - ⇒ -1 or 1


rpnでコイン投げ(ギャンブル版)

 試しに前回と同じようにコインを10回投げてみましょう。

  >rpn 2 ? 1 - 2 * 1 - -r 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 sum
  0


100回試行

  >rpn 2 ? 1 - 2 * 1 - -r 100 | rpn -c sum
  4


1000回試行

  >rpn 2 ? 1 - 2 * 1 - -r 1000 | rpn -c sum
  42


どうも試行回数が多いと0から離れていくような気がします。ただし、例のごとくブレがあるでしょうから、何回か繰り返して平均を取ってみないと分かりません。

収支はある値に収束するのか

 先ほどと同じように以下の2行のrpn式を使ってブレを考察します。まずは10回の試行を100回繰り返してみましょう。

  >rpn 2 ? 1 - 2 * 1 - -r 10 | rpn -c sum >>gamble.txt
  >rpn 1 -c sleep


この2行を"gamble.bat"に100回コピーしてバッチ処理します。同じように100回の試行を100回と1000回の試行を100回繰り返してみます。ファイルの"gamble.txt"に毎回の収支結果が残されます。

10回試行、100回試行、1000回試行のそれぞれの数値を計算すると次の表にまとめられます。

                    100回繰り返す
            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 | 2222222222222222222222244444444444444444668
   0 | 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 2 ? 1 - 2 * 1 - -r 1000 | rpn -c rowacc >tmp
  >rpn 1 -c rownum <tmp | xyp -x,1000 -y-30,30 -s100,10 -w60,20 -m | npd
  ^y 30
  |
  |
  -
  |
  |
  -
  |                                                       *
  |                  **                                   ***
  |            *   *****                               ***1***
  *----|-----|**---**--*-|-----|-----|-----|-----|----****-*->
  **          ******   **                           * **     x
  |***       ** ***    ****                   **  *****
  -*****    **   *      ****** ****           *** *****
  |   ***   **          * **********        *******
  |    ***  *                **** *****   ***** **
  -      ** *                      *********    *
  |      ****                       *  ****
  |       **  <-- 破産?                 *
  |-30


最終的にはプラスになっていますが、多分初めの200回前に破産しているかもしれません。この人が何か語るとしたら…。

注釈いきなり破産だった…。身銭を貯めて勝負をかけたのに…。やっぱり、ギャンブルなんてするもんじゃないな。


今度は大富豪になった二人目の例です。

  ^y 40
  |                                                      * ***
  -                                                     *****
  |                                       ********    *****
  |                               ****   ************ ***
  -                               *********      *****
  |                          *  ***   * *           *
  -             *        *********
  |            *** *    ** ** **
  |    ***    ** ****  ***                                1000
  *-*********|*---******-|-----|-----|-----|-----|-----|----->
  ******  *****       **                                     x
  -*         *
  |
  |
  -
  |
  -
  |
  |-40


400回目くらいまでは鳴かず飛ばずですが、それから順調に資産を増やしています。この人が語ると…。

注釈最初はうまくいかなかったけど、コツを掴んで途中からは順調。やっぱり継続は力だよね。途中で止めたら絶対にダメ。ギャンブルなんて、そんなに難しくないわよ。


最後は天国と地獄を味わった三人目です。

  ^y 30                   ** *****  *          **
  |                     ******   * ***        ****
  |                   ****  *    *** **      ******
  -                  ****         *  **    ***  ****
  |           *** ** *                *   ***     **
  |           ********                *******     **
  -       ** *** *****                 ****        **
  | **** *****    * *                               *
  |******* ***                                      **
  *** * **                                           *    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 2 ? 1 - 3 * 1 - -r 1000 | rpn -c rowacc >tmp
  >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回だけが鉄則ですね。

実践投資アラカルトに戻るLinkIcon

情報最適な勝率とPFの組合せはいくらなのでしょうか。探索は尽きません。これらは講座コーナーシステムトレード講座に詳しくあります。興味のある人はご覧ください。

警告rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。

情報sleepはカレンダー・システムパッケージに同梱されています。rownum, rowaccはカンタン分析パッケージに同梱されています。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。

投資アラカルト

リスクテイクの世界を知ろう

※実践コーナーのTOP

紹介 rpnの利用シーンはこちら…

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

応用rpnアプリケーションは応用TOP

part2

リスクテイクの世界を知ろう

※実践コーナーのTOP

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

応用rpnアプリケーションは応用TOP

書籍紹介

記事に関連した書籍

本ウェブサイトで扱った話題に関連した書物で、スタッフが実際に読了したものを紹介。

書籍数学の書籍
数の世界は思ったよりもエキサイティング

書籍投資の書籍
失敗しない投資には広範囲で実践的な知識が必要

警告バックスラッシュはエンマークに読み替えて下さい(IE)。
バックスラッシュとエンマーク

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn試用版と標準版(2kリビジョン)はダブルクォートで囲って下さい。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS参照ください。

注意rpnの障害情報はこちら

警告rpn試用版の場合、複雑なプログラムや処理時間のかかるプログラムの一部には動作しないものがあるかもしれません。あくまで無料提供であることを勘案・了承ください。rpn標準版は、すべてのプログラムが動作します。