Vẽ biểu đồ duration theo yếu tố
Vẽ biểu đồ duration theo một yếu tố như kỳ hạn, coupon, hoặc lợi suất là cách tuyệt vời để thấy yếu tố đó ảnh hưởng đến duration của trái phiếu như thế nào.
Trong video, chúng ta đã vẽ duration theo kỳ hạn. Ở bài này, bạn sẽ làm điều tương tự nhưng với lãi suất coupon. Bạn sẽ dùng trái phiếu kỳ hạn 10 năm, lợi suất 5% và mệnh giá 100 USD.
numpy, numpy_financial, pandas, và matplotlib đã được nhập sẵn với các bí danh 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 coupon từ 0 đến 10 với bước 0.1, và chuyển thành
pandasDataFrame. - Thêm bốn cột vào DataFrame:
price,price_up,price_down, vàdurationcho trái phiếu. - Vẽ biểu đồ với
bond_coupontrên trục hoành vàdurationtrên trục tung.
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 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()