开始使用免费开始使用

绘制凸性与因素的关系图

另一种检验某个因素对债券凸性影响的方法,是直接绘制该因素与债券凸性的关系图。

在本练习中,您将对一只期限为 20 年、票息 6%、面值 USD 100 的债券定价,然后在不同收益率水平下计算该债券的凸性。

numpynumpy_financialpandasmatplotlib 已分别以 npnpfpdplt 的名称为您导入。

本练习是课程的一部分

用 Python 进行债券定价与分析

查看课程

练习说明

  • 创建从 0 到 20、步长为 0.1 的债券收益率数组,并转换为 pandas DataFrame。
  • 计算债券价格,将收益率分别上调和下调后重新定价,然后计算债券的凸性。
  • 绘制图表:x 轴为债券收益率,y 轴为凸性。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Create array of bond yields and covert to pandas DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])

# Find price of bond, reprice for higher and lower yields, calculate convexity
bond['price'] = -npf.pv(rate=bond['____'] / 100, nper=____, pmt=____, fv=____)
bond['price_up'] = ____
bond['price_down'] = ____
bond['convexity'] = (bond['____'] + bond['____'] - 2 * bond['____']) / (bond['____'] * 0.01 ** 2)

# Create plot of bond yields against convexity, add labels to axes, display plot
plt.plot(bond['____'], bond['____'])
plt.xlabel('Yield (%)')
plt.ylabel('Convexity')
____
编辑并运行代码