4

我正在尝试将 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 = "<") : 操作只能用于数字、逻辑或复杂类型

谢谢你的帮助!

4

1 回答 1

2

事实证明,ROI quadprog 插件中有一个错误,已由开发人员修复。

于 2012-03-02T11:46:45.550 回答