Začněte nyníZačněte zdarma

Lze potvrdit, že tato akcie mean-revertuje?

V předchozí kapitole sis ukázal/a, že autokorelace týdenních výnosů akcií MSFT byla -0,16. Tato hodnota se zdá být vysoká, ale je statisticky významná? Jinými slovy, lze říct, že pravděpodobnost pozorování tak velké záporné autokorelace, pokud by skutečná autokorelace byla nulová, je menší než 5 %? A existují nějaké autokorelace při jiných zpožděních, které se statisticky významně liší od nuly?

I kdyby skutečné autokorelace byly nulové při všech zpožděních, v konečném vzorku výnosů odhadnuté autokorelace nebudou přesně nulové. Standardní odchylka výběrové autokorelace je \(\small 1/\sqrt{N}\), kde \(\small N\) je počet pozorování. Pokud je například \(\small N=100\), standardní odchylka ACF je 0,1. Protože 95 % normálního rozdělení leží mezi +1,96 a -1,96 směrodatnými odchylkami od průměru, 95% interval spolehlivosti je \(\small \pm 1,96/\sqrt{N}\). Tato aproximace platí pouze tehdy, jsou-li všechny skutečné autokorelace nulové.

Spočítáš skutečný i přibližný interval spolehlivosti pro ACF a porovnáš ho s autokorelací při zpoždění 1 ve výši -0,16 z předchozí kapitoly. Týdenní výnosy Microsoftu jsou předem načteny v DataFrame returns.

Toto cvičení je součástí kurzu

Analýza časových řad v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Znovu spočítej autokorelaci týdenních výnosů ze sloupce 'Adj Close' v DataFrame returns.
  • Zjisti počet pozorování v DataFrame returns pomocí funkce len().
  • Odhadni 95% interval spolehlivosti vypočtené autokorelace. Matematická funkce sqrt() je již naimportována a připravena k použití.
  • Vykresli funkci autokorelace pro returns pomocí plot_acf naimportovaného ze statsmodels. Nastav alpha=0.05 pro intervaly spolehlivosti (to je výchozí hodnota) a lags=20.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód