我有一个data.frame df
,其中包含日期df$Date
和关闭df$Close
列。
我想获得年度回报,但我遇到了问题
我试过
library(quantmod)
yr <- data.frame( periodReturn(df, period='yearly', subset='2008::'))
并且还将日期作为rownames,但无法使其工作。 谢谢你的帮助。
答案 0 :(得分:2)
如果您只是转换为xts
,您的代码几乎可以使用。如果您在将data.frame
转换为xts
时遇到问题,请按照问题评论中的要求提供有关您的数据的更多信息。
getSymbols("SPY", src='yahoo', return.class='data.frame')
#[1] "SPY"
class(SPY)
#[1] "data.frame"
as.data.frame(periodReturn(xts(SPY[["SPY.Close"]], as.Date(rownames(SPY))),
'yearly', subset="2008/"))
yearly.returns
2008-12-31 -0.382805554
2009-12-31 0.234929078
2010-12-31 0.128409907
2011-12-30 -0.001988072
2012-06-04 0.020717131