IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Converti le date in stocks.index e bonds.index in 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 sintassi df1.join(df2).
    • Per ottenere l’intersezione delle date, usa l’argomento how='inner'.

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 = ___
Modifica ed esegui il codice