趣味の投資とプログラミング備忘録

趣味の投資と独学の「R言語」によるプログラミングを混ぜて、なぜ投資が必要なのか、メモがてら書いていきたいと思います。投資もプログラミングも初心者という方の勉強の一助となれば幸いです。

リターンが同じであれば、リスクが小さい方が良い?【検証してみた】

結論

同じリターンであればリスクが低い方が良い!

 

導入

『同じリターンであればリスクが低い方が良い』

 

と言われていますが、実際にリスクを下げた結果に統計学的差があるといえるものなのでしょうか?

その結果、どのような良いことがあるのでしょうか?

効率的フロンティアという考え方がありますが、それは、年代によって、どのポジションが最善だったか、変わるものです。

長期投資においてはあまり追い求め過ぎない方が良いのかもしれません。

それならば、現状で最善だろう選択がしたいですね。

 

免責事項

当ブログに掲載する情報は投資勧誘を目的としたものではありません。株式などの金融商品の取引は損失を出す恐れがあります。 全て自己判断、自己責任での投資をお願いいたします。 このブログは投稿者が趣味として記載しているものであり、いかなる損失が出た場合でも責任を負うことはできません。 誤情報が入り込んだり、情報が古くなったりすることもあります。 必ずしも正確性を保証するものではありません。また合法性や安全性なども保証いたしません。 当ブログに掲載された内容によって生じた損害等の一切の責任を負いかねますので、ご了承ください。

 

検証方法

今回も「R」を用いてシミュレーションにて検証してみたいと思います。

 

まず、サンプルサイズの決定を行います。

サンプルサイズが大きいと有意差が出てしまいやすくなりますので、ある程度適当なサンプルサイズが求められます。


今回は実質t検定を行いますのでt検定サンプルサイズ数をおおよそ求められるプログラムを使います。


power.t.test(power=0.8,delta=0.1)、検出力80%、小さい差を求めるために0.1としておきました。

 

投資結果は対数正規分布に従いますが、検定を行う際に対数変換しているため、平均、標準偏差が小さくなります。

 

検証期間 40年間
投資額 毎月3.3333万円
年間リターン 7.16279%
年間リスク 15.26225%
各郡サンプルサイズ 1571

 

年間リターン、リスクを月間に直して毎月月末に投資を行うものとします
今回はVTIからもってきたデータを用いています。

 

↓リターン、リスクを算出した記事

syumino.hatenablog.com


これで検証を行います。

  1. グループA1 年間リターン 7.16279、年間リスク 15.26225 
  2. グループA2 年間リターン 7.16279、年間リスク 14.26225 
  3. グループA3 年間リターン 7.16279、年間リスク 13.26225 
  4. グループA4 年間リターン 7.16279、年間リスク 12.26225 
  5. グループA5 年間リターン 7.16279、年間リスク 11.26225 
  6. グループA6 年間リターン 7.16279、年間リスク 10.26225 

すなわち、グループ数が上がるだけリスクが小さい、という状態です。

このデータを用いて1571回正規乱数を用いたシミュレーションを行い最終結果を抽出し分布を作成します。

 

投資結果は対数正規分布になっているので、対数化を行い、正規化を行います。

その後Rの"PMCMRplus"パッケージを用いてGames-Howell検定を行い、
各グループの平均に有意な差があったのかを確認します。

たとえ、平均に差があることがわかってもどう違ったのかわからなければ意味がないので、

視覚的にわかるようにシミュレーション最終結果の対数化分布をヒストグラム化して評価を行います。
また、対数化していない最終結果を最小・最大値・平均・四分位範囲を算出してで数値的評価を行います。


結果

Fig.1 サンプルサイズ設定

f:id:HanamoriH:20210921175631p:plain

注意 これは2群間の、指定する検出力を得るためのサンプルサイズを求めるものです。今回は簡易的に使います。

 


Fig.2 Games-Howell検定結果

f:id:HanamoriH:20210921180013p:plain

グループ1~6を総当たりで確認しています。同じグループでの検証はありません。

 

Fig.3 シミュレーションの40年後の最終結果の対数化した分布

f:id:HanamoriH:20210921180247p:plain

ビンはサンプルサイズの平方根をとったもの。

 

Fig.4 シミュレーションの40年後の最終結果の分布

