Giá dự đoán so với giá thực tế II
Vẽ biểu đồ giá trái phiếu dự đoán cho các mức lợi suất khác nhau bằng cách dùng duration, rồi so sánh các mức giá dự đoán này với giá thực tế của trái phiếu là cách trực quan để đánh giá độ chính xác của duration.
Trong bài trước, bạn đã tính duration của trái phiếu và tạo một DataFrame với giá trái phiếu thực tế tại mỗi mức lợi suất. Ở bài này, bạn sẽ thêm các cột vào DataFrame này để chứa giá trái phiếu dự đoán dựa trên duration, rồi vẽ biểu đồ chênh lệch giữa giá dự đoán và giá thực tế.
numpy, numpy_financial, pandas và matplotlib đã được nhập sẵn lần lượt là np, npf, pd và plt, cùng với mã từ bài trước.
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
- Thêm cột
yield_changelà lợi suất hiện tại trừ lợi suất ban đầu. - Thêm cột
price_changelà mức thay đổi giá trái phiếu dự đoán theo dollar duration. - Thêm cột
predicted_pricebằng cách kết hợp giá trái phiếu ban đầu với mức thay đổi giá. - Thêm biểu đồ lợi suất trái phiếu so với giá thực tế và so với giá dự đoán trên cùng một hệ trục, và hiển thị biểu đồ.
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.
# Add a column called yield_change with the current yield minus original yield
bond['yield_change'] = (bond['bond_yield'] - ____)
# Find the predicted bond price change using dollar duration then find predicted price
bond['price_change'] = -100 * ____ * bond['yield_change'] / 100
bond['predicted_price'] = ____ + bond['price_change']
# Plot bond yields against predicted and actual prices, add labels, legend, and display
plt.plot(bond['bond_yield'], bond['price'])
plt.plot(____, ____)
plt.xlabel('Yield (%)')
plt.ylabel('Price (USD)')
plt.legend(["Actual Price", "Predicted Price"])
____