Question

Have been using the SharpeRatio.annualized() function from Performance Analytics for awhile with no problems. Lately, I have been getting the error

Error in xts(rep(Rf, length(indexseries)), order.by = indexseries) : 
  order.by requires an appropriate time-based object

when I run this:

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])

I have no problems running Return.annualized(index.ret[,1]) and sd.annualized(index.ret[,1]). Anybody else have this issue or know what I am doing wrong?

EDIT - Session Info

> 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   
Was it helpful?

Solution

I had the Systematic Investor Toolbox loaded and this was the cause of the problem.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top