Fusionar series temporales con fechas diferentes
Los mercados de acciones y bonos en EE.UU. cierran en días diferentes. Por ejemplo, aunque el mercado de bonos esté cerrado el Día de la Raza (alrededor del 12 de octubre) y el Día de los Veteranos (alrededor del 11 de noviembre), el mercado de valores está abierto esos días. Una forma de ver las fechas en que está abierto el mercado de valores y cerrado el mercado de bonos es convertir ambos índices de fechas en conjuntos y tomar la diferencia de conjuntos.
El método pandas .join()
es una herramienta práctica para fusionar los DataFrames de acciones y bonos en las fechas en que ambos mercados están abiertos.
Los precios de las acciones y los rendimientos de los bonos del Estado de EEUU a 10 años, que se descargaron 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 de ejercicio
- Convierte las fechas de
stocks.index
ybonds.index
en conjuntos. - Toma la diferencia del conjunto de acciones menos el conjunto de bonos para obtener aquellas fechas en las que el mercado de acciones tiene datos pero el mercado de bonos no.
- Fusiona los dos DataFrame en un nuevo DataFrame,
stocks_and_bonds
utilizando el método.join()
, que tiene la sintaxisdf1.join(df2)
.- Para obtener la intersección de fechas, utiliza el argumento
how='inner'
.
- Para obtener la intersección de fechas, utiliza el argumento
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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 = ___