Probleme mit verschiedenen Observationen (n)

Fragen zu Stata Syntax und Do-Files.

Probleme mit verschiedenen Observationen (n)

Beitragvon Akq22 » Sa 6. Mär 2021, 10:26

Hallo zusammen
Ich habe einen einfachen Datensatz: Tägliche Renditen von allen gelisteten Firmen im SMI von den Jahren 1993-2017.
Ich möchte grundsätzlich schauen, welcher Tag hat die höchste und welcher die tiefste Tagesrendite. Dafür habe ich diesen Code:
Code: Alles auswählen
generate dayofweek = dow(date)
list, abbreviate(16)
rename (THENATIVE-ZWAHLENMAYR) (return=)
reshape long return, i(date) j(Firm) string
sort Firm date
order Firm date
bys date (dayofweek): gen returns = sum(return)
drop if returns == 0
collapse (mean) Mean = return (sd) Std_Dev = return (count) N = return, by(dayofweek)
gen t_stat = Mean/(Std_Dev/sqrt(N))

Ich bekomme dann auch die Mittelwerte, Standardabweichung, N und t-Wert so wie ich es im Code eingebe. Das Problem:
Der N (also Observationen) variieren wenn ich das Excel wieder importiere und den Code rennen lasse. Also der Datensatz und der Code bleiben exakt die gleichen, die Resultate ändern minim.
Beispielsweise erhalte ich einmal für den Montag einen Mittelwert von 0.0000981, Std. 0.0289, N= 280'140 und t-Wert 1.79286
und beim anderen run einen Mittelwert von 0.00009789, Std. 0.0289, N= 280'484 und t-Wert von 1.791432.
Die Abweichungen sind minim, sie sind jedoch da und ich weiss nicht ob die Resultate so stimmen. Ich habe in Foren dazu gefunden, dass es mit stable und sort gelöst werden kann, jedoch habe ich nicht verstanden wie ich dies in meinem Code einsetzen kann. Kann mir jemand weiterhelfen?
Akq22
 
Beiträge: 22
Registriert: Fr 27. Nov 2020, 12:28
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Probleme mit verschiedenen Observationen (n)

Beitragvon Staxa » Sa 6. Mär 2021, 11:32

Wenn dies dein einziges Problem ist, dann musst du einfach ergänzen:

Code: Alles auswählen
sort Firm date, stable



Stimmt es dann?
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Probleme mit verschiedenen Observationen (n)

Beitragvon Akq22 » So 7. Mär 2021, 12:57

Ich habe das stable der 5. Zeile meines Codes hinzugefügt, stimmt das so?

Das Resultat variiert wieder, jedoch minimer als vorher. Für N habe ich jetzt einmal 280'411 erhalten und einmal 280'417.
Eine kleine Verbesserung ist da, jedoch bleibt die Zahlt halt immer noch nicht gleicht. Hab ich etwas falsch gemacht?
Akq22
 
Beiträge: 22
Registriert: Fr 27. Nov 2020, 12:28
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Probleme mit verschiedenen Observationen (n)

Beitragvon Staxa » Mo 8. Mär 2021, 09:15

Hallo,

ja genau, Zeile 5. Du musst dich immer fragen, ob den Befehl, den du ausführst, streng deterministisch ist oder nicht. Also kann der Zufall eine Rolle spielen? Bei der Berechnung des mean unten ist beispielsweise die Reihenfolge aller Beobachtungen immer egal, da mein Mittelwert einfach über alle Fälle summiert wird. Beim Sortieren ist es problematisch wenn es ties gibt, also Fälle mit den gleichen Eigenschaften. Diese werden dann mitunter "zufällig" sortiert und wenn man den Befehl mehrfach anwendet können unterschiedliche Sortierungen entstehen. Ich würde vorschlagen, den Datensatz einzulesen und im Stata Format zu speichern. Ist dieses Ergebnis immer gleich? Dann kannst du zumindest schon einmal aussagen, dass das Problem auch wirklich in Stata liegt und nicht vorher.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Probleme mit verschiedenen Observationen (n)

Beitragvon Akq22 » Mo 8. Mär 2021, 14:24

Hallo,

Besten Dank schonmal für deine Tipps. Der Zufall kann eigentlich nicht mitspielen. Ein mean sollte immer die gleiche Zahl ergeben. Die Observationen auch.

