Объединение временных рядов с разными датами
Фондовый и облигационный рынки США закрыты в разные дни. Например, рынок облигаций не работает в День Колумба (около 12 октября) и День ветеранов (около 11 ноября), тогда как фондовый рынок в эти дни открыт. Один из способов определить, в какие дни фондовый рынок работает, а рынок облигаций нет, — преобразовать оба индекса дат в множества и найти их разность.
Метод .join() библиотеки pandas удобно использовать для объединения DataFrame с котировками акций и облигаций по датам, когда оба рынка открыты.
Цены акций и доходность 10-летних государственных облигаций США, загруженные с FRED, уже доступны в DataFrame stocks и bonds.
Это упражнение является частью курса
Анализ временных рядов на Python
Инструкции к упражнению
- Преобразуйте даты из
stocks.indexиbonds.indexв множества. - Найдите разность множества дат акций и множества дат облигаций, чтобы получить даты, когда фондовый рынок работал, а рынок облигаций — нет.
- Объедините два DataFrame в новый DataFrame
stocks_and_bondsс помощью метода.join(), который вызывается какdf1.join(df2).- Чтобы получить пересечение дат, используйте аргумент
how='inner'.
- Чтобы получить пересечение дат, используйте аргумент
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import pandas
import pandas as pd
# Convert the stock index and bond index into sets
set_stock_dates = set(stocks.index)
set_bond_dates = set(___)
# Take the difference between the sets and print
print(set_stock_dates - ___)
# Merge stocks and bonds DataFrames using join()
stocks_and_bonds = ___