CommencerCommencer gratuitement

Utiliser merge_asof() pour étudier les stocks

Vous disposez d'un flux de cours de bourse que vous enregistrez. Vous tentez de suivre le cours toutes les cinq minutes. Toutefois, en raison d'une certaine latence du réseau, les cours que vous enregistrez sont relevés toutes les 5 minutes environ. Vous récupérez les historiques de cours de trois banques : JP Morgan (JPM), Wells Fargo (WFC) et Bank Of America (BAC). Vous souhaitez comparer l'évolution des prix des deux autres banques à celle de JP Morgan. Vous devrez donc fusionner ces trois tables en une seule. Ensuite, vous utiliserez la méthode pandas .diff() pour calculer la variation des cours dans le temps. Enfin, tracez les variations de cours afin de pouvoir réviser votre analyse.

Les trois fichiers journaux ont été chargés pour vous sous forme de tables nommées jpm, wells, et bac.

Cet exercice fait partie du cours

Joindre des données avec pandas

Afficher le cours

Instructions

  • Utilisez merge_asof() pour fusionner jpm (table de gauche) et wells sur la colonne date_time, où les lignes avec les heures les plus proches correspondent, et avec les suffixes=('', '_wells'). Enregistrer dans jpm_wells.
  • Utilisez merge_asof() pour fusionner jpm_wells (table de gauche) et bac sur la colonne date_time, où les lignes avec les temps les plus proches sont appariées, et avec suffixes=('_jpm', '_bac'). Enregistrer dans jpm_wells_bac.
  • Tracez les cours de clôture de close_jpm, close_wells, et close_bac à partir de price_diffs.

Exercice interactif pratique

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

# Use merge_asof() to merge jpm and wells
jpm_wells = ____


# Use merge_asof() to merge jpm_wells and bac
jpm_wells_bac = ____


# Compute price diff
price_diffs = jpm_wells_bac.diff()

# Plot the price diff of the close of jpm, wells and bac only
price_diffs.plot(y=[____, ____, ____])
plt.show()
Modifier et exécuter le code