- 前提
- シミュレーションの条件とか
- 条件と結果
- 条件を超えて見られる傾向
- シミュレーションに使ったJupyter Notebookの中身や結果など
前提
まず大前提。ヘッジファンドなどの、株の投機家について。
「この株は上がる!」と、何かしらの理由で確信が持てる銘柄は、レバレッジをかけてできるだけ多く買って、ガチホするべきだ。
「この株は下がる!」と何かしらの理由で確信が持てる場合は空売り一択。
問題は、「上がるか下がるかわからない場合」である。基本的に、確信を持てる場合は滅多にないはずだ。基本的には、安い時に勝って高い時に売れば、理屈上は利益が出ることになっている。そこで、定期的に「前期より下がったら買い、前期より上がったら売る」という売買を行うエージェントを想定し、シミュレーションを行う。
シミュレーションの条件とか
シミュレーションの対象となる戦略は2種類を用意する。一つは借入せずに預金と株を売買する場合。もう一つは預金の調達に借り入れを用いることも辞さない場合。どちらの場合が、株の現物を持ち続ける場合と比べて良い成績を出しやすいのか、試してみる。
・いずれのシミュレーションでも、市場の株価はランダムウォークする設定にした。前期と比べた倍率の対数が、正規分布するようにしている。
・エージェントは「前期より下がったら買い、前期より上がったら売る」という戦術を取り続ける。
・借入禁止バージョンでは、預金は0以上で推移する。借入も辞さないバージョンでは、預金は”-0.7×保有する株の評価額”以上で推移する。預金がマイナスになるとはつまり借入しているということだ。借入しているときは預金は0、預金が0以上の時は借入は0、という条件で縛ることにする。
・シミュレーションの対象となるプレイヤーの規模が市場に対して十分に小さく、プレイヤーの売買が市場の株価に影響を及ぼさないという想定をとることとする。
・税や金利は存在しないものとする。
・預金がプラスの時は、借入禁止バージョンも辞さないバージョンも、同じ戦略をとる。
・成績の良し悪しは、純資産の比較により行う。純資産=預金+株ー借入。
・市場の株価だけ、縦軸のスケールが異なる。
条件と結果
借入OKのときとNGの時では、どちらのほうが好成績を出しやすいのだろうか?
・株価が上がりにくい設定、株価が上がりやすい設定、株価が上がりやすい時期と下がりやすい時期がある設定の3種類
・株価が下がったときに多く買い、株価が上がった時に少なく売る設定と、それほどでもない設定の2種類
3×2=6種類について、株価・借入OKの戦略・借入NG戦略を、一万回づつ試してみたので、結果を見てみよう。同じ列のグラフは同じ市場の動きである。
①株価が上がりにくい設定
・借入初期値0、預金初期値0、所持する株の評価額初期値1
最初に10回分のシミュレーション結果のグラフを示す。市場の株価が黒(これだけは他と縦軸のスケールが違う)、オレンジが借入(借入が多いほどマイナス)、緑が預金、青が資産(=預金+保有する株)、茶色が保有する株、灰色が純資産(=預金+株ー借入)、である。右の列が借入禁止バージョン、左の列が借入可能バージョンの推移。
同様のシミュレーションを1万回行った。
・株価の倍率=株価の最終値/株価の初期値
・ローンあり戦略の純資産の倍率=ローンあり戦略の純資産の最終値/ローンあり戦略の純資産の初期値
・ローンなし戦略の純資産の倍率=ローンなし戦略の純資産の最終値/ローンなし戦略の純資産の初期値
・ローンあり戦略における、純資産倍率/株価倍率=ローンあり戦略の純資産の倍率/株価の倍率
・ローンなし戦略における、純資産倍率/株価倍率=ローンなし戦略の純資産の倍率/株価の倍率
の分布をヒストグラムにするとこのようになった。
株価の倍率と、ローンあり戦略の純資産の倍率と、ローンなし戦略の純資産の倍率を、毎回のシミュレーションで大きい順に順位付けし、その分布を表にまとめたものがこちら
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 | 306 | 9604 | 90 |
2位 | 1988 | 347 | 7665 |
3位 | 7706 | 49 | 2245 |
・借入初期値0、預金初期値1、所持する株の評価額初期値0
今度は、株を持っていなくてこれから預金を切り崩して株を買い始める場合を見てみる。上と同様、まずは10回分のシミュレーション結果のグラフを示す。市場の株価が黒(これだけは他と縦軸のスケールが違う)、オレンジが借入(借入が多いほどマイナス)、緑が預金、青が資産(=預金+保有する株)、茶色が保有する株、灰色が純資産(=預金+株ー借入)、である。右の列が借入禁止バージョン、左の列が借入可能バージョンの推移。
同様のシミュレーションを1万回行った。
・株価の倍率
・ローンあり戦略の純資産の倍率
・ローンなし戦略の純資産の倍率
・ローンあり戦略における、純資産倍率/株価倍率
・ローンなし戦略における、純資産倍率/株価倍率
の分布をヒストグラムにするとこのようになった。
株価の倍率と、ローンあり戦略の純資産の倍率と、ローンなし戦略の純資産の倍率を、毎回のシミュレーションで大きい順に順位付けし、その分布を表にまとめたものがこちら
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 | 3012 | 36314 | 674 |
2位 | 7727 | 3277 | 28996 |
3位 | 29261 | 409 | 10330 |
②株価が上がりにくい設定+①よりも株価が下がったときに多く買い、株価が上がった時に少なく売る設定
②以降は、①の時のように説明は書かない。グラフと表だけ貼っていく。
・借入初期値0、預金初期値0、所持する株の評価額初期値1
株価の倍率 | ローン許可倍率 | ローン禁止倍率 | |
1位 | 6 | 10064 | 30 |
2位 | 2411 | 9 | 7680 |
3位 | 7683 | 27 | 2390 |
・借入初期値0、預金初期値1、所持する株の評価額初期値0
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 | 120 | 49784 | 196 |
2位 | 14117 | 128 | 35855 |
3位 | 35863 | 188 | 14049 |
③株価が上がりやすい設定
・借入初期値0、預金初期値0、所持する株の評価額初期値1
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 |
5027 | 5068 | 5 |
2位 | 3398 | 5000 | 1702 |
3位 | 1675 | 32 | 8393 |
・借入初期値0、預金初期値1、所持する株の評価額初期値0
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 | 30104 | 19953 | 43 |
2位 | 12391 | 29808 | 7901 |
3位 | 7605 | 339 | 42156 |
④株価が上がりやすい設定+③よりも株価が下がったときに多く買い、株価が上がった時に少なく売る設定
・借入初期値0、預金初期値0、所持する株の評価額初期値1
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 | 0 | 10000 | 0 |
2位 | 7761 | 0 | 2239 |
3位 | 2239 | 0 | 7761 |
・借入初期値0、預金初期値1、所持する株の評価額初期値0
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 | 171 | 49826 | 3 |
2位 | 38543 | 161 | 11296 |
3位 | 11286 | 13 | 38701 |
⑤株価が上がりやすい時期と上がりにくい時期がある設定
中間点前後1割が、株価が下がりやすい期間。残りは上がりやすい期間。
・借入初期値0、預金初期値0、所持する株の評価額初期値1
株価の倍率 | ローン可能倍率 | ランク禁止倍率 | |
1位 | 1643 | 8391 | 66 |
2位 | 4991 | 1593 | 3516 |
3位 | 3466 | 116 | 6518 |
・借入初期値0、預金初期値1、所持する株の評価額初期値0
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 | 14326 | 35410 | 364 |
2位 | 20526 | 13876 | 15698 |
3位 | 15248 | 814 | 34038 |
⑥株価が上がりやすい時期と上がりにくい時期がある設定+⑤よりも株価が下がったときに多く買い、株価が上がった時に少なく売る設定
・借入初期値0、預金初期値0、所持する株の評価額初期値1
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 | 241 | 9783 | 176 |
2位 | 5915 | 81 | 4204 |
3位 | 4044 | 336 | 5820 |
・借入初期値0、預金初期値1、所持する株の評価額初期値0
株価の倍率 | ローン可能倍率 | ローン禁止倍率 | |
1位 | 2515 | 46800 | 885 |
2位 | 29542 | 1232 | 19426 |
3位 | 18143 | 2168 | 29889 |
条件を超えて見られる傾向
・多くの条件下で、純借入を辞さないエージェントのほうが、預金の範囲内で売買するエージェントよりも好成績を残す傾向がある。(この傾向が逆転するのは、株価下げトレンドが続くとき。株資産の価格の7割までしか借入できないようにしたので、債務不履行は発生しないが、現実世界ではそうもいかないだろう。)
・借り入れを辞さず、株価が下がったときに大きく買い、株価が上がった時に消極的に売るエージェントは、株価が上昇トレンドの時期に好成績になる。このようなエージェントは株価下降トレンドの時期にひどい成績を出しそうで、実際それは概ね正しいが、資産価格が借入額より大きい状態を維持する限り、直感的な印象ほど脆弱でない。借入の増加は所有する株式の部数の増加を伴う。事実上レバレッジをかけているのだ。レバレッジが大きくなってから株価が上昇し始めると、とても大きなリターンになりうる。そのことが今回のシミュレーションの結果に表れている。
シミュレーションに使ったJupyter Notebookの中身や結果など
最後に、シミュレーションのコードへのリンクを貼っておく。ディレクトリの意味とかどのファイルが何とか説明しない徹底した不親切だが、万が一興味があればどうぞ。