Spojování časových řad s různými daty
Akciové a dluhopisové trhy v USA mají různé dny volna. Například dluhopisový trh je zavřený na Columbus Day (kolem 12. října) a na Den veteránů (kolem 11. listopadu), zatímco akciový trh je v tyto dny otevřený. Jeden ze způsobů, jak zjistit, kdy je akciový trh otevřený a dluhopisový zavřený, je převést oba indexy dat na množiny a zjistit jejich rozdíl.
Metoda .join() z knihovny pandas je praktický nástroj pro sloučení DataFrame akcií a dluhopisů podle dat, kdy jsou oba trhy otevřené.
Ceny akcií a výnosy 10letých amerických státních dluhopisů stažené z FRED jsou předem načteny v DataFramech stocks a bonds.
Toto cvičení je součástí kurzu
Analýza časových řad v Pythonu
Pokyny k cvičení
- Převeď data v
stocks.indexabonds.indexna množiny. - Odečti množinu dluhopisů od množiny akcií, abys získal/a data, kdy má akciový trh data, ale dluhopisový trh nikoliv.
- Spoj oba DataFrame do nového DataFrame
stocks_and_bondspomocí metody.join(), která má syntaxidf1.join(df2).- Pro získání průniku dat použij argument
how='inner'.
- Pro získání průniku dat použij argument
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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 = ___