Unire serie temporali con date diverse
I mercati azionari e obbligazionari negli Stati Uniti sono chiusi in giorni diversi. Per esempio, anche se il mercato obbligazionario è chiuso il Columbus Day (intorno al 12 ottobre) e il Veterans Day (intorno all’11 novembre), il mercato azionario è aperto in quelle date. Un modo per vedere le date in cui il mercato azionario è aperto e quello obbligazionario è chiuso è convertire entrambi gli indici di date in insiemi e calcolare la differenza tra insiemi.
Il metodo .join() di pandas è uno strumento comodo per unire i DataFrame di azioni e obbligazioni sulle date in cui entrambi i mercati sono aperti.
I prezzi azionari e i rendimenti dei titoli di Stato USA a 10 anni, scaricati da FRED, sono già caricati nei DataFrame stocks e bonds.
Questo esercizio fa parte del corso
Analisi delle serie temporali in Python
Istruzioni dell'esercizio
- Converti le date in
stocks.indexebonds.indexin insiemi. - Fai la differenza tra l’insieme delle azioni e quello delle obbligazioni per ottenere le date in cui il mercato azionario ha dati ma quello obbligazionario no.
- Unisci i due DataFrame in un nuovo DataFrame,
stocks_and_bonds, usando il metodo.join(), con la sintassidf1.join(df2).- Per ottenere l’intersezione delle date, usa l’argomento
how='inner'.
- Per ottenere l’intersezione delle date, usa l’argomento
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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 = ___