如何在matlab中计算投资组合回报系列?

时间:2016-08-29 09:09:57

标签: matlab portfolio

我有资产收益矩阵(t * n)和资产权重向量(1 * n),t是n资产的obs数。如果资产收益矩阵是r(i)和资产权重向量bw(i),我想要求和(r(i)* w(i)),i = 1:n是* 1矩阵。我可以在MATLAB中计算它吗?

示例:

x =

0.1400    0.2100    0.1800
0.1100    0.1200    0.1500
0.1700    0.1600    0.1700
0.1800    0.2100    0.1400

w =

0.3000    0.2000    0.5000    

然后我想要这个矩阵:

R(1,1)=(0.14*0.3)+(0.21*0.2)+(0.18*0.5)=?

R(2,1)=(0.11*0.3)+(0.12*0.2)+(0.15*0.5)=?

R(3,1)=...

R(4,1)=...

感谢

1 个答案:

答案 0 :(得分:0)

您可以简单地将x乘以w转置。请注意,.'是转置,而不是'。所以,你想要的只是:

x * w.'    
ans =

    0.1740
    0.1320
    0.1680
    0.1660

否则,如果您想练习bsxfun

使用bsxfun为每列提取xw的产品,并使用sum(.., 2)对第二维进行求和,如下所示:

sum(bsxfun(@times, x, w),2)
ans =

    0.1740
    0.1320
    0.1680
    0.1660