CommencerCommencer gratuitement

Peut-on affirmer que cette action est à retour à la moyenne ?

Au chapitre précédent, vous avez vu que l’autocorrélation des rendements hebdomadaires de MSFT était de -0,16. Cette autocorrélation semble importante, mais est-elle statistiquement significative ? Autrement dit, pouvez-vous dire qu’il y a moins de 5 % de chance d’observer une autocorrélation négative aussi forte si la véritable autocorrélation était nulle ? Et existe-t-il des autocorrélations à d’autres retards significativement différentes de zéro ?

Même si les véritables autocorrélations étaient nulles à tous les retards, dans un échantillon fini de rendements, l’estimation des autocorrélations ne sera pas exactement nulle. En fait, l’écart-type de l’autocorrélation empirique est \(\small 1/\sqrt{N}\) où \(\small N\) est le nombre d’observations ; ainsi, si \(\small N=100\), par exemple, l’écart-type de l’ACF est 0,1, et comme 95 % d’une loi normale se situent entre +1,96 et -1,96 écarts-types autour de la moyenne, l’intervalle de confiance à 95 % est \(\small \pm 1.96/\sqrt{N}\). Cette approximation ne vaut que lorsque les vraies autocorrélations sont toutes nulles.

Vous allez calculer l’intervalle de confiance exact et approximatif pour l’ACF, et le comparer à l’autocorrélation au premier retard de -0,16 du chapitre précédent. Les rendements hebdomadaires de Microsoft sont préchargés dans un DataFrame nommé returns.

Cet exercice fait partie du cours

Analyse des séries temporelles en Python

Afficher le cours

Instructions

  • Recalculez l’autocorrélation des rendements hebdomadaires de la série 'Adj Close' dans le DataFrame returns.
  • Trouvez le nombre d’observations dans le DataFrame returns en utilisant la fonction len().
  • Approximez l’intervalle de confiance à 95 % de l’autocorrélation estimée. La fonction mathématique sqrt() a été importée et peut être utilisée.
  • Tracez la fonction d’autocorrélation de returns avec plot_acf importé depuis statsmodels. Définissez alpha=0.05 pour les intervalles de confiance (c’est la valeur par défaut) et lags=20.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()
Modifier et exécuter le code