Wie kann ich den Excel in Stata formatieren? In der Uni und auch jetzt im Internet finde ich nur das normale importieren von Excel Spreadsheets. Mit Excel auf Stata formatieren habe ich nichts gefunden.
Akq22
 
Beiträge: 22
Registriert: Fr 27. Nov 2020, 12:28
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Probleme mit verschiedenen Observationen (n)

Beitragvon Staxa » Mo 8. Mär 2021, 16:09

Grundsätzlich erscheint es ratsam, einmal am Anfang Excel zu importieren und möglichst alle Berechnungen dann nur in Stata durchzuführen. Dann sollte man das Dofile schreiben, das bei jedem Durchlauf exakt die gleichen Ergebnisse erzeugt (ausser es sind Zufallsprozesse notwendig, dann setzt man einen seed). Ich würde dir raten das so anzulegen und dann, sofern es noch Abweichungen gibt, jede Einzelberechnung genau zu prüfen um zu schauen, welcher Schritt die Quelle der Probleme ist.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Probleme mit verschiedenen Observationen (n)

Beitragvon Akq22 » Di 9. Mär 2021, 08:44

Hallo,

Ich mache das eigentlich auch über ein DO-file. Ich schaue mal am Wochenende nochmal ob ich es lösen kann.
Wenn ich schon dabei bin habe ich noch eine weitere Frage:

Code: Alles auswählen
generate dayofmonth = day(date)
list, abbreviate(16)
rename (THENATIVE-ZWAHLENMAYR) (return=)
reshape long return, i(date) j(Firm) string
sort Firm date
order Firm date
generate adjret = 1 * return
replace adjret = -1 * return if dayofmonth>=16


Hier bei diesem Code bilde ich zuerst die dayofmonth variable die eine Zahl für jeden Tag ergibt. Also der 1. Tag des Januars, der 2. usw bis zum 31. (wenn es diesen gibt, kann ja auch ein Samstag oder Sonntag sein und somit nicht in meinem Datensatz da die Börse geschlossen ist)

Am Ende des Codes gehe ich für jeden der ersten 15. Tage long (*1) und für den Rest short (*-1). Ich möchte nun den Code so lassen, jedoch noch *1 also long für den letzten Tag des Monates machen. Ich finde das nicht heraus, da der letzte Tag des Monates ja manchmal der 30. sein kann aber auch manchmal der 31. Es kann aber auch sein das der letzte Tag des Monates der 29. ist.
Zum Beispiel: 31. Januar 1993 ist ein Sonntag und der 30. Januar logischerweise ein Samstag. Beide fehlen im Datensatz. Also ist der letzte Tag des Januar 1993 der 29. und dieser müsste jetzt nicht -1 sondern *1 gerechnet werden. Kurz gesagt muss also der letzte trading Tag des Monates auch *1 gerechnet werden.
Akq22
 
Beiträge: 22
Registriert: Fr 27. Nov 2020, 12:28
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Probleme mit verschiedenen Observationen (n)

Beitragvon Staxa » Di 9. Mär 2021, 09:08

Hier kannst du ja prüfen welcher Wochentag ein Tag ist. Dafür gibt es dow(), siehe auch in der Beschreibung. Und dann eben mit einer if-Funktion die paar Fälle durchgehen, also was ist wenn der letzte Tag ein Samstag ist, usw...
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Probleme mit verschiedenen Observationen (n)

Beitragvon Akq22 » Di 9. Mär 2021, 12:28

Die Dow-Funktion würde mir ja einfach zeigen, ob es der 1. tag der Woche ist (Montag) usw.
Ich sehe gerade nicht wie mir das hilft oder ich verstehe nicht ganz genau was du meinst.
Akq22
 
Beiträge: 22
Registriert: Fr 27. Nov 2020, 12:28
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Probleme mit verschiedenen Observationen (n)

Beitragvon Staxa » Mi 10. Mär 2021, 13:25

help dow

Description: the numeric day of the week corresponding to date
e_d; 0 = Sunday, 1 = Monday, ..., 6 = Saturday

Du siehst also damit, welche Tage ein Sonntag bzw. Samstag sind. Die kannst du dann rausfischen und anders handhaben, damit sie nicht wie die anderen Tage gezählt werden. Also wenn etwa der letzte Tag eines Monats (d = 31) ein Samstag ist, dann kannst du diesen Fall ja entweder droppen oder eben nicht mitzählen, je nachdem, wie du diese Grenzfälle handhaben möchtest.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Nächste

Zurück zu Stata Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste

cron