You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

二次优化-投资组合最大化问题中Amat、bvec参数设置疑问

quadprog中Amat与bvec的构造逻辑说明

solve.QP是quadprog包的核心求解函数,它适配的二次规划问题规则为:

最小化 $-\frac{1}{2} d^T b + b^T D b$
约束条件满足 $A^T b \geq b_0$
其中meq参数用于指定前meq个约束为等式约束,剩余约束默认是大于等于的不等式约束。

你场景中总共设置了6个约束,对应了矩阵的6行、bvec的6个取值,每个约束的含义如下:

  • 第1个约束(等式):4个资产的权重之和为1,即 $w_1 + w_2 + w_3 + w_4 = 1$,对应bvec第一个值为1,约束系数行是c(1,1,1,1)
  • 第2个约束(等式):组合期望收益等于目标值8%,即 $mu_1 w_1 + mu_2 w_2 + mu_3 w_3 + mu_4 w_4 = 8$,对应bvec第二个值为m0=8,约束系数行是mu的4个元素
  • 第3-6个约束(不等式):要求不允许卖空,每个资产权重非负,即 $w_i \geq 0, i=1,2,3,4$,对应bvec第3到6个值都是0,每个约束的系数行只有对应资产位置为1,其余为0,比如第3个约束对应c(1,0,0,0),第4个对应c(0,1,0,0),以此类推。

代码中先按行填充生成了6行4列的矩阵,每一行正好对应上述6个约束的系数,再转置得到4行6列的Amat,完全符合solve.QP对Amat的格式要求:行数等于变量数(资产数4),列数等于约束数(6)。
参数meq=2就是指定前两个约束为等式约束,和我们的问题设定完全匹配。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 06:24:04