Plotando duration vs. o fator
Plotar um gráfico da duration em função de um fator como prazo (maturity), cupons ou yields é uma ótima forma de ver como esse fator afeta a duration de um título.
No vídeo, plotamos a duration em função do prazo. Neste exercício, você vai fazer o mesmo para a taxa de cupom. Você usará um título de 10 anos com yield de 5% e valor de face de USD 100.
numpy, numpy_financial, pandas e matplotlib já foram importados para você como np, npf, pd e plt, respectivamente.
Este exercicio faz parte do curso
Valoração e Análise de Títulos em Python
Instruções do exercicio
- Crie um array de cupons de 0 a 10 em incrementos de 0,1 e converta para um DataFrame do
pandas. - Adicione quatro colunas adicionais ao DataFrame:
price,price_up,price_downedurationpara o título. - Plote um gráfico com
bond_couponno eixo x edurationno eixo y.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Create array of coupon rates and assign to pandas DataFrame
bond_coupon = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])
# Calculate bond price, price_up, price_down, and duration
bond['price'] = -npf.pv(rate=0.05, nper=10, pmt=bond['bond_coupon'], fv=100)
bond['price_up'] = ____
bond['price_down'] = ____
bond['duration'] = (bond['____'] - bond['____']) / (2 * bond['____'] * 0.01)
# Plot coupon vs. duration, add labels & title, show plot
plt.plot(____, ____)
plt.xlabel('Coupon (%)')
plt.ylabel('Duration (%)')
plt.show()