LoslegenKostenlos loslegen

Sind wir sicher, dass diese Aktie zum Mittelwert zurückkehrt?

Im letzten Kapitel hast du gesehen, dass die Autokorrelation der wöchentlichen Renditen von MSFT -0,16 betrug. Diese Autokorrelation wirkt groß, aber ist sie statistisch signifikant? Mit anderen Worten: Kannst du sagen, dass die Wahrscheinlichkeit unter 5 % liegt, eine so große negative Autokorrelation zu beobachten, wenn die wahre Autokorrelation tatsächlich null wäre? Und gibt es Autokorrelationen bei anderen Lags, die sich signifikant von null unterscheiden?

Selbst wenn die wahren Autokorrelationen bei allen Lags null wären, würdest du in einer endlichen Stichprobe von Renditen die geschätzten Autokorrelationen nicht genau bei null sehen. Tatsächlich ist die Standardabweichung der Stichprobenautokorrelation \(\small 1/\sqrt{N}\), wobei \(\small N\) die Anzahl der Beobachtungen ist. Wenn zum Beispiel \(\small N=100\) ist, beträgt die Standardabweichung der ACF 0,1, und da 95 % einer Normalverteilung zwischen +1,96 und -1,96 Standardabweichungen um den Mittelwert liegen, ist das 95%-Konfidenzintervall \(\small \pm 1.96/\sqrt{N}\). Diese Näherung gilt nur, wenn die wahren Autokorrelationen alle null sind.

Du wirst das tatsächliche und das approximative Konfidenzintervall für die ACF berechnen und es mit der Autokorrelation der Ordnung eins von -0,16 aus dem letzten Kapitel vergleichen. Die wöchentlichen Renditen von Microsoft sind in einem DataFrame namens returns vorab geladen.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Berechne die Autokorrelation der wöchentlichen Renditen in der Series 'Adj Close' im DataFrame returns erneut.
  • Bestimme die Anzahl der Beobachtungen im DataFrame returns mit der Funktion len().
  • Approximiere das 95%-Konfidenzintervall der geschätzten Autokorrelation. Die mathematische Funktion sqrt() wurde importiert und kann verwendet werden.
  • Plotte die Autokorrelationsfunktion von returns mit plot_acf aus statsmodels. Setze alpha=0.05 für die Konfidenzintervalle (das ist der Standard) und lags=20.

Interaktive Übung

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

# Import the plot_acf module from statsmodels and sqrt from math
from statsmodels.graphics.tsaplots import plot_acf
from math import sqrt

# Compute and print the autocorrelation of MSFT weekly returns
autocorrelation = returns['Adj Close'].___
print("The autocorrelation of weekly MSFT returns is %4.2f" %(autocorrelation))

# Find the number of observations by taking the length of the returns DataFrame
nobs = ___

# Compute the approximate confidence interval
conf = 1.96/___
print("The approximate confidence interval is +/- %4.2f" %(conf))

# Plot the autocorrelation function with 95% confidence intervals and 20 lags using plot_acf
plot_acf(___, alpha=0.05, ___)
plt.show()
Code bearbeiten und ausführen