如何在 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