Używanie merge_asof() do analizy akcji
Masz zapis cen giełdowych, które rejestrujesz co pięć minut. Ze względu na opóźnienia sieciowe zapisy te nie są jednak dokładnie co 5 minut. Pobierasz logi cen dla trzech banków: JP Morgan (JPM), Wells Fargo (WFC) i Bank of America (BAC). Chcesz porównać zmiany cen pozostałych dwóch banków z cenami JP Morgan. W tym celu połączysz trzy logi w jedną tabelę. Następnie użyjesz metody .diff() z biblioteki pandas, aby obliczyć zmiany cen w czasie. Na koniec zwizualizujesz te zmiany, by móc przejrzeć wyniki analizy.
Trzy pliki z logami zostały wczytane jako tabele o nazwach jpm, wells i bac.
To ćwiczenie jest częścią kursu
Łączenie danych z pandas
Instrukcje do ćwiczenia
- Użyj
merge_asof(), aby połączyćjpm(tabela lewa) zwellsna kolumniedate_time, dopasowując wiersze o najbliższych czasach, z argumentemsuffixes=('', '_wells'). Wynik zapisz dojpm_wells. - Użyj
merge_asof(), aby połączyćjpm_wells(tabela lewa) zbacna kolumniedate_time, dopasowując wiersze o najbliższych czasach, z argumentemsuffixes=('_jpm', '_bac'). Wynik zapisz dojpm_wells_bac. - Zwizualizuj ceny zamknięcia
close_jpm,close_wellsiclose_bacz tabeliprice_diffs.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()