ราคาที่คาดการณ์เทียบกับราคาจริง II
การพล็อตราคาที่คาดการณ์ของพันธบัตรในระดับอัตราผลตอบแทนต่าง ๆ โดยใช้ duration แล้วเปรียบเทียบกับราคาจริงเป็นวิธีที่ดีในการแสดงให้เห็นความแม่นยำของ duration
ในแบบฝึกหัดก่อนหน้า คุณได้คำนวณ duration ของพันธบัตรและสร้าง DataFrame ที่มีราคาพันธบัตรจริงในแต่ละระดับอัตราผลตอบแทนแล้ว ในแบบฝึกหัดนี้ จะเพิ่มคอลัมน์ที่มีราคาพันธบัตรที่คาดการณ์โดยใช้ duration ลงใน DataFrame นั้น จากนั้นพล็อตความแตกต่างระหว่างราคาที่คาดการณ์และราคาจริง
numpy, numpy_financial, pandas และ matplotlib ถูก import ให้แล้วในชื่อ np, npf, pd และ plt ตามลำดับ พร้อมกับโค้ดจากแบบฝึกหัดก่อนหน้า
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การประเมินมูลค่าและวิเคราะห์พันธบัตรด้วย Python
คำแนะนำการฝึกหัด
- เพิ่มคอลัมน์
yield_changeโดยใช้ค่าอัตราผลตอบแทนปัจจุบันลบด้วยอัตราผลตอบแทนเดิม - เพิ่มคอลัมน์
price_changeที่แสดงการเปลี่ยนแปลงราคาพันธบัตรที่คาดการณ์โดยใช้ dollar duration - เพิ่มคอลัมน์
predicted_priceโดยรวมราคาพันธบัตรเดิมกับการเปลี่ยนแปลงราคา - พล็อตกราฟอัตราผลตอบแทนพันธบัตรเทียบกับราคาจริงและราคาที่คาดการณ์บนแกนเดียวกัน แล้วแสดงกราฟ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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"])
____