探索 S&P 500 的月度報酬
在接下來的練習中,你會檢視 S&P 500 的月度表現。圖像往往比文字更有說服力,因此多數績效分析都會先從投資價值的時間序列圖著手。
右側顯示的是 S&P 500 自 1986 年到 2016 年 8 月的走勢圖。圖上的每個觀測值都是每日收盤價。這張圖可以看到多次的上漲與下跌。看著這張圖,你是否理解為什麼 2000 年代常被稱為投資的「失落十年」?
PerformanceAnalytics 與 xts 套件都已預先載入,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