Použití merge_asof() pro analýzu akcií
Máš k dispozici záznamy cen akcií, které průběžně zaznamenáváš. Pokoušíš se zachytit cenu každých pět minut, ale kvůli občasné síťové latenci jsou záznamy přibližně v pětiminutových intervalech. Stahuješ si logy cen tří bank: JP Morgan (JPM), Wells Fargo (WFC) a Bank of America (BAC). Chceš zjistit, jak se vývoj cen ostatních dvou bank srovnává s JP Morgan. Proto budeš muset sloučit tyto tři logy do jedné tabulky. Potom použiješ metodu .diff() z pandas pro výpočet změny ceny v čase. Nakonec změny cen vykreslíš do grafu, aby ses mohl/a podívat na výsledky analýzy.
Tři soubory s logy jsou pro tebe načteny jako tabulky pojmenované jpm, wells a bac.
Toto cvičení je součástí kurzu
Joining Data with pandas
Pokyny k cvičení
- Pomocí
merge_asof()slučtejpm(levá tabulka) awellsna sloupcidate_time, kde se párují řádky s nejbližšími časy, a nastavsuffixes=('', '_wells'). Výsledek ulož dojpm_wells. - Pomocí
merge_asof()slučtejpm_wells(levá tabulka) abacna sloupcidate_time, kde se párují řádky s nejbližšími časy, a nastavsuffixes=('_jpm', '_bac'). Výsledek ulož dojpm_wells_bac. - Z
price_diffsvykresli závěrečné cenyclose_jpm,close_wellsaclose_bac.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()