Usare merge_asof() per analizzare i titoli azionari
Hai un feed di prezzi di borsa che stai registrando. Provi a rilevare il prezzo ogni cinque minuti, ma a causa di un po' di latenza di rete, i prezzi che registri sono solo approssimativamente ogni 5 minuti. Hai estratto i log dei prezzi per tre banche, JP Morgan (JPM), Wells Fargo (WFC) e Bank Of America (BAC). Vuoi capire come il cambiamento di prezzo delle altre due banche si confronta con JP Morgan. Quindi, dovrai unire questi tre log in un'unica tabella. Successivamente userai il metodo .diff() di pandas per calcolare la variazione di prezzo nel tempo. Infine, traccia le variazioni di prezzo per poter rivedere l'analisi.
I tre file di log sono stati caricati per te come tabelle chiamate jpm, wells e bac.
Questo esercizio fa parte del corso
Unire i dati con pandas
Istruzioni dell'esercizio
- Usa
merge_asof()per unirejpm(tabella di sinistra) ewellssulla colonnadate_time, abbinando le righe con gli orari più vicini, e consuffixes=('', '_wells'). Salva injpm_wells. - Usa
merge_asof()per unirejpm_wells(tabella di sinistra) ebacsulla colonnadate_time, abbinando le righe con gli orari più vicini, e consuffixes=('_jpm', '_bac'). Salva injpm_wells_bac. - Traccia i prezzi di chiusura
close_jpm,close_wellseclose_bacdaprice_diffs.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()