Utilizar merge_asof() para estudiar las cotizaciones
Tienes un feed de cotizaciones bursátiles que estás registrando, intentando capturar el precio de las acciones cada cinco minutos. Sin embargo, debido a la latencia de la red, los precios que obtienes son solo aproximadamente cada cinco minutos. Obtenés los registros de precios de tres bancos: JP Morgan (JPM), Wells Fargo (WFC) y Bank Of America (BAC). Quieres saber cómo se compara la variación de precios de los otros dos bancos con la de JP Morgan. Por lo tanto, tendrás que fusionar estos tres registros en una sola tabla. Después, utilizarás el método pandas .diff() para calcular la variación del precio a lo largo del tiempo. Por último, trazarás los cambios de precio para poder revisar tu análisis.
Los tres archivos de registro se han cargado para ti como tablas denominadas jpm, wells y bac.
Este ejercicio forma parte del curso
Unir datos con pandas
Instrucciones del ejercicio
- Utiliza
merge_asof()para unirjpm(tabla de la izquierda) ywellsen la columnadate_time, donde coinciden las filas con los tiempos más cercanos y consuffixes=('', '_wells'). Guarda enjpm_wells. - Utiliza
merge_asof()para fusionarjpm_wells(tabla de la izquierda) ybacen la columnadate_time, donde coinciden las filas con los tiempos más cercanos y consuffixes=('_jpm', '_bac'). Guarda enjpm_wells_bac. - Traza los precios de cierre de
close_jpm,close_wellsyclose_bacdeprice_diffs.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Use merge_asof() to merge jpm and wells
jpm_wells = ____
# Use merge_asof() to merge jpm_wells and bac
jpm_wells_bac = ____
# Compute price diff
price_diffs = jpm_wells_bac.diff()
# Plot the price diff of the close of jpm, wells and bac only
price_diffs.plot(y=[____, ____, ____])
plt.show()