模拟受多重约束的投资组合权重

Simulating portfolio weights subject to multiple constraints

我想使用 R 模拟一些包含不同资产组合的可行投资组合。我想概括这些约束,并能够在必要时添加更多资产 类。

例如,假设有 4 个资产 类,每个资产都受以下约束:

如何模拟 10 000 个满足所有这些条件的随机投资组合(或本例中的矩阵),而不是先模拟所有组合,然后丢弃不满足条件的组合?我也不想扩展不满足最后一个条件的投资组合。任何帮助将不胜感激!

我不是 100% 确定你想要什么。如果您想要具有上述限制的有效资产分配,这将起作用:

n=10000
x1=runif(n, min = 0, max = 0.5)
x2=runif(n, min = 0, max = 0.3)
x3=runif(n, min = 0, max = 0.5)
index=(x1+x2+x3)>1
while(sum(index)>0){
  x1[index]=runif(sum(index), min = 0, max = 0.5)
  x2[index]=runif(sum(index), min = 0, max = 0.3)
  x3[index]=runif(sum(index), min = 0, max = 0.5)

  index=(x1+x2+x3)>1
}
x4=rep(1,n)-x1-x2-x3

然而,4个变量的分布不再均匀。如果你想要某个分布,你应该指定你的问题。