Regressions !window" definieren

Regressionsmodelle aller Art mit Stata.

Regressions !window" definieren

Beitragvon filaglad » Fr 27. Jul 2012, 10:31

Hallo zusammen,
ich habe ein datenset mit 1000 firmen über 10 jahre, monatliche daten. Nun möchte ich für jede Firma über ein "rolling window" von 2 Jahren den Market Beta koeffizienten ermitteln. Die regressinosgleichung ist wie folgt:
Code: Alles auswählen
reg return x1,r


Allerdings habe ich ein unbalanced panel, und somit für einige firmen keine daten in den Frühen Zeitperioden meines samples. Daraus entsteht die problematik, dass wenn meine for-schleife auf eine solche Firma in den frühen jahren meines samples trifft, dass die regression abgebrochen wird. Deshalb habe ich nun eine weitere variable definiert, die den wert =1 annimmt, wenn das jeweilige regressionsfenster für die jeweilige Firma alle daten enthält:
Code: Alles auswählen
Beispielhaftes zeitfenster von 4 monaten:
ID   Return    x1    Zeit   Periode
1      1%      5%   01/1990   1
1      2%      6%   02/1990   1
1      3%      7%   03/1990   1
1      4%      8%   04/1990   1
2      .%      5%   01/1990   0
2      .%      6%   02/1990   0
2      3%      7%   03/1990   1
2      4%      8%   04/1990   1


Die von mir geschriebene For-Schleife für eine "rolling window"-regression sieht so aus:
Code: Alles auswählen
forvalues k = 1/1000 {                               ///Definiert die ID
    matrix E = (0,0,0)                                     /// Kreiert matrix um koeffizienten abzuspeichern
   forvalues i=528/627{                                            /// Definiert Zeitfenster aka rolling window
      quietly reg return x1 if (id==`k' & month>=`i'-24 & month<`i'), r         /// regression der Firma 'k' über ein zeitfenster von 24 monaten
      matrix E = E\(`i',_b[msciwde], _se[msciwde])                                       ///abspeichern der werte in einer matrix
   }
}

Nun würde ich also gerne die Regression NUR durchführen, wenn meine "perioden Variable" =1 ist und ansonsten soll die Forschleife zum nächten monat (derselben ID) springen. Also in etwa:
Wenn Period ==1 für alle month>=`i'-24 & month<`i'
DANN laufe die regression
Ansonsten springe zum nächten zeitfenster der ID (also count `i'+1) und prüfe (Wenn period==1 für alle .....)

Ich wäre euch für jede HIlfe überaus dankbar!
filaglad
 
Beiträge: 42
Registriert: So 17. Jun 2012, 13:18
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Regressions !window" definieren

Beitragvon daniel » Fr 27. Jul 2012, 12:07

Ich habe nicht alles druchgelesen, und das selbst noch nicht gemacht, aber bevor Du da versuchst das Rad neu zu erfinden, hast Du mal unter

help rolling

nachgelesen?
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Regressions !window" definieren

Beitragvon filaglad » Fr 27. Jul 2012, 12:26

hi daniel
danke für den Tip mit
daniel hat geschrieben:help rolling


Allerdings definiert "rolling" nur das zeitfenster, also das was ich mit -month>=`i'-24 & month<`i'- auch erreiche. Mein punkt war dass eine Regression nur dann durchgeführt wird, wenn für die y variable alle werte für ein "window" vorhanden sind. Aber anscheinend muss ich jetzt wohl alle observations raus schmeißen für die die werte fehlen...
filaglad
 
Beiträge: 42
Registriert: So 17. Jun 2012, 13:18
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Regressions !window" definieren

Beitragvon daniel » Fr 27. Jul 2012, 14:14

Aber anscheinend muss ich jetzt wohl alle observations raus schmeißen für die die werte fehlen...


Das scheint mir der bessere Weg zu sein.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Regressionsmodelle

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast