CommencezCommencez gratuitement

Appliquer un modèle MA

Les allers-retours du prix de l'action entre le cours acheteur et le cours vendeur entraînent une autocorrélation négative au premier retard, mais aucune autocorrélation pour des retards supérieurs à 1. Vous obtenez le même profil d'ACF avec un modèle MA(1). Vous allez donc ajuster un modèle MA(1) aux données intrajournalières de l'exercice précédent.

La première étape consiste à calculer les rendements minute par minute à partir des prix dans intraday, puis à tracer la fonction d'autocorrélation. Vous devriez constater que l'ACF ressemble à celle d'un processus MA(1). Ensuite, ajustez un modèle MA(1) aux données, comme vous l'avez fait pour des données simulées.

Cette activité fait partie du cours

Analyse des séries chronologiques en Python

Voir le cours

Instructions de l’exercice

  • Importez les modules plot_acf et ARIMA de statsmodels
  • Calculez les rendements d'une minute à l'autre à partir des prix :
    • Calculez les rendements avec la méthode .pct_change()
    • Utilisez la méthode pandas .dropna() pour supprimer la première ligne de rendements, qui est NaN
  • Tracez la fonction ACF avec des retards allant jusqu'à 60 minutes
  • Ajustez un modèle MA(1) aux rendements et affichez le paramètre MA(1)

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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