Seite 1 von 1

Schleife zur Log Berechnung

Verfasst: Fr Okt 11, 2019 1:36 pm
von tghstud
Hi,

ich bin noch ziemlicher Anfänger und muss für ein Projekt eine csv-Datei in R einlesen. In dieser Datei befinden sich in einer Spalte über 750 Schlusskurse einer Aktie. Mit diesen Dateien muss ich dann die log-Rendite mit der Formel log(Xi+1/Xi) berechnen. Dafür würde ich gerne eine Schleife verwenden, sodass mir die Werte als numeric ausgegeben werden. Damit ich des weitern Histogramm und Dichtefunktion plotten kann.

Wäre klasse, wenn mir jemand einen Vorschlag für die Ausgestaltung der Schleife geben könnte.

Vielen Dank :D

tghstud

Re: Schleife zur Log Berechnung

Verfasst: Fr Okt 11, 2019 1:54 pm
von bigben
Hallo und willkommen im Forum!

Bitte lies http://forum.r-statistik.de/viewtopic.php?f=20&t=35

Ein erster Tipp weil's Dein erster Post ist:

Code: Alles auswählen

a <- c(1,2,3,3,4,4,4,4,4,4,5,5,5,6,7,8,8)
for(i in 1:(length(a)-1)){
  cat(a[i+1])
  cat(";")
}
LG,
Bernhard

Re: Schleife zur Log Berechnung

Verfasst: Fr Okt 11, 2019 5:31 pm
von tghstud
Hi,

danke für deine erste Hilfe, mir ist klar, dass ich hier nicht meine Hausaufgaben abschreiben soll, ich bräuchte nur die Voreinstellungen damit ich meine eigentliche Arbeit starten kann. Ich wollte nur meine Situation genau schildern, da es sonst ein wenig abstrakt sein kann.
Bisher habe ich mir Folgendes überlegt:

Code: Alles auswählen

Schlusskurse <- LVMH$Close
Erträge <- for(i in 1:(length(Schlusskurse-1))){
+ print(log(i)-log(i-1))
+ }
Leider komme ich nicht auf die gewünschten Ergebnisse, da zum Beispiel keine negativen Ergebnisse dargestellt werden, obwohl der Kurs von einem auf dem anderen Tag fällt.
Würde mich freuen, wenn jemand mir weiterhelfen könnte!

Danke nochmal!

Re: Schleife zur Log Berechnung

Verfasst: Fr Okt 11, 2019 5:50 pm
von jogo
Bei mir sieht das so aus:

Code: Alles auswählen

diff(log(x))
Gruß, Jörg

Re: Schleife zur Log Berechnung

Verfasst: Fr Okt 11, 2019 6:30 pm
von bigben
tghstud hat geschrieben: Fr Okt 11, 2019 5:31 pm

Code: Alles auswählen

Schlusskurse <- LVMH$Close
Erträge <- for(i in 1:(length(Schlusskurse-1))){
+ print(log(i)-log(i-1))
+ }
Leider komme ich nicht auf die gewünschten Ergebnisse, da zum Beispiel keine negativen Ergebnisse dargestellt werden, obwohl der Kurs von einem auf dem anderen Tag fällt.
Hallo,

in Deinem Code-Vorschlag nimmst Du immer nur Logarithmen von i. Du willst aber nicht Logarithmen von i sondern von Schlusskurse. Desweiteren kann Schlusskurse[i-1] nicht funktionieren, wenn die i mit 1 anfangen. Die müssen mit 2 anfangen. Zuguterletzt hast Du einen Klammerfehler in

Code: Alles auswählen

 1:(length(Schlusskurse-1)
gemacht.

LG,
Bernhard