Aplicar un modelo MA
El vaivén del precio entre el bid y el ask induce una autocorrelación negativa de primer orden, pero no hay autocorrelaciones en rezagos mayores que 1. Obtienes el mismo patrón de FAC con un modelo MA(1). Por lo tanto, ajustarás un modelo MA(1) a los datos intradía de acciones del ejercicio anterior.
El primer paso es calcular los rendimientos minuto a minuto a partir de los precios en intraday, y representar la función de autocorrelación. Deberías observar que la FAC se parece a la de un proceso MA(1). Luego, ajusta los datos a un MA(1), igual que hiciste con los datos simulados.
Este ejercicio forma parte del curso
Análisis de series temporales en Python
Instrucciones del ejercicio
- Importa los módulos
plot_acfyARIMAde statsmodels - Calcula los rendimientos de minuto a minuto a partir de los precios:
- Calcula los rendimientos con el método
.pct_change() - Usa el método de pandas
.dropna()para eliminar la primera fila de rendimientos, que es NaN
- Calcula los rendimientos con el método
- Representa la función de la FAC con rezagos de hasta 60 minutos
- Ajusta los rendimientos a un modelo MA(1) e imprime el parámetro MA(1)
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Import plot_acf and ARIMA modules from statsmodels
from statsmodels.graphics.tsaplots import plot_acf
from statsmodels.tsa.arima.model import ARIMA
# Compute returns from prices and drop the NaN
returns = intraday.___
returns = returns.___
# Plot ACF of returns with lags up to 60 minutes
plot_acf(___, ___)
plt.show()
# Fit the data to an MA(1) model
mod = ARIMA(___, order=(0,0,1))
res = mod.fit()
print(res.params[1])