Використання merge_asof() для аналізу акцій
У вас є потік біржових цін, який ви записуєте. Ви намагаєтеся фіксувати ціну кожні п'ять хвилин. Проте через затримку мережі фактичні записи виходять приблизно кожні 5 хвилин. Ви отримали журнали цін для трьох банків: JP Morgan (JPM), Wells Fargo (WFC) і Bank Of America (BAC). Ви хочете з'ясувати, як зміни цін двох інших банків порівнюються з JP Morgan. Для цього потрібно об'єднати ці три журнали в одну таблицю. Потім ви використаєте метод pandas .diff(), щоб обчислити зміну ціни в часі. Нарешті, побудуйте графік змін цін, щоб переглянути результати аналізу.
Три файли журналів уже завантажені як таблиці з назвами jpm, wells та bac.
Ця вправа є частиною курсу
Об'єднання даних у pandas
Інструкції до вправи
- Використайте
merge_asof(), щоб об'єднатиjpm(ліва таблиця) іwellsза стовпцемdate_time, зіставляючи рядки з найближчим часом, та з параметромsuffixes=('', '_wells'). Збережіть уjpm_wells. - Використайте
merge_asof(), щоб об'єднатиjpm_wells(ліва таблиця) іbacза стовпцемdate_time, зіставляючи рядки з найближчим часом, та з параметромsuffixes=('_jpm', '_bac'). Збережіть уjpm_wells_bac. - Побудуйте графік цін закриття
close_jpm,close_wellsіclose_bacізprice_diffs.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()