言語

S&P500インデックスのトータルリターン計算

2019年6月16日

アメリカ個別株への投資を行う際にほとんどの投資家はその銘柄のパフォーマンスをS&P500インデックス(市場平均)のそれと比較するでしょう。この記事では簡単なプログラムを用いて自力でS&P500インデックスのトータルリターンを計算します。ここでトータルリターンは配当を全て再投資した場合のリターンを指します。初期投資額を\(A_i\)とし、その後のある時点の資産価値を\(A\)とすると、トータルリターン\(R\)(%)は以下の式で定義されます。

\(R(\%)=\left(\frac{A}{A_i}-1\right) \times 100\)

準備

まずコンピュータにPythonがインストールされていることが前提になります。前回の記事を参照してPythonおよびパッケージ管理ツールpipをインストールしてください。

株価分析のためのPythonインストール

S&P500インデックスのトータルリターン

この記事ではslickchartsで利用可能なS&P500インデックスのトータルリターンの歴史データを使います。ダウンロードはこちらからです。ファイル名をhistory.csvにして保存してください。

S&P 500 Total Returns by Year Since 1926 https://www.slickcharts.com/sp500/returns

計算

以下からzipをダウンロードして解凍してSP500.pyを先ほどダウンロードしたhistory.csvと同じ場所に保存してください。プログラムはMITライセンスの下で配布します(詳しくは利用規約をご覧ください)

ある年のトータルリターンの計算はそのの前年の12月31日からのその年の12月31日で定義されます。例えば2018年のトータルリターンの計算に使われる期間は2017年12月31日から2018年12月31日です。SP500.pyを開き、以下の画像を参考にして開始年と終了年を興味のある年に書き換えて下さい。開始年の下限と終了年の上限はそれぞれ1957年と2018年です。

これで準備完了です。プログラムを実行するにはコマンドプロンプトかパワーシェルを立ち上げ、プログラムを保存したディレクトリまで移動し

python SP500.py

を実行すると、計算結果のファイルresult.csvが生成されます。あとはExcelなどで読み込めばグラフを書くことができます。

計算例

例としてリーマンショック後の2008年12月から2018年12月までのトータルリターンを計算するとおよそ250%のリターンを得ることができました。100万円の投資が約350万円になりました。

一方、投資開始年を2007年にするとトータルリターンは120%弱です。100万円の投資が220万円になり、2倍に増えたものの、投資開始年がたった一年の違うだけで100%以上のリターンの差がつきました。投資期間が10年程度の場合、そのパフォーマンスは投資開始のタイミングに大きく依存することがわかります。

python, 投資

Posted by Nishiki