R每年从数据框返回日期并关闭

时间:2012-06-05 15:55:35

标签: r quantmod

我有一个data.frame df,其中包含日期df$Date和关闭df$Close列。 我想获得年度回报,但我遇到了问题

我试过

library(quantmod)
yr <- data.frame( periodReturn(df, period='yearly', subset='2008::'))

并且还将日期作为rownames,但无法使其工作。 谢谢你的帮助。

1 个答案:

答案 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