Verwendung von merge_asof() zur Aktienanalyse
Du hast einen Feed mit Aktienkursen, die du aufzeichnest. Du versuchst, den Aktienkurs alle fünf Minuten zu erfassen. Trotz einer gewissen Netzwerklatenz werden dir die Kurse, die du verfolgst, etwa alle fünf Minuten angezeigt. Du rufst deine Kursprotokolle für drei Banken ab: JP Morgan (JPM), Wells Fargo (WFC), und Bank Of America (BAC). Du willst die Kursveränderungen der beiden anderen Banken mit denen von JP Morgan vergleichen. Deshalb musst du diese drei Protokolle in einer Tabelle zusammenführen. Anschließend verwendest du die pandas-Methode .diff(), um die Kursveränderungen im Zeitverlauf zu berechnen. Zu guter Letzt erstellst du ein Diagramm der Kursveränderungen, damit du deine Analyse überprüfen kannst.
Die drei Protokolldateien wurden für dich als Tabellen mit den Namen jpm, wells und bac geladen.
Diese Übung ist Teil des Kurses
Daten mit pandas verknüpfen
Anleitung zur Übung
- Verwende
merge_asof(), umjpm(linke Tabelle) undwellsanhand der Spaltedate_timezu verknüpfen, wobei die Zeilen mit den nächstgelegenen Zeitangaben verknüpft werden, und gibsuffixes=('', '_wells')an. Speichere dies alsjpm_wells. - Verwende
merge_asof(), umjpm_wells(linke Tabelle) undbacanhand der Spaltedate_timezu verknüpfen, wobei die Zeilen mit den am engsten zusammenliegenden Zeitangaben abgeglichen werden, und gibsuffixes=('_jpm', '_bac')an. Speichere dies alsjpm_wells_bac. - Erstelle ein Diagramm der Schlusskurse von
close_jpm,close_wellsundclose_bacausprice_diffs.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()