2017-05-11 20 views
2

Ich habe ein großes Panel-Daten in Form gesetzt:Autokorrelation in Paneldaten berechnen?

ID | Time| X-VALUE 
---| ----|----- 
1 | 1 |x 
1 | 2 |x 
1 | 3 |x 
2 | 1 |x 
2 | 2 |x 
2 | 3 |x 
3 | 1 |x 
3 | 2 |x 
3 | 3 |x 
. | . |. 
. | . |. 

Genauer gesagt ich Datensatz von einer großen Anzahl von einzelnen Aktienrenditen über einen Zeitraum von 30 Jahren habe. Ich möchte die "lagerspezifische" Autokorrelation zuerst (Lag 1) in den Renditen für alle Aktien einzeln berechnen.

Ich vermute, dass durch die Anwendung des Codes: acf(pdata$return, lag.max = 1, plot = FALSE) ich nur etwas Art von "durchschnittlichen" Autokorrelationswert bekommen werde, ist das korrekt?

Danke

+0

Nein, Sie erhalten den Wert bei Verzögerung 1. – Sotos

+0

Ja, aber wie bekomme ich es für jede Entität (Bestand)? –

Antwort

3

Sie den Datenrahmen aufgeteilt und tun kann, die acf auf jeder Teilmenge. Es gibt Unmengen an Möglichkeiten, dies zum Beispiel

by(pdata$return, pdata$ID, function(i) { acf(i, lag.max = 1, plot = FALSE) }) 

Sie müssen möglicherweise geändert werden Variable und Daten Frame-Namen in R. tun, um Ihre eigenen Daten entsprechen.