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
Anleitung zur Übung
- Berechne die Autokorrelation der wöchentlichen Renditen in der Series
'Adj Close'im DataFramereturnserneut. - Bestimme die Anzahl der Beobachtungen im DataFrame
returnsmit der Funktionlen(). - Approximiere das 95%-Konfidenzintervall der geschätzten Autokorrelation. Die mathematische Funktion
sqrt()wurde importiert und kann verwendet werden. - Plotte die Autokorrelationsfunktion von
returnsmitplot_acfaus statsmodels. Setzealpha=0.05für die Konfidenzintervalle (das ist der Standard) undlags=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()