LoginSign up
文档首页

投资组合优化

在「持仓数量」约束下,从一篮子资产中挑选出预期收益最高的组合。这是典型的基数约束 0/1 优化问题:约束本身把变量两两耦合,使得简单的贪心选择不再最优。

请求参数

字段说明
problem"portfolio"
items资产数组,每项 {name, value},value 为预期收益(如年化 %)
pick持仓数量,求解器必须正好选出这么多只

请求示例

{
  "problem": "portfolio",
  "engine": "cpu",
  "params": {
    "items": [
      {"name": "资产A", "value": 12.5},
      {"name": "资产B", "value": 9.0},
      {"name": "资产C", "value": 8.2},
      {"name": "资产D", "value": 6.5}
    ],
    "pick": 2
  }
}

返回示例

{
  "summary": {
    "selected": [{"name": "资产A", "ret": 12.5}, {"name": "资产C", "ret": 8.2}],
    "totalReturn": 20.7,
    "constraintOk": true
  }
}

要点

  • pick 越接近资产总数,约束越宽松;恰好一半时组合数最多,最考验求解器。
  • 可把 value 设为「收益 − 风险惩罚」的综合分,实现风险调整后的选择。