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
Oefeninstructies
- Gebruik
merge_asof()omjpm(linkertabel) enwellssamen te voegen op de kolomdate_time, waarbij rijen met de dichtstbijzijnde tijden worden gekoppeld, en metsuffixes=('', '_wells'). Sla op alsjpm_wells. - Gebruik
merge_asof()omjpm_wells(linkertabel) enbacsamen te voegen op de kolomdate_time, waarbij rijen met de meest nabije tijden worden gekoppeld, en metsuffixes=('_jpm', '_bac'). Sla op alsjpm_wells_bac. - Plot de slotkoersen
close_jpm,close_wellsenclose_bacuitprice_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()