Aan de slagGa gratis aan de slag

merge_asof() gebruiken om aandelen te bestuderen

Je legt een stroom van beurskoersen vast. Je probeert elke vijf minuten de koers te registreren, maar door netwerkvertraging vallen je metingen ongeveer elke 5 minuten. Je haalt je prijslogs op voor drie banken: JP Morgan (JPM), Wells Fargo (WFC) en Bank Of America (BAC). Je wilt weten hoe de koersverandering van de twee andere banken zich verhoudt tot JP Morgan. Daarom moet je deze drie logs samenvoegen tot één tabel. Daarna gebruik je de pandas-methode .diff() om de koersverandering in de tijd te berekenen. Tot slot visualiseer je de koersveranderingen zodat je je analyse kunt bekijken.

De drie logbestanden zijn voor je geladen als tabellen met de namen jpm, wells en bac.

Deze oefening maakt deel uit van de cursus

Data samenvoegen met pandas

Cursus bekijken

Oefeninstructies

  • Gebruik merge_asof() om jpm (linkertabel) en wells samen te voegen op de kolom date_time, waarbij rijen met de dichtstbijzijnde tijden worden gekoppeld, en met suffixes=('', '_wells'). Sla op als jpm_wells.
  • Gebruik merge_asof() om jpm_wells (linkertabel) en bac samen te voegen op de kolom date_time, waarbij rijen met de meest nabije tijden worden gekoppeld, en met suffixes=('_jpm', '_bac'). Sla op als jpm_wells_bac.
  • Plot de slotkoersen close_jpm, close_wells en close_bac uit price_diffs.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren