Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

difficulty using the mvregress function

Asked by Andrew Kreitzman on 25 Jun 2013

I am trying to use the mvregress function to regress stock returns over various style factor weights (8 to be exact) and also a binary variable representing the industry (essentially, we have a 34-column matrix of zeros with one 1 in every row to indicate the industry the equity belongs to. I have grouped the stocks by country, so all of my data (returns, industry factor, and style factors) exist in 1x68 cells, with each matrix representing a different country. I want to use a for loop to iterate over every country when the regression is run. Here is what I tried. I understand how the multivariate regression works in real life, but I am having trouble implementing in MATLAB:

for i = 1:(numel(code_list)-1)
    factor_regressor_cell{1,i} = horzcat(industry_cell{1,i},style_factors_cell{1,i});
end
for i = 1:(numel(code_list)-1)
    [beta1,~,E,covB,~] = mvregress(factor_regressor_cell{1,i},returns_cell{1,i});
end  

I am also getting warnings from MATLAB to preallocate for speed before my for loops, especially those involving cells. Does anyone have a relevant example of how to do this....I was having trouble finding a good exmaple that applied to my code. Thanks!

0 Comments

Andrew Kreitzman

Products

No products are associated with this question.

1 Answer

Answer by the cyclist on 2 Jul 2013

See my answer to this question

http://www.mathworks.com/matlabcentral/answers/47451-how-can-i-compute-regression-coefficients-for-two-or-more-output-variables

for a simple, commented example of using mvregress. Using the design matrices is admittedly tricky.

There are also examples on the Mathworks site:

http://www.mathworks.com/help/stats/mvregress.html

0 Comments

the cyclist

Contact us