始める無料で始める

S&P 500 の月次リターンを探る

これからの演習では、S&P 500 の月次パフォーマンスを確認します。百聞は一見にしかず。多くのパフォーマンス分析が、まず投資価値の時系列プロットから始まるのはそのためです。

右側には、1986年から2016年8月までの S&P 500 のプロットが表示されています。各プロット点は日中の終値です。チャートにはいくつものブームとバストが見られます。チャートを眺めて、2000年代が投資の「失われた10年」と呼ばれる理由を感じられるでしょうか?

PerformanceAnalyticsxts パッケージはあらかじめ読み込まれており、S&P 500 の日次価格はワークスペース内の変数 sp500 として利用できます。この変数は xts 時系列クラスで、各観測値にタイムスタンプがあります。ここでの目的は、S&P 500 の月次パフォーマンスを記述することです。そのために、まず日次の価格系列を月末の価格へと集計します。次に月次リターンを計算し、テーブルで可視化します。

この演習はコースの一部です

Rで学ぶポートフォリオ分析入門

コースを見る

演習の手順

  • 関数 to.monthly() に引数 sp500 を与えて実行し、結果を sp500_monthly に代入します。
  • sp500_monthly の先頭6行を表示します。集計により、各月の始値・安値・高値・終値の4列からなる表になっていることに注目してください。
  • sp500_monthly の「終値」(sp500_monthly の4列目)を使って、関数 Return.calculate()sp500_returns を作成します。
  • plot.zoo() を使って sp500_returns の時系列をプロットします。
  • PerformanceAnalytics の関数 table.CalendarReturns() を使い、年×月の形式で月次リターンを表にまとめて表示します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Convert the daily frequency of sp500 to monthly frequency: sp500_monthly
sp500_monthly <- 

# Print the first six rows of sp500_monthly


# Create sp500_returns using Return.calculate using the closing prices
sp500_returns <- 

# Time series plot


# Produce the year x month table
コードを編集して実行