CommencezCommencez gratuitement

Utiliser merge_asof() pour analyser des actions

Vous recevez un flux de prix boursiers que vous enregistrez. Vous tentez de relever le prix toutes les cinq minutes. Toutefois, en raison d'une certaine latence du réseau, les prix que vous captez arrivent à peu près toutes les 5 minutes. Vous extrayez vos journaux de prix pour trois banques, JP Morgan (JPM), Wells Fargo (WFC) et Bank Of America (BAC). Vous voulez savoir comment l'évolution du prix des deux autres banques se compare à celle de JP Morgan. Vous devrez donc fusionner ces trois journaux en une seule table. Ensuite, vous utiliserez la méthode .diff() de pandas pour calculer la variation des prix dans le temps. Enfin, tracez les variations de prix afin de valider votre analyse.

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

Cette activité fait partie du cours

Assembler des données avec pandas

Voir le cours

Instructions de l’exercice

  • Utilisez merge_asof() pour fusionner jpm (table de gauche) et wells sur la colonne date_time, en faisant correspondre les lignes avec les heures les plus proches, et avec suffixes=('', '_wells'). Enregistrez le résultat dans jpm_wells.
  • Utilisez merge_asof() pour fusionner jpm_wells (table de gauche) et bac sur la colonne date_time, en faisant correspondre les lignes avec les heures les plus proches, et avec suffixes=('_jpm', '_bac'). Enregistrez le résultat dans jpm_wells_bac.
  • Tracez les prix de clôture close_jpm, close_wells et close_bac à partir de price_diffs.

Exercice interactif pratique

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

# 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