使用R,我想模拟一些包含不同资产组合的可行投资组合。我想概括约束,并能够在必要时添加更多资产类。
例如,假设有4个资产类别,每个资产类别都受到以下限制:
如何模拟满足所有条件的10 000个随机投资组合(或本例中的矩阵),而不先模拟所有组合,然后丢弃那些不满足条件的组合?我也不想缩放那些不满足最后条件的投资组合。任何帮助将不胜感激!
答案 0 :(得分:1)
我不是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个变量的分布不再一致。如果您想要某个分发,则应指定您的问题。