Vẽ đồ thị độ lồi theo yếu tố
Một cách khác để kiểm tra tác động của một yếu tố nhất định lên độ lồi của trái phiếu là trực tiếp vẽ đồ thị giữa yếu tố đó và độ lồi của trái phiếu.
Trong bài tập này, bạn sẽ định giá một trái phiếu kỳ hạn 20 năm với coupon 6% và mệnh giá 100 USD, sau đó tìm độ lồi của trái phiếu này tại các mức lợi suất khác nhau.
numpy, numpy_financial, pandas, và matplotlib đã được nhập sẵn lần lượt dưới các tên 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 với bước 0.1 và chuyển thành một DataFrame của
pandas. - Tìm giá của trái phiếu, dịch chuyển lợi suất lên và xuống rồi định giá lại, sau đó tính độ lồi của trái phiếu.
- Vẽ đồ thị với lợi suất trái phiếu trên trục x và độ lồi trên trục y.
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 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')
____