Usare .melt() per confrontare performance di azioni e bond
È noto che il prezzo delle obbligazioni è inversamente correlato al prezzo delle azioni. In questo ultimo esercizio, ripasserai molti degli argomenti del capitolo per verificarlo. Ti è stata fornita una tabella con la variazione percentuale del prezzo del treasury bond USA a 10 anni. È in formato wide, con una colonna separata per ogni anno. Dovrai usare il metodo .melt() per rimodellare questa tabella.
Inoltre, userai il metodo .query() per filtrare i dati non necessari. Unirai questa tabella con una tabella della variazione percentuale del prezzo dell'indice azionario Dow Jones Industrial. Infine, realizzerai un grafico dei dati.
Le tabelle ten_yr e dji sono già state caricate per te.
Questo esercizio fa parte del corso
Unire i dati con pandas
Istruzioni dell'esercizio
- Usa
.melt()suten_yrper fare unpivot di tutto tranne la colonnametric, impostandovar_name='date'evalue_name='close'. Salva il risultato inbond_perc. - Usando il metodo
.query(), seleziona solo le righe in cuimetricè uguale aclosee salva inbond_perc_close. - Usa
merge_ordered()per uniredji(tabella di sinistra) ebond_perc_closesudatecon un inner join, e impostasuffixesuguale a('_dow', '_bond'). Salva il risultato indow_bond. - Usando
dow_bond, crea un grafico mostrando solo i valori del Dow e dei bond.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Use melt on ten_yr, unpivot everything besides the metric column
bond_perc = ____
# Use query on bond_perc to select only the rows where metric=close
bond_perc_close = ____
# Merge (ordered) dji and bond_perc_close on date with an inner join
dow_bond = ____
# Plot only the close_dow and close_bond columns
dow_bond.plot(____, x='date', rot=90)
plt.show()