Fusión de series temporales con fechas diferentes
Las bolsas y los mercados de bonos en EE. UU. cierran en días distintos. Por ejemplo, aunque el mercado de bonos cierra el Día de Colón (alrededor del 12 de octubre) y el Día de los Veteranos (alrededor del 11 de noviembre), la bolsa permanece abierta esos días. Una forma de ver las fechas en las que la bolsa está abierta y el mercado de bonos está cerrado es convertir ambos índices de fechas en conjuntos y calcular la diferencia de conjuntos.
El método .join() de pandas es una herramienta práctica para unir los DataFrames de acciones y bonos en las fechas en las que ambos mercados están abiertos.
Los precios de acciones y los rendimientos de los bonos del Gobierno de EE. UU. a 10 años, descargados de FRED, están precargados en los DataFrames stocks y bonds.
Este ejercicio forma parte del curso
Análisis de series temporales en Python
Instrucciones del ejercicio
- Convierte las fechas en
stocks.indexybonds.indexen conjuntos. - Calcula la diferencia entre el conjunto de acciones menos el conjunto de bonos para obtener aquellas fechas en las que hay datos del mercado de acciones pero no del mercado de bonos.
- Une los dos DataFrames en un nuevo DataFrame,
stocks_and_bonds, usando el método.join(), cuya sintaxis esdf1.join(df2).- Para obtener la intersección de fechas, usa el argumento
how='inner'.
- Para obtener la intersección de fechas, usa el argumento
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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 = ___