Îmbinarea seriilor de timp cu date diferite
Piețele de acțiuni și de obligațiuni din SUA sunt închise în zile diferite. De exemplu, deși piața obligațiunilor este închisă de Columbus Day (în jurul datei de 12 octombrie) și de Veterans Day (în jurul datei de 11 noiembrie), piața de acțiuni este deschisă în acele zile. O modalitate de a identifica zilele în care piața de acțiuni este deschisă, iar piața obligațiunilor este închisă, este să convertești ambii indecși de date în mulțimi și să calculezi diferența dintre ele.
Metoda .join() din pandas este un instrument practic pentru a îmbina DataFrame-urile cu acțiuni și obligațiuni doar pentru datele în care ambele piețe sunt deschise.
Prețurile acțiunilor și randamentele obligațiunilor guvernamentale americane pe 10 ani, descărcate de pe FRED, sunt preîncărcate în DataFrame-urile stocks și bonds.
Acest exercițiu face parte din cursul
Analiza seriilor de timp în Python
Instrucțiuni pentru exercițiu
- Convertește datele din
stocks.indexșibonds.indexîn mulțimi. - Calculează diferența dintre mulțimea acțiunilor și mulțimea obligațiunilor pentru a obține datele în care piața de acțiuni are date, iar piața obligațiunilor nu.
- Îmbină cele două DataFrame-uri într-un nou DataFrame,
stocks_and_bonds, folosind metoda.join(), cu sintaxadf1.join(df2).- Pentru a obține intersecția datelor, folosește argumentul
how='inner'.
- Pentru a obține intersecția datelor, folosește argumentul
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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 = ___