Tijdreeksen met verschillende datums samenvoegen
Aandelen- en obligatiemarkten in de VS zijn op verschillende dagen gesloten. Zo is de obligatiemarkt gesloten op Columbus Day (rond 12 okt) en Veterans Day (rond 11 nov), terwijl de aandelenmarkt op die dagen open is. Een manier om de datums te zien waarop de aandelenmarkt open is en de obligatiemarkt gesloten, is om beide datumindexen om te zetten naar sets en het verschil van die sets te nemen.
De pandas-methode .join() is een handig hulpmiddel om de DataFrames met aandelen en obligaties samen te voegen op de datums waarop beide markten open zijn.
Aandelenkoersen en 10-jaars Amerikaanse staatsobligatierentes, gedownload van FRED, zijn vooraf ingeladen in de DataFrames stocks en bonds.
Deze oefening maakt deel uit van de cursus
Tijdreeksanalyse in Python
Oefeninstructies
- Zet de datums in
stocks.indexenbonds.indexom naar sets. - Neem het verschil van de set met aandelen min de set met obligaties om de datums te krijgen waarop de aandelenmarkt data heeft en de obligatiemarkt niet.
- Voeg de twee DataFrames samen in een nieuwe DataFrame,
stocks_and_bonds, met de.join()-methode, met de syntaxisdf1.join(df2).- Gebruik het argument
how='inner'om de intersectie van datums te krijgen.
- Gebruik het argument
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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 = ___