Python 投資信託 金融リテラシー

積立投資 ver1.1

はじめに

積立投資が流行っています。「株式市場の上げ下げに一喜一憂せず、淡々と積み立ててゆけば、知らず知らずの間に資産が増えていきます」と言う主張ですね。「だから早く始めましょう」となるとセールストーク色が濃くなってしまいますが、ここ数年は相場環境が良いので積立投資の説得力が上がっているのは事実です。そして金利がほぼゼロの状態でお金を寝かしたままでいることは勿体無いですし、老後への備えも積立投資の魅力を高めているのでしょう。

そこでPythonを使って積立投資のコードを書き、計算結果を受けて私が感じたことをまとめています。

前提条件

以下の条件で検証しています。

1.検証ファンド:eMAXIS Slim米国株式(S&P500)(JP90C000GKC6)

2.積立期間:設定日(2018年7月3日)から直近(2021年11月22日)

3.積立頻度:毎日

コード

あらかじめ投資信託協会サイトからダウンロードしたデータを使用します。

協会データを読み込んだあと、分配金修正基準価額をp1と定義し、データ系列を作成します。分配金修正基準価額は基準価額に分配金累計額を加えます。実行結果が以下です。

p1以外のカラムは不要です。見やすくするために消したらスッキリしました。

さて、毎日積み立てると積立初日2018年7月3日のお金は最終日2021年11月22日には1.858139になっているはずです(※積立初日の基準価額が10038円だったためリターン計算結果は1.858139になってしまいました。正確には1.8562です)。積み立てた日から最終日までのリターンが重要な数値です。

同様に考えると、積立5日目のリターンは18652/10121=1.842901です(下図の青枠4)。

初日と5日目だけで考えると2日間分の投資元本2は最終日には1.858139+1.842901=3.70104になります。

積立日から最終日までの825日分のリターンを集計すれば積立ての効果が計算できる事になります。下図最終行の緑で囲った825個のデータです。

コードは下です。全体行数を確認してループで1日ずつリターン計算をしています。上図で斜め線が引かれていますが、この日を基準にした最終日までのリターンを計算しています(ループをしたら負け・・・らしいのですが、良い方法が思いつきませんでした)。

投資元本825は約3年4ヶ月で1288に増加していました(年率14%)。一方、積立当日に投資元本全額825を一括で投資していれば最終日は1526(825*1.85)になっていました。これは年率では20%でした。

積立議論はどうしたら深められるのか?

今回は一括投資1526(年率20%)>積立投資1288(年率14%)>元本825という結果になりました。

この結果を受けて「で?」と思う方が多いのではないでしょうか。計算した私も「だから?」と強く感じています。一歩進んで「コツコツ積み立てることが重要。荒波に揉まれる危険もありますが、早く株式投信を始めましょう。」という主張の裏付けになるのかもしれませんが、この計算結果は一つの事例でしかありませんから一般的事実の主張の根拠としては怪しいです。

積立議論にひそむ怪しさの本質は一括投資・積立投資・元本の大小関係が安定しない事にあります。計算対象や計算期間次第で3者の大小関係は6通りも変化しますので、ここから何か普遍的な事実を導き出そうとする事自体が不可能です。

どうすれば一括、積立の議論を深められるのか・・・一つの方向性は動的なアセットアロケーションでしょう。最初から大金を持っている人は一括で買うこともできるし、機械的にコツコツと投資することもできる。さらにはタイミングを図りながらアクセントをつけた買い方もできます。するとこれは現金とリスク資産の配分比率をダイナミックに決めてゆく動的アセットアロケーションの話に広がります。

積立投資家も淡々と積立てゆく方法以外の有効な買い方もあるのではないかと考えたくなりますね。「別の有効な買い方」はまた改めて考えてみようと思います。

-Python, 投資信託, 金融リテラシー
-, , , ,