我正试图将R包ROI用于一个简单的投资组合优化问题
我可以使用quadprog求解器"手动"获得结果,但我真的很想了解ROI包是如何工作的
不幸的是,我遇到了一个错误,尽管我坚持Stefan Theussl在http://statmath.wu.ac.at/courses/optimization/Presentations/ROI-2011.pdf(幻灯片26,27)
这是代码:
library(fPortfolio)
library(ROI)
data(LPP2005.RET)
lppData <- 100 * LPP2005.RET[, 1:6]
r <- mean(lppData)
foo <- Q_objective(Q = cov(lppData), L = rep(0, ncol(lppData)))
full_invest <- L_constraint(rep(1, ncol(lppData)), "==", 1)
target_return <- L_constraint(apply(lppData, 2, mean), "==",r)
op <- OP(objective = foo, constraints = rbind(full_invest, target_return))
sol <- ROI_solve(op, solver = "quadprog")
我得到的错误信息是:
(dir=="<=")|(dir=q="<")中的错误:可以执行操作仅适用于数字、逻辑或复杂类型的
谢谢你的帮助!
原来ROI quadprog插件中有一个错误,开发人员已经修复了这个错误。