小编use*_*379的帖子

r - 投资组合优化 - solve.QP - 约束条件不一致

我试图使用solve.QP来解决投资组合优化问题(二次问题)

共3项资产

有4个限制:

  1. 权重之和等于1
  2. 投资组合预期收益率等于5.2%
  3. 每个资产权重大于0
  4. 每个资产权重小于.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)
Run Code Online (Sandbox Code Playgroud)

dvec是每项资产的预期回报

dvec <- matrix(c(9.33, 3.33, 9.07), nrow=3, ncol=1)
Run Code Online (Sandbox Code Playgroud)

Amat是约束矩阵

A.Equality <- matrix(c(1,1,1), ncol=1)
Amat <- cbind(A.Equality, dvec, diag(3), -diag(3))
Run Code Online (Sandbox Code Playgroud)

约束A ^ T b> = b_0,b向量

bvec <- c(1, 5.2, rep(0, 3), rep(-0.5, 3))
Run Code Online (Sandbox Code Playgroud)

meq = 2,因为有两个相等约束,第一和第二约束是相等的

然后我运行函数solve.QP

library(quadprog)
qp <- solve.QP(Dmat, dvec, Amat, bvec, meq=2)
Run Code Online (Sandbox Code Playgroud)

但它给出了错误

Error in solve.QP(Dmat, dvec, Amat, bvec, meq = 2) : constraints are inconsistent, no …
Run Code Online (Sandbox Code Playgroud)

portfolio r mathematical-optimization quadratic

9
推荐指数
1
解决办法
1万
查看次数