我尝试根据动量创建十分位投资组合。我在德国使用DAX。
dax <- read.csv("DAXclean.csv", header = TRUE, sep = ";", dec = ",")
as.ts(dax)
mom.return <- matrix(NA,nrow(dax),ncol(dax))
mom.decile <- matrix(NA,nrow(dax),ncol(dax))
for (row in 13:nrow(dax)) {
for (column in 2:ncol(dax)) {
mom.return[row,column] <- (dax[row-1,column]-dax[row-12,column])/dax[row-12,column]
}
mom.decile[row,column] <- ntile(mom.return[row,2:ncol(dax)], 10)
}
当我运行此代码时,我收到以下错误消息:
"Error in `[<-`(`*tmp*`, row, column, value = ntile(mom.return[row, 2:ncol(dax)], : subscript out of bounds"
如果我删除以下命令,一切正常。
mom.decile[row,column] <- ntile(mom.return[row,2:ncol(dax)], 10)
我看不出问题所在。
提前谢谢!