ComenzarEmpieza gratis

¿Estamos seguros de que este valor está invirtiendo el sentido?

En el último capítulo, viste que la autocorrelación de los rendimientos semanales de las acciones de MSFT era de -0,16. Esa autocorrelación parece grande, pero ¿es estadísticamente significativa? En otras palabras, ¿puedes decir que hay menos de un 5% de probabilidades de que observáramos una autocorrelación negativa tan grande si la autocorrelación verdadera fuera realmente cero? ¿Y hay autocorrelaciones en otros retardos que sean significativamente distintas de cero?

Aunque las verdaderas autocorrelaciones fueran cero en todos los retardos, en una muestra finita de rendimientos no verás que la estimación de las autocorrelaciones sea exactamente cero. De hecho, la desviación típica de la autocorrelación de la muestra es \(\small 1/\sqrt{N}\), donde \(\small N\) es el número de observaciones, así que si \(\small N=100\), por ejemplo, la desviación típica de la ACF es 0,1, y como el 95% de una curva normal está entre +1,96 y -1,96 desviaciones típicas de la media, el intervalo de confianza del 95% es \(\small \pm 1,96/\sqrt{N}\). Esta aproximación sólo es válida cuando las autocorrelaciones verdaderas son todas cero.

Calcularás el intervalo de confianza real y aproximado para la ACF, y lo compararás con la autocorrelación de lag-uno de -0,16 del último capítulo. Los rendimientos semanales de Microsoft están precargados en un DataFrame llamado returns.

Este ejercicio forma parte del curso

Análisis de Series Temporales en Python

Ver curso

Instrucciones de ejercicio

  • Recalcular la autocorrelación de los rendimientos semanales en la Serie 'Adj Close' en el DataFrame returns.
  • Averigua el número de observaciones del DataFrame devuelto utilizando la función len().
  • Aproxima el intervalo de confianza del 95% de la autocorrelación estimada. La función matemática sqrt() se ha importado y se puede utilizar.
  • Traza la función de autocorrelación de returns utilizando plot_acf que se importó de statsmodels. Establece alpha=0.05 para los intervalos de confianza (es el valor por defecto) y lags=20.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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()
Editar y ejecutar código