Fehlermeldung bei Rendite aus Schlusskursen berechnen

Methoden der Zeitreihenanalyse

Moderator: schubbiaschwilli

Antworten
Coco
Beiträge: 3
Registriert: Do Nov 26, 2020 4:14 pm

Fehlermeldung bei Rendite aus Schlusskursen berechnen

Beitrag 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
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Fehlermeldung bei Rendite aus Schlusskursen berechnen

Beitrag von EDi »

diff() liefert dir per definition ein Element weniger. Da musst du was anhängen oder den Datensatz um eins kürzen.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Coco
Beiträge: 3
Registriert: Do Nov 26, 2020 4:14 pm

Re: Fehlermeldung bei Rendite aus Schlusskursen berechnen

Beitrag 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) 1543 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) 1543 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
schubbiaschwilli
Beiträge: 253
Registriert: Di Jun 27, 2017 12:09 pm

Re: Fehlermeldung bei Rendite aus Schlusskursen berechnen

Beitrag 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
Antworten