ComeçarComece de graça

Plotting duration vs. the factor

Plotting a graph of duration against a factor such as maturity, coupons, or yields is a great way to see how the factor affects the duration of a bond.

In the video, we plotted a graph of duration against maturity. In this exercise, you are going to do the same thing for the coupon rate. You will use a 10 year bond with a yield of 5% and face value of USD 100.

numpy, numpy_financial, pandas, and matplotlib have already been imported for you as np, npf, pd, and plt, respectively.

Este exercício faz parte do curso

Bond Valuation and Analysis in Python

Ver curso

Instruções do exercício

  • Create an array of coupons from 0 to 10 in increment sizes of 0.1, and convert to a pandas DataFrame.
  • Add four additional columns to the DataFrame; price, price_up, price_down, and duration for the bond.
  • Plot a graph with bond_coupon on the x-axis and duration on the y-axis.

Exercício interativo prático

Experimente este exercício 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()
Editar e executar o código