基本的ntile函数来创建十分位投资组合

时间:2018-02-15 14:00:11

标签: r finance quantitative-finance

https://imgur.com/a/O1O9G

我尝试根据动量创建十分位投资组合。我在德国使用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)

我看不出问题所在。

提前谢谢!

0 个答案:

没有答案