Seite 1 von 1

Fehlermeldung bei Rendite aus Schlusskursen berechnen

Verfasst: Do Nov 26, 2020 4:26 pm
von Coco
Hallo zusammen,

ich möchte in meinem Datensatz, der aus Datum und Schlusskursen besteht, die Rendite aus den Schlusskursen berechnen.

Dafür habe ich folgenden Befehl genutzt:

MSCI_World_R$Rendite <- log(MSCI_World_R$PX_LAST) %>% diff()

Und bekomme folgende Fehlermeldung:

Fehler: Assigned data `log(MSCI_World_R$PX_LAST) %>% diff()` must be compatible with existing data.
x Existing data has 2870 rows.
x Assigned data has 2869 rows.
i Only vectors of size 1 are recycled.

Ich dachte mit diesem Befehl hätte ich das Problem schon behoben, dass die Zeitreihen nicht gleich lang sind, in dem ich den ersten Wert auf NA setze bei der Rendite.

Kann mir jemand weiterhelfen, wie ich den Befehl erweitern muss?

Vielen Dank und liebe Grüße, Corinna

Re: Fehlermeldung bei Rendite aus Schlusskursen berechnen

Verfasst: Do Nov 26, 2020 6:40 pm
von EDi
diff() liefert dir per definition ein Element weniger. Da musst du was anhängen oder den Datensatz um eins kürzen.

Re: Fehlermeldung bei Rendite aus Schlusskursen berechnen

Verfasst: Fr Nov 27, 2020 6:20 pm
von Coco
Wenn ich in meinen Daten die erste Zahl bei der Variable PX_LAST lösche, funktioniert der Befehl.
Das sind meine Ausgangsdaten:
Bild 1.PNG
Bild 1.PNG (8.16 KiB) 2245 mal betrachtet
Aber meinen Datensatz würde ich gerne nicht verändern.

Für mich soll der Befehl im Ergebnis nachher so aussehen:
Bild 2.PNG
Bild 2.PNG (9.78 KiB) 2245 mal betrachtet

Ich dachte der Befehl dif würde mir dann in meiner neuen Spalte "Rendite" in der ersten Spalte ein NA reinmachen.
Dafür habe ich das ja angehängt im Befehl.

Danke!
Gruß, Corinna

Re: Fehlermeldung bei Rendite aus Schlusskursen berechnen

Verfasst: Mi Dez 09, 2020 2:30 pm
von schubbiaschwilli
Gude!

Du musst ein NA vor deiner Zeitreihe einfügen.

Code: Alles auswählen

c(NA,<Deine Zeitreihe mit den Renditen>)
Nachtrag: Mit der EuStockMarkets-Zeitreihe (in R enthalten) kann man das so machen:

Code: Alles auswählen

DAX <- EuStockMarkets[,1]
DAX <- cbind(DAX, c(NA, diff(log(EuStockMarkets[,1]))))
Dank&Gruß
schubbiaschwilli