こんにちは.スナフキンです!先日はAKAGAMI卍さん(@akagami_v2 https://twitter.com/akagami_v2?lang=ja)のガミラジに出演させていただきました.あのような形で多数に向けて配信するのは初めてだったので,緊張しましたがとても楽しかったです.ガミラジ本番数日前に,事前打ち合わせをしていたのですが,そのときに「ある分野で成功した人は実力で成功したのか,それとも運なのか」的な話が出ました.それ自体は「運と実力を兼ね備えている人が成功する」的なありきたりな結論で終わったのですが,個人的には割と面白い話題だと思います.
最近,仮想通貨投機界隈では,凄腕トレーダーと思われている方々によるサロンやVALUが流行っていますが,これらはSNSなどに挙げられている損益画像や普段の分析などを見た人々が,「あれだけ稼いでる/深い分析をしている人なのだから,その人が運営するコミュニティに入れば,きっとすごい情報や手法,ノウハウが得られて自分も利益が出るはずだ/利益につながる知見が得られるはずだ」という期待をもとに成り立っているわけです.要するに,凄腕トレーダーと思われている人は当然,トレードに関する実力があるはずだと人々が思っているということです.これは以前どこかで見かけたのですが,「運よく資産を大きく増やした後に(あるいはもともと資金量が多い人が),絶対に死なない低レバで深めのナンピンしていれば,高勝率である程度の額を稼げる」と言っている方もいました.
ぼく自身は,さすがにサロンやVALUで有料で情報を配信している人は,実力があるのだろうと考えているのですが,実際のところ,市場を読む能力や分析能力などの実力関係なく,全くの運だけで資産を100倍ないし200倍などにできる確率というのはどの程度あるのでしょうか.興味を持ったので検証してみます.
手法(モンテカルロシミュレーション)
この検証にはモンテカルロシミュレーションを使います.
モンテカルロ法 (モンテカルロほう、英: Monte Carlo method, MC) とはシミュレーションや数値計算を乱数を用いて行う手法の総称。元々は、中性子が物質中を動き回る様子を探るためにスタニスワフ・ウラムが考案しジョン・フォン・ノイマンにより命名された手法。カジノで有名な国家モナコ公国の4つの地区(カルティ)の1つであるモンテカルロから名付けられた。ランダム法とも呼ばれる。
(wikipediaより https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%AB%E3%83%AB%E3%83%AD%E6%B3%95)
よくわからないと思うのでもう少し簡単に例を出して説明します.ここに1つのサイコロがあるとしましょう.そのサイコロは6つの面を持っていますが,公平なサイコロとは限りません.もしかすると1が6より1.5倍出やすいかもしれないということです.さて,この公平かどうかわからないサイコロのそれぞれの目が出る確率を調べるにはどうすれば良いかといえばとても簡単です.10000回サイコロを振って,各目が出た回数を10000で割ればOKです.この,「サイコロを10000回振る」のをコンピュータ上でシミュレーションする(=乱数の発生を十分大きな回数繰り返す)ことを「モンテカルロシミュレーション」と言います.たくさん繰り返せばだいたいその事象の本来の確率に近づくだろうということですね.この試行回数を増やすことですが,コンピュータの計算能力が上がったことで最近は簡単にできるようになったというわけです.モンテカルロシミュレーションにも色々と派生があったりするのですが,今回は一番シンプルな方法を試してみます.
モンテカルロシミュレーションの順序
- 乱数を10000回とか1000000回とか十分に大きな回数生成する.
- 生成した乱数をもとに,ある事象が起こる確率を計算する
さて,上で書きましたがモンテカルロシミュレーションを行う場合には,サイコロを振る代わりにコンピュータ上で乱数を生成します.乱数とは,なんらかのアルゴリズムにしたがって計算されるがランダムに見える数字のことです.ここでは,あるトレーダーは取引を完全にランダムに行うとし,取引ごとの損益は平均0,標準偏差0.1の正規分布に従うとしましょう.(実際には金融商品のリターンは正規分布には従いませんが,このシミュレーションの目的から考えると正規分布でまあ十分でしょう)平均は0なので,手数料も考慮していない完全なゼロサム市場です.原資100万円スタートとして,1000回の取引後にこれがいくらになっているかを5万回計算します.なお,リターンで計算しているので複利を効かせてトレードすることになります.また,乱数はnumpy.random.normalのseedを0から49999まで変えて生成しています.
シミュレーション結果
以下は先ほどの条件,初期資産100万円で,リターンが標準偏差0.1平均0の正規分布に従うような1000回の取引を行うという試行を5万回繰り返したときの資産曲線です.(つまり5万本を1つのグラフにプロットしています.)

5万回シミュレーションしたときの資産曲線(初期資産100万円=10の6乗円からの推移)
グラフを見ると,初期資産100万円から資産を減らしている人が多いことがわかります.このグラフだとごちゃごちゃしていて,最終資産が初期資産に対してどれぐらい増えたのか分かりづらいので,最終資産/初期資産=資産倍率を計算してヒストグラムにしたものを見てみましょう.
以下は,資産倍率の範囲を10000倍以内,10倍以内,1倍以内(元本割れ)と変えて描いたヒストグラムです.
倍率1000倍超のスーパートレーダーが4人ほどいるのが分かります.また,倍率別の割合(抜粋)は以下のようになりました.
- 1倍未満=元本割れ→94.5%
- 1倍以上100倍以下→5.3%
- 100倍以上→0.1%(1000人に1人ぐらい)
- 1000倍以上→0.01%未満(10000人に1人ぐらい)
ここで面白い点は,ゼロサム市場において
- 1000人に1人ぐらいはランダムに取引しても,抜群に運が良ければ資産が100倍程度(=100万スタートで1億)にはなる.
- 95%の人は元本割れの負け組になる.
ということです.
1については多いのか少ないのかは読者の判断に任せます.ただ,事実として1000人に1人ぐらいはランダムにトレードして資産100倍になるというのは面白いことですし,運で資産1億というのは十分に達成可能(宝くじに当たるよりは100万スタートで1億になる確率の方がずっと高い)なのだと思います.凄腕トレーダーと言われる方々がそうであるなどと言うつもりは全くなく,その程度の割合で資産100倍という現象が発生するよという事実をお伝えし,ぼく自身や皆さんがその上で色んな情報を判断できるようになったらいいなと思っているだけです.
2の元本割れ組が95%というのも非常に面白いです.投資で勝ち組は5%などとよく言われますが,これには理由があって,複利でトレードするということは,1度元本割れしてしまうと元本まで資産を戻すために努力を要することが原因です.極端な例で説明すると,1度資金の50%のマイナスを食らったら,もとに戻すためには100%のリターンを必要とするということです.この理由から,最終資産が元本の1倍よりも小さくなる人が圧倒的に多くなります.生き残って資産を減らさない=致命的な損失を被らないことの大切さがよく分かります.
結論
- 1000人に1人ぐらいはランダムに取引しても,抜群に運が良ければ資産が100倍程度(=100万スタートで1億)にはなるので,運で資産100倍というのは十分にあり得る確率である.
- 95%の人は元本割れの負け組になる.複利を効かせてトレードする場合には,致命的な損失を被らないことが非常に重要である.
おまけ:SFD発動時はどうなるか?
これもちょっとした好奇心で試してみたのですが,SFDが発動しているとき=-0.25%のマイナスサムゲームのときはどのようなヒストグラムになるか検証してみました.平均-0.0025,標準偏差0.1の正規分布を使います.計算時間を短縮するためにこれについては10000回のシミュレーションとします.
大きなリターンを得るトレーダーがずいぶん減ってしまったように見えます.実際に計算してみると,元本割れトレーダーが99%になってしまいました.たった0.25%のマイナスサムでもこれほどに影響があることが分かりました.競馬や競艇などの公営ギャンブルやパチンコがいかに客が不利な状況で戦っているかよく分かりますね.