已经使用 Performance Analytics 中的 SharpeRatio.annualized() 函数一段时间了,没有任何问题。最近,我一直收到错误
Error in xts(rep(Rf, length(indexseries)), order.by = indexseries) :
order.by requires an appropriate time-based object
当我运行这个:
library(PerformanceAnalytics)
library(quantmod)
myEnv <- new.env()
getSymbols(c("AAPL","GOOG"), src = "yahoo", from = "2004-04-01", to = "2012-09-30", env = myEnv)
index <- do.call(merge, c(eapply(myEnv, Ad), all=TRUE))
index.ret <- (index / lag(index,1) - 1)[-1,]
SharpeRatio.annualized(index.ret[,1])
我运行没有问题,Return.annualized(index.ret[,1])
并且sd.annualized(index.ret[,1])
. 其他人有这个问题或知道我做错了什么吗?
编辑 - 会话信息
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] quantmod_0.3-17 TTR_0.21-1 Defaults_1.1-1 PerformanceAnalytics_1.0.4.4
[5] xts_0.8-8 zoo_1.7-9
loaded via a namespace (and not attached):
[1] digest_0.5.2 evaluate_0.4.2 formatR_0.6 grid_2.15.1 knitr_0.8 lattice_0.20-10 plyr_1.7.1
[8] stringr_0.6.1 tools_2.15.1