LoslegenKostenlos loslegen

Ein MA-Modell anwenden

Das Hin- und Herpendeln des Aktienkurses zwischen Geld- und Briefkurs führt zu einer negativen Autokorrelation erster Ordnung, aber zu keinen Autokorrelationen bei Lags größer als 1. Dasselbe ACF-Muster erhältst du mit einem MA(1)-Modell. Daher passt du ein MA(1)-Modell auf die Intraday-Aktienkursdaten aus der letzten Übung an.

Der erste Schritt ist, Minutentakt-Renditen aus den Preisen in intraday zu berechnen und die Autokorrelationsfunktion zu plotten. Du solltest beobachten, dass die ACF wie die eines MA(1)-Prozesses aussieht. Anschließend passt du die Daten wie bei den simulierten Daten an ein MA(1)-Modell an.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Module plot_acf und ARIMA aus statsmodels
  • Berechne Minutentakt-Renditen aus den Preisen:
    • Berechne Renditen mit der Methode .pct_change()
    • Entferne die erste Zeile der Renditen mit der pandas-Methode .dropna(), da sie NaN ist
  • Plotte die ACF mit Lags bis zu 60 Minuten
  • Fitte die Renditedaten mit einem MA(1)-Modell und gib den MA(1)-Parameter aus

Interaktive Übung

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

# Import plot_acf and ARIMA modules from statsmodels
from statsmodels.graphics.tsaplots import plot_acf
from statsmodels.tsa.arima.model import ARIMA

# Compute returns from prices and drop the NaN
returns = intraday.___
returns = returns.___

# Plot ACF of returns with lags up to 60 minutes
plot_acf(___, ___)
plt.show()

# Fit the data to an MA(1) model
mod = ARIMA(___, order=(0,0,1))
res = mod.fit()
print(res.params[1])
Code bearbeiten und ausführen