Create a loop to find Beta for each period, OLS

1 visualización (últimos 30 días)
userch9
userch9 el 29 de Nov. de 2018
Comentada: the cyclist el 29 de Nov. de 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

Respuestas (1)

the cyclist
the cyclist el 29 de Nov. de 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 comentarios
userch9
userch9 el 29 de Nov. de 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 el 29 de Nov. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by