開始使用免費開始

探索 S&P 500 的月度報酬

在接下來的練習中,你會檢視 S&P 500 的月度表現。圖像往往比文字更有說服力,因此多數績效分析都會先從投資價值的時間序列圖著手。

右側顯示的是 S&P 500 自 1986 年到 2016 年 8 月的走勢圖。圖上的每個觀測值都是每日收盤價。這張圖可以看到多次的上漲與下跌。看著這張圖,你是否理解為什麼 2000 年代常被稱為投資的「失落十年」?

PerformanceAnalyticsxts 套件都已預先載入,S&P 500 的每日價格已以變數 sp500 放在你的工作空間中。這個變數屬於 xts 時間序列類別,也就是每筆觀測都有時間戳記。你的任務是描述 S&P 500 的月度表現。為了達成這個目標,你需要先把每日價格彙總為每月底的價格,再計算月報酬,最後用表格將結果視覺化。

本練習屬於課程

R 投資組合分析入門

檢視課程

練習說明

  • 使用函式 to.monthly()sp500 作為引數,並指定給 sp500_monthly
  • 列印 sp500_monthly 的前 6 列。注意彙總後的資料表共有 4 欄,分別是每月的開盤價、最低價、最高價與收盤價。
  • 使用 Return.calculate()sp500_monthly 的「收盤價」(sp500_monthly 的第 4 欄)計算月報酬,並指派為 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
編輯並執行程式碼