首先是一个可重复的例子:
library(quantstrat)
getSymbols("AAPL")
Test<-period.apply(AAPL,endpoints(AAPL,on="weeks",k=10),ROC)
TestDF<-as.data.frame(Test)
我希望获得特定股票或其他任何x周的ROC。或者换句话说,我想比较几种股票,并将它们与10周的ROC,20周的ROC等进行排名。 显然句号适用有效,但是当我想将它转换为数据框并查看我的数据时,我总是会收到此错误:
Error in coredata.xts(x) : currently unsupported data type
任何想法都错了吗?
答案 0 :(得分:3)
period.apply
需要一个返回单行的函数。 ROC
不会返回单行。所以定义你自己的功能来做到这一点。
Test <- period.apply(AAPL, endpoints(AAPL,on="weeks",k=10),
function(x) log(last(x)/coredata(first(x))))