0

我正在努力解决 R 中的投资组合优化问题,并且我正在努力寻找关于如何使用solve.QP 对约束等进行编码的共识。

本质上,我已经计算了 n 个资产收益的协方差矩阵,我理解为 Dmat,但是,我不确定其余的。我希望我的约束纯粹是所有权重总和为 1,并且它们的绝对值必须都低于某个大小(max.allocation),即

|x_i|<max.allocation<=1. 

因此,我的想法是否正确,我的 Amat 应该是:

Amat <- matrix(1,nrow=n)
Amat <- cbind(Amat, -diag(n))

另外,我的 bvec 应该是:

bvec <- 1
bvec <- c(bvec, rep(-max.allocation,n))

我是否正确地相信,因为只有一个约束是 meq=1 的等式?最后,我的研究似乎指向:

dvec <- rep(0,n)

但如果是这样的话,资产的平均收益在哪里会出现问题呢?

我要做的只是解决投资组合权重并最小化给定投资组合回报的投资组合标准偏差,而不是绘制有效边界。

我已经看到了economyatlarge 的帖子,它把我带到了现在的位置。道歉,因为我是这种解决技术的新手,但任何有助于简化和清除我的参数需要的帮助都会有很大帮助。

谢谢。

4

1 回答 1

1

如果你想添加

|x(i)| <= U

然后quadprog你需要把它分成:

-x(i) >= -U
 x(i) >= -U

所以你最终会得到 2 个额外的对角线结构Amat

于 2017-10-07T09:07:31.237 回答