LoslegenKostenlos loslegen

Eine beliebte Strategie mithilfe von Autokorrelation

Eine erstaunliche Anomalie bei Aktien ist, dass Investorinnen und Investoren zu Überreaktionen neigen. Nach großen Sprüngen, nach oben oder unten, kehren Aktienkurse häufig um. Das wird als Mittelwertumkehr (Mean Reversion) bei Aktienkursen beschrieben: Nach starken Bewegungen tendieren Kurse dazu, wieder in Richtung früherer Niveaus zurückzuspringen, was über Zeiträume von etwa einer Woche beobachtet wird. Mathematisch lässt sich Mean Reversion dadurch beschreiben, dass Aktienrenditen negativ autokorreliert sind.

Diese einfache Idee bildet tatsächlich die Grundlage einer beliebten Hedgefonds-Strategie. Wenn du neugierig bist und mehr über diese Hedgefonds-Strategie erfahren möchtest (es ist für den weiteren Kurs nicht erforderlich), schau hier.

Du betrachtest die Autokorrelation der wöchentlichen Renditen der MSFT-Aktie von 2012 bis 2017. Du startest mit einem DataFrame MSFT mit täglichen Preisen. Verwende die Methode .resample(), um wöchentliche Preise zu erhalten, und berechne dann die Renditen aus den Preisen. Nutze die pandas-Methode .autocorr(), um die Autokorrelation zu berechnen, und zeige, dass sie negativ ist. Beachte, dass die Methode .autocorr() nur auf Series funktioniert, nicht auf DataFrames (auch nicht auf DataFrames mit nur einer Spalte). Du musst also die Spalte im DataFrame auswählen.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Verwende die Methode .resample() mit rule='W' gefolgt von der Funktion .last(), um tägliche Daten in wöchentliche Daten umzuwandeln.
  • Erstelle einen neuen DataFrame returns mit prozentualen Änderungen der wöchentlichen Preise mithilfe der Methode .pct_change().
  • Berechne die Autokorrelation mit der Methode .autocorr() auf der Series der Schlusskurse, das ist die Spalte 'Adj Close' im DataFrame returns.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Convert the daily data to weekly data
MSFT = MSFT.resample(___).___

# Compute the percentage change of prices
returns = MSFT.___

# Compute and print the autocorrelation of returns
autocorrelation = returns[___].___
print("The autocorrelation of weekly returns is %4.2f" %(autocorrelation))
Code bearbeiten und ausführen