【发布时间】:2020-11-08 14:23:55
【问题描述】:
我有一个包含 250 个观察值和 584 列的 xts 系列。我在这个系列上运行一个嵌套的 for 循环。这个嵌套循环需要太多时间。我试图创建一个可重现的示例。在实际数据集上,嵌套循环花费了太多时间。请提出一些有效的方法来执行相同的嵌套循环
library(PerformanceAnalytics)
library(xts)
library(zoo)
## dataset
bsereturn<-managers
##### calculating bse_lag
bse_lag<-head(bsereturn,-1)
## calculating bse forward
bse_forward<-tail(bsereturn,-1)
## defining look back and skip period
s=12
k=1
## Empty xts to store looping results
XSMOM = bse_lag
XSMOM[1:nrow(XSMOM),1:ncol(XSMOM)] <- NA
# Compute Momentum
system.time(for (i in 1:ncol(bse_lag)){
for (t in (s + 1):nrow(bse_lag)){
XSMOM[t,i] = Return.cumulative(bse_lag[(t-s):(t-1-k),i])
}
})
【问题讨论】:
标签: r performance xts stock