НачатьНачать бесплатно

Применение merge_asof() для анализа акций

Предположим, вы ведёте журнал цен на фондовом рынке и пытаетесь фиксировать котировки каждые пять минут. Однако из-за сетевых задержек записи поступают приблизительно раз в пять минут. Вы загружаете журналы цен трёх банков: JP Morgan (JPM), Wells Fargo (WFC) и Bank of America (BAC). Вас интересует, как изменения цен двух других банков соотносятся с JP Morgan. Для этого нужно объединить три журнала в одну таблицу, затем воспользоваться методом .diff() из pandas, чтобы вычислить изменение цен во времени, и наконец построить график для наглядного анализа.

Три файла журналов уже загружены в виде таблиц 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()
Редактировать и запускать код