การพล็อตกราฟราคาพันธบัตรเทียบกับ Yield
การพล็อตกราฟราคาพันธบัตรเทียบกับ yield ช่วยให้วิเคราะห์ได้ว่าพันธบัตรหรือพอร์ตโฟลิโอพันธบัตรจะเปลี่ยนแปลงอย่างไรเมื่ออัตราดอกเบี้ยในตลาดอยู่ที่ระดับต่าง ๆ
ในแบบฝึกหัดนี้ คุณจะสร้างกราฟราคาพันธบัตรเทียบกับ yield สำหรับพันธบัตร 2 ตัวที่มีอายุต่างกัน โดยเพิ่มคอลัมน์ใน DataFrame ของ pandas สำหรับพันธบัตรแต่ละตัว พันธบัตรทั้งสองจะมีอัตราดอกเบี้ย (coupon) 5% เหมือนกัน แต่มีอายุต่างกัน คือ 5 ปี และ 10 ปี
ได้นำเข้า numpy, numpy_financial, pandas และ matplotlib ให้แล้วในชื่อ np, npf, pd และ plt ตามลำดับ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การประเมินมูลค่าและวิเคราะห์พันธบัตรด้วย Python
คำแนะนำการฝึกหัด
- สร้างอาร์เรย์ของค่า yield พันธบัตรตั้งแต่ 0 ถึง 20 (ไม่รวม 20) โดยเพิ่มทีละ 0.1
- แปลงอาร์เรย์นี้เป็น DataFrame ของ
pandasและตั้งชื่อคอลัมน์ว่าbond_yield - เพิ่มอีก 2 คอลัมน์ สำหรับพันธบัตรแต่ละตัว (5 ปี และ 10 ปี) แล้วคำนวณราคาพันธบัตรสำหรับแต่ละระดับ yield
- พล็อตกราฟของพันธบัตรทั้งสองตัว โดยกำหนดป้ายกำกับแกน x เป็น
Yield (%)และแกน y เป็นBond Price (USD)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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()