網頁

2020年11月23日 星期一

R:股價年度報酬率計算

這篇介紹一下利用 PerformanceAnalytics 程式庫分析股價年度(月或日)報酬然後製成報表。
程式碼如下:

library(quantmod)
library(PerformanceAnalytics)
d_from <- "2010-01-01"
getSymbols("SPY", src="yahoo", from=d_from)
getSymbols("XLK", src="yahoo", from=d_from)
getSymbols("QQQ", src="yahoo", from=d_from)
getSymbols("SOXX", src="yahoo", from=d_from)
getSymbols("XLE", src="yahoo", from=d_from)

我們從 yahoo 取得 SPY(標普500)XLK(美國科技股)QQQ(納斯達克100)SOXX(費城半導體)XLE(能源類股)的資訊。

SPY_MR <- monthlyReturn(SPY)
XLK_MR <- monthlyReturn(XLK)
QQQ_MR <- monthlyReturn(QQQ)
SOX_MR <- monthlyReturn(SOXX)
XLE_MR <- monthlyReturn(XLE)

然後利用 monthlyReturn 計算月報酬率。

m1 <- merge(SPY_MR, XLK_MR, QQQ_MR, SOX_MR, XLE_MR, all = F)
colnames(m1) <- c("SPY", "XLK", "QQQ", "SOXX", "XLE")
df <- t(table.CalendarReturns(m1)); df

將上面的股價資訊合併,並轉置矩陣,執行結果如下:

我們可以看到10年來 SPY、XLK、QQQ、SOXX、XLE 的年度績效。
註:2020 只有計算到11月

也可以利用View函數將報表用表格方式呈現:
View(t(table.CalendarReturns(m1)))


沒有留言:

張貼留言