Create a loop to find Beta for each period, OLS

1 visualizzazione (ultimi 30 giorni)
userch9
userch9 il 29 Nov 2018
Commentato: the cyclist il 29 Nov 2018
Hi,
I'm computing OLS for a work and I'd like to know how to create a vector of a Beta for every period in order to do a plot of the Beta over time.
I think that we have to create a loop to compute a beta for each period (i=1:2826) but it doesn't work...
Here is my draft if you want to understand what I mean :
Y1=Total_R;
XBeta=[Oil_R];
TitleBeta={'Oil return'};
for i=1:2826
OLSBeta=LinearModel.fit(XBeta,Y1,'Intercept',true);
display(OLSBeta.Coefficients(2,1))
end
But when I do this, I only receive the Beta for the entire period..
Thank you for your answer

Risposte (1)

the cyclist
the cyclist il 29 Nov 2018
The first thing I notice is that absolutely nothing inside of your for loop depends on i. So, the output of your loop will be identical for every iteration.
  2 Commenti
userch9
userch9 il 29 Nov 2018
Thank you for your quick answer (I'm a bit lost in loops..)
Is that better?
Y1=Total_R;
XBeta=[Oil_R];
TitleBeta={'Oil return'};
for i=1:2826
while i<2826
OLSBeta=LinearModel.fit(XBeta(i),Y1(i),'Intercept',true);
display(OLSBeta.Coefficients(2,1))
end
end
Thank you!
the cyclist
the cyclist il 29 Nov 2018
You shouldn't need that inner while loop at all. Just the single loop over your indexing variable i.
What size are Total_R and Oil_R?
Better yet, upload a MAT file with those variables.

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by