Azzera filtri
Azzera filtri

How to use splitapply with fitlm

2 visualizzazioni (ultimi 30 giorni)
Luca
Luca il 14 Apr 2021
Commentato: Luca il 15 Apr 2021
Hi,
I want to run a regression for 2 diffrent stocks for each year of observation separately. So i get a new Betas for each stock and each year. The goal is to assign the residuals to ID and dates. I upload the set I'm using. The regression looks like this:
RET = Beta0 + Beta1 * MRET
RET is the returns of the stocks and MRET the return of the Market.
My idea was to you use the splitapply function. But my code isn't working. I guess the problem is in line 3.
[group6, years, ID]= findgroups(subset1.years, subset1.ID);
[group7, dates]= findgroups(subset1.years, subset1.ID);
regression = @(y) fitlm(subset1.MRET,subset1.RET);
lm2 = splitapply(regression, subset1.MRET,group6);
Resitbl = table (ID,dates, lm2.Residuals.Raw);
regress function would also work for me. But it also didn't work for me.
Thanks in advance

Risposta accettata

Matt J
Matt J il 14 Apr 2021
Your regression(y) function takes an argument y that is never used.
  5 Commenti
Matt J
Matt J il 14 Apr 2021
Modificato: Matt J il 14 Apr 2021
In the photo you've shown, lm2 is a cell array, not a table.
Luca
Luca il 15 Apr 2021
Right, sorry I did not pay attention.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Time Series in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by