HT erzeugt einen neuen Vektor in Datenrahmen, die Korrelation von vorhandenen Vektoren erfolgt

StackOverflow https://stackoverflow.com/questions/2467019

  •  20-09-2019
  •  | 
  •  

Frage

Ich habe eine Zeitreihe von zwei Indizes, wobei jede Zeile des Schlusskurs am selben Tag darstellt. Ich möchte gehen 30 rudern und die letzten 30 ‚Tage‘ Lookback über und die Pearson-Korrelation zu berechnen. Und dann speichern Sie diesen Wert in einem neuen Vektor. Dann wiederholen Sie die Berechnung für die gesamte Zeitreihe.

Es ist eine triviale Aufgabe in Excel, so bin ich überzeugt, kann es in R. Ich weiß nicht, das Verfahren allerdings Verwendung erfolgen.

War es hilfreich?

Lösung

Es gibt viele Möglichkeiten, dies zu tun (wie bei allem in R). Ich empfehle immer eine Zeitreihe zu verwenden, wenn mit Zeitreihendaten zu arbeiten.

Das zoo Paket ist wahrscheinlich das beliebteste Zeitreihen-Paket (obwohl Sie auch bei anderen wie xts, Zeitreihe aussehen können, sein, FTS):

library(zoo)
z <- zoo(data.frame(a=1:50, b=3:52), as.Date(1:50))
rollapply(z, 30, cor, by.column=F, align = "right")

Sie können auch die chart.RollingCorrelation Funktion im PerformanceAnalytics Paket nützlich finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top