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

how to calculate portfolio return series in matlab?

我有资产return矩阵(t*n)和资产权重向量(1*n),其中t是n的obs数量asset.if资产return矩阵是r (i) 和资产权重向量 b w(i),我想要 sum(r(i)*w(i)),i=1:n 即 t*1 matrix.how 我可以在 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)=...

谢谢

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

x * w.'    
ans =

    0.1740
    0.1320
    0.1680
    0.1660

否则,如果你想练习bsxfun:

使用bsxfun to take the product of x and w for each column, and sum(.., 2)沿着第二个维度求和,像这样:

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

    0.1740
    0.1320
    0.1680
    0.1660