2016-08-29 3 views
0

私は、資産回収行列をr(i)、資産重みベクトルをbw(i)とすると、tはn資産のobsの数である資産リターン行列(t * n)と資産重みベクトル(1 * n) 1つの行列にあるsum(r(i)* w(i))、i = 1:nが必要です。MATLABで計算できますか?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)=... 

おかげ

答えて

0

あなたは単に転置wxを掛けることができます。 .'は転置記号であり、'ではありません。だから、何がしたいことは、単純です:

x * w.'  
ans = 

    0.1740 
    0.1320 
    0.1680 
    0.1660 

そうでない場合、あなたはbsxfunの練習をしたい場合:

使用bsxfunを一緒に合計するxと各列のw、およびsum(.., 2)の製品を取るために2番目の次元は次のようになります。

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

    0.1740 
    0.1320 
    0.1680 
    0.1660 
関連する問題