Asked by Kevin van Berkel
on 2 May 2013

Hi guys,

I am probably doing something utterly silly which holds me back from retrieving the desired results.

I have two matrices: Matrix(A), which is a vector containing returns from three risky assets, and Matrix C, which consists of optimally genereated weights of those risky assets. To obtain the return, I wrote the following loop:

for i = 1:155 for j = 1:155 returns = A(i,:)*C(j,:)'

end end

This code yields a 1x155 matrix, exactly as I asked for, But, the answers are not correct.

Does anyone have a clue what I do wrong here?

Thanks for the effort!

Cheers,

Kevin

*No products are associated with this question.*

Answer by Kevin van Berkel
on 3 May 2013

Hi Matt, thanks for your response.

s = size(A); C = zeros(s); for j1 = 1:s(1) C(j1,:) = A(j1,:)*B((j1-1)*s(2)+1:j1*s(2),:); end

and this yields me the the weight's vector 'C'. 'A' is also a 155x3 vector. So I only need to multiply every row with the transpose of the other vector. E.G. A(row 1,col 1-3)*C'(row 1, col 1-3)

Hope this clarifies my question. Thanks!

Opportunities for recent engineering grads.

## 2 Comments

## Matt J (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/74342#comment_146831

The code you've shown returns a scalar, not a 1x155 vector. You should show us the code you're actually using.

## Kevin van Berkel (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/74342#comment_147075

Hi Matt, thanks for your response.

and this yields me the the weight's vector 'C'. 'A' is also a 155x3 vector. So I only need to multiply every row with the transpose of the other vector. E.G. A(row 1,col 1-3)*C'(row 1, col 1-3)

Hope this clarifies my question. Thanks!