Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj merge_asof(), aby połączyć jpm (tabela lewa) z wells na kolumnie date_time, dopasowując wiersze o najbliższych czasach, z argumentem suffixes=('', '_wells'). Wynik zapisz do jpm_wells.
  • Użyj merge_asof(), aby połączyć jpm_wells (tabela lewa) z bac na kolumnie date_time, dopasowując wiersze o najbliższych czasach, z argumentem suffixes=('_jpm', '_bac'). Wynik zapisz do jpm_wells_bac.
  • Zwizualizuj ceny zamknięcia close_jpm, close_wells i close_bac z tabeli price_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()
Edytuj i uruchom kod