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) undwells
anhand der Spaltedate_time
zu 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) undbac
anhand der Spaltedate_time
zu 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_wells
undclose_bac
ausprice_diffs
.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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()