【发布时间】:2014-07-28 04:59:57
【问题描述】:
我正在尝试使用solve.QP来解决投资组合优化问题(二次问题)
总共 3 个资产
有 4 个约束:
- 权重总和等于 1
- 投资组合预期回报率等于 5.2%
- 每个资产权重大于 0
- 每个资产权重小于 0.5
Dmat 是协方差矩阵
Dmat <- matrix(c(356.25808, 12.31581, 261.8830, 212.31581, 27.24840, 18.50515, 261.88302, 18.50515,535.45960), nrow=3, ncol=3)
dvec 是每个资产的预期回报
dvec <- matrix(c(9.33, 3.33, 9.07), nrow=3, ncol=1)
Amat 是约束矩阵
A.Equality <- matrix(c(1,1,1), ncol=1)
Amat <- cbind(A.Equality, dvec, diag(3), -diag(3))
约束 A^T b >= b_0, b 向量
bvec <- c(1, 5.2, rep(0, 3), rep(-0.5, 3))
meq=2,因为有两个等式约束,所以第一个和第二个约束是等式
然后我运行函数solve.QP
library(quadprog)
qp <- solve.QP(Dmat, dvec, Amat, bvec, meq=2)
但它给出了错误
Error in solve.QP(Dmat, dvec, Amat, bvec, meq = 2) : constraints are inconsistent, no solution!
我不知道我哪里做错了。
【问题讨论】:
标签: r mathematical-optimization portfolio quadratic