【问题标题】:how to calculate portfolio return series in matlab?如何在matlab中计算投资组合收益序列?
【发布时间】:2017-01-05 06:12:40
【问题描述】:

我有资产回报矩阵(t*n)和资产权重向量(1*n),t是n个资产的obs数。如果资产回报矩阵是r(i)和资产权重向量bw(i),我想要 sum(r(i)*w(i)), i=1:n 即 at*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)=...

谢谢

【问题讨论】:

    标签: matlab portfolio


    【解决方案1】:

    您可以简单地将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
    

    【讨论】:

      猜你喜欢
      • 2015-01-28
      • 1970-01-01
      • 2017-08-17
      • 2022-01-13
      • 2020-09-26
      • 1970-01-01
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多