Vẽ đồ thị giá trái phiếu theo lợi suất
Khả năng vẽ đồ thị giá trái phiếu theo lợi suất giúp bạn khảo sát điều gì sẽ xảy ra với một trái phiếu hoặc danh mục trái phiếu khi mức lãi suất thị trường thay đổi.
Bây giờ, bạn sẽ tạo đồ thị giá trái phiếu theo lợi suất, nhưng lần này cho hai trái phiếu có kỳ hạn khác nhau. Bạn sẽ làm điều này bằng cách thêm các cột bổ sung vào DataFrame pandas cho từng trái phiếu. Hai trái phiếu bạn xét đều trả coupon 5%, và bạn sẽ vẽ một trái phiếu 5 năm và một trái phiếu 10 năm.
numpy, numpy_financial, pandas và matplotlib đã được nhập sẵn với tên lần lượt là np, npf, pd và plt.
Bài tập này là một phần của khóa học
Định giá và Phân tích Trái phiếu bằng Python
Hướng dẫn bài tập
- Tạo một mảng lợi suất trái phiếu từ 0 đến 20 (không bao gồm 20) với bước 0,1.
- Chuyển mảng này thành một DataFrame
pandasvà đặt tên cột làbond_yield. - Thêm hai cột nữa, mỗi cột cho một trái phiếu (5 năm và 10 năm), và tìm giá ứng với từng mức lợi suất.
- Vẽ đồ thị cho các trái phiếu này, đặt nhãn trục x là
Yield (%)và nhãn trục y làBond Price (USD).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()