我正在努力解决投资组合优化问题,我希望在没有卖空限制的情况下最大化4种资产的风险/回报,权重之和应该等于1.其中两种资产是S& P500(W1)和日经225(W2)货币对冲英镑,另外两只也是S& P500(W3)和日经225(W4),但这次货币未对冲英镑。我想知道的是权重,它定义了货币对冲的水平,并最大化了每种资产的回报/风险。所以权重应遵循以下约束:w1 + w3 = 0.5,w2 + w4 = 0.5,w1 + w2 + w3 + 4 = 1,w1 =(1-w3),w2 =(1-w4)和w1到w4 > = 0。我过去一直在使用quadprog并且有几行代码可以在没有卖空的情况下最大化风险/回报,并且可以从之前的帖子/问题Portfolio Optimisation Under Constraint获得最大范围。所以我理解如何对大部分内容进行编程我不确定如何正确编码bVec中的补充约束,即w1 =(1-w3)& w2 =(1-w4))。我假设可以通过在代码中重新编程bVec< - c(1,min_A,0,-max_A,-1)来完成,但我不确定如何做到这一点.... 任何帮助/线索都赞赏......