f:id:HanamoriH:20210921180443p:plain

ビンはサンプルサイズの平方根をとったもの。

 

Fig.5 各グループのシミュレーション最終結果と累計投資額

f:id:HanamoriH:20210921181201p:plain

Min:最小値、1st.Qu:25パーセンタイル値、median:中央値、mean:平均値、3st.Qu:75パーセンタイル値、Max:最大値

投資額:1599.984(約1600万円)

 

考察

 

Fig.1から、サンプルサイズを各群1571としましたが、もしかすると、もっと必要かもしれません。ただ、ちょうどいいデータが見当たらなかったので、今回はこれで行いました。

 

Fig.2から、今回の検証においては有意水準5%としますので、リスクが1小さいくらいだと有意差が出ていません。

リスクが2下がると有意差が出たり出なかったり、3下がると全グループ間で差が出るようです。

 

ただし、サンプルサイズの影響をもろに受けますので、サンプルサイズによっては有意差がもっと出るかもしれませんし、より出ないかもしれません。

そもそも対数化しているため、検出できていない可能性もありますね。

ただ、一応、Steel-Dwass検定もこの条件化、対数化前の分布で試しましたが、大差のない結果になっていましたので、対数化による影響というよりは、サンプルサイズに影響を受けるかと思います。

この結果から言えることは、同じリターンなのであれば、リスクは3以上小さい方がよさそうだ、ということです。

 

Fig.3より、対数化した分布のヒストグラムは形状はほぼ同じであると思われます。

違いがあるのは、リスクが小さくなるほどに、最終結果の数値幅が小さくなり、平均値の付近の出現割合が大きくなるということです。

リスクが大きいということは元本割れの確率が上がるということですが、同時に、上振れ確率にも関係があります。

リスクが小さいということは、大きな利益が手に入る確率も失うことにつながります。

 

Fig.4より、シミュレーション結果は対数正規分布です。

今回は、すべてビン数が同じになるように固定されているので、リスクが小さいほど、ビンの区間が狭まっていることがわかります。逆にリスクが大きいほど、幅広くビンが設定されます。たしかに、上振れの可能性もありますが、頻度を見る限り、大半は中央値付近になりそうです。

 

Fig.5より、リスクが下がるほどに中央値は右側へシフトしやすい、すなわち、最も出現しやすい値が、大きくなっていくことがわかります。またそれは平均値にも言えることですね。上振れがたくさん出れば平均値は上がりますが、リスクが減少してるものと比べてもさほど、平均値に差が出ていないように見えます。上振れしても下振れした分が打ち消しているということでしょうね。

Fig.2の統計結果ともそれは同じだと思います。

 

総合してみて、

リターンが同じであれば、リスクは小さい方が良いです。

長期積立投資の大前提は利益を得ること、利益が最大化しやすいことが重要だと私は思います。

リスクを小さくする選択ができるのであれば、リターンの最大化、安定化が達成しやすいと考えられます。

 

以上。

 

 

蛇足ですが、

 

正規乱数を用いた投資シミュレーション結果は対数正規分布に従うとされています。
今回の検証においては、対数化し正規近似しても形状は似ていても平均も分散も異なるため、パラメトリックの多重比較検定であるTukey検定が使えない。

 

そのため、各群の母集団分布は必ずしも正規分布でなくてもよいが、すべての群を通して分布の形状は同一であることを前提としているSteel-Dwass検定を使おうと思いました。

 

Tukey検定のノンパラメトリック版の多重比較検定であるSteel-Dwass検定ですが、そもそも今回は現実世界と異なり、シミュレーションなのでサンプルサイズは指定し放題です。

 

その結果、自由度が高すぎてサンプルサイズの決定ができず、断念しました。

 

少ないと何も有意差出ませんが、

逆に多いとリスクが同じであっても乱数のブレによっては有意差が出そうになってしまうこともありました。(元々のリスクが高いせいか、偶然か)

 

何回か検証したところ

サンプルサイズ10000程度なら1571と結果は変わらなかった。それなら少ない方が良いかなと思います。(計算コスト上。また、サンプルサイズ過剰による過小な有意差の生み出し予防)

 

逆にサンプルサイズを少し少なく1000程度にすると

リスクが5以上離れていないと有意差が出にくい感じでした。

あまり現実的じゃないような気がします。リスクが4下がっても結果に差がないとは中央値や平均を見る限り思えませんでした。

1571はまあ妥当かなと考えられます。

 

 


程よいサンプルサイズとはいくつなんだ?ということで、探したんですがうまく調べられなかったです。

とりあえず、対数化した際に、正規分布は仮定できるならパラメトリックでやるべきかと思いました。

検定するにあたって、分布を仮定できるのであれば、分布に従う検定の方が少ないサンプルサイズでも有意差が出やすいためです。

 

勿論、対数化するとデータ自体の過小評価が発生するため、精度が落ちるとは思いますが、それでも平均や分散の違いが多少起きる程度だろうと判断しGames-Howell検定を行うことにしました。

これはパラメトリック、Welchのt検定の多重比較検定バージョンです。
正規性があるが、不等分散である複数の検定ができます。

 

これも、パラメトリックの多重比較検定の場合ものがなかったのですが、簡易的にt検定のサンプルサイズ設定法で代用します。あまり良い方法でもない気もしますが、それっぽい結果が出たので今回はこれで良しとします。

どなたかやり方知っていたら教えて下さい!

 

 

付録 Steel-Dwass検定を対数化していないシミュレーションの最終分布でためしました。サンプルサイズは同様に1571です。

 

Group sizes: 1571 1571 1571 1571 1571 1571 
Using the Asymptotic method: 
 
For treatments 1 - 2, the Dwass, Steel, Critchlow-Fligner W Statistic is 2.9035. 
The smallest experimentwise error rate leading to rejection is 0.3127 .
  
For treatments 1 - 3, the Dwass, Steel, Critchlow-Fligner W Statistic is 6.4171. 
The smallest experimentwise error rate leading to rejection is 1e-04 .***
  
For treatments 1 - 4, the Dwass, Steel, Critchlow-Fligner W Statistic is 8.8069. 
The smallest experimentwise error rate leading to rejection is 7.095788e-09 .***
  
For treatments 1 - 5, the Dwass, Steel, Critchlow-Fligner W Statistic is 8.7037. 
The smallest experimentwise error rate leading to rejection is 1.127554e-08 .***

For treatments 1 - 6, the Dwass, Steel, Critchlow-Fligner W Statistic is 11.2311. 
The smallest experimentwise error rate leading to rejection is 0 .***

For treatments 2 - 3, the Dwass, Steel, Critchlow-Fligner W Statistic is 3.5503. 
The smallest experimentwise error rate leading to rejection is 0.1211 .
  
For treatments 2 - 4, the Dwass, Steel, Critchlow-Fligner W Statistic is 5.912. 
The smallest experimentwise error rate leading to rejection is 4e-04 .***
  
For treatments 2 - 5, the Dwass, Steel, Critchlow-Fligner W Statistic is 5.658. 
The smallest experimentwise error rate leading to rejection is 9e-04 .***
  
For treatments 2 - 6, the Dwass, Steel, Critchlow-Fligner W Statistic is 8.3288. 
The smallest experimentwise error rate leading to rejection is 5.809417e-08 .***
  
For treatments 3 - 4, the Dwass, Steel, Critchlow-Fligner W Statistic is 2.3644. 
The smallest experimentwise error rate leading to rejection is 0.5509 .
  
For treatments 3 - 5, the Dwass, Steel, Critchlow-Fligner W Statistic is 1.8518. 
The smallest experimentwise error rate leading to rejection is 0.7801 .
  
For treatments 3 - 6, the Dwass, Steel, Critchlow-Fligner W Statistic is 4.6382. 
The smallest experimentwise error rate leading to rejection is 0.0133 .*
  
For treatments 4 - 5, the Dwass, Steel, Critchlow-Fligner W Statistic is -0.6824. 
The smallest experimentwise error rate leading to rejection is 0.9968 .
  
For treatments 4 - 6, the Dwass, Steel, Critchlow-Fligner W Statistic is 2.2112. 
The smallest experimentwise error rate leading to rejection is 0.6231 .
  
For treatments 5 - 6, the Dwass, Steel, Critchlow-Fligner W Statistic is 3.1861. 
The smallest experimentwise error rate leading to rejection is 0.2139 .