Använda merge_asof() för att studera aktier
Du har ett flöde med börskurser som du registrerar. Du försöker spåra priset var femte minut, men på grund av viss nätverksfördröjning registreras priserna ungefär var femte minut. Du hämtar dina prisloggar för tre banker: JP Morgan (JPM), Wells Fargo (WFC) och Bank of America (BAC). Du vill se hur prisförändringarna för de två andra bankerna förhåller sig till JP Morgan. Därför behöver du slå ihop de tre loggarna till en tabell. Sedan använder du metoden .diff() i pandas för att beräkna prisförändringen över tid. Slutligen ritar du upp prisförändringarna så att du kan granska din analys.
De tre loggfilerna har laddats in åt dig som tabellerna jpm, wells och bac.
Den här övningen är en del av kursen
Joining Data with pandas
Övningsinstruktioner
- Använd
merge_asof()för att slå ihopjpm(vänster tabell) ochwellspå kolumnendate_time, där rader med de närmaste tiderna matchas, och medsuffixes=('', '_wells'). Spara resultatet ijpm_wells. - Använd
merge_asof()för att slå ihopjpm_wells(vänster tabell) ochbacpå kolumnendate_time, där rader med de närmaste tiderna matchas, och medsuffixes=('_jpm', '_bac'). Spara resultatet ijpm_wells_bac. - Rita upp stängningspriserna
close_jpm,close_wellsochclose_bacfrånprice_diffs.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()