Traçando preços de títulos versus rendimentos
Conseguir traçar um gráfico de preços de títulos versus rendimentos ajuda a investigar o que pode acontecer com um título ou uma carteira de títulos em diferentes níveis de taxas de juros no mercado.
Agora você vai criar um gráfico de preços de títulos versus rendimentos, mas desta vez para dois títulos com prazos de vencimento diferentes. Você fará isso adicionando colunas extras ao seu DataFrame do pandas para cada título adicional. Os títulos que você vai considerar pagam ambos um cupom de 5%, mas agora você vai traçar um título de 5 anos e outro de 10 anos.
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 rendimentos de títulos de 0 a 20 (não inclusivo) em incrementos de 0,1.
- Converta esse array em um DataFrame do
pandase nomeie a coluna comobond_yield. - Adicione mais duas colunas, uma para cada título (5 anos e 10 anos), e encontre o preço para um dado nível de rendimento.
- Trace um gráfico desses títulos, definindo o rótulo do eixo x como
Yield (%)e o rótulo do eixo y comoBond Price (USD).
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Create an array of bond yields and convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])
# Add columns for different bonds
bond['bond_price_5Y'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=____, pmt=____, fv=____)
bond['bond_price_10Y'] = -npf.pv(rate=____, nper=____, pmt=____, fv=____)
# Plot graph of bonds
plt.plot(bond['bond_yield'], bond['bond_price_5Y'], label='5 Year Bond')
plt.plot(____, ____, label='10 Year Bond')
plt.xlabel(____)
plt.ylabel(____)
plt.legend()
plt.show()