เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การพล็อตกราฟ duration เทียบกับปัจจัยต่าง ๆ

การพล็อตกราฟ duration เทียบกับปัจจัยต่าง ๆ เช่น อายุครบกำหนด คูปอง หรืออัตราผลตอบแทน เป็นวิธีที่ดีในการดูว่าปัจจัยเหล่านั้นส่งผลต่อ duration ของพันธบัตรอย่างไร

ในวิดีโอ เราได้พล็อตกราฟ duration เทียบกับอายุครบกำหนด ในแบบฝึกหัดนี้ คุณจะทำสิ่งเดียวกันสำหรับอัตราคูปอง โดยใช้พันธบัตรอายุ 10 ปี ที่มีอัตราผลตอบแทน 5% และมูลค่าที่ตราไว้ 100 USD

numpy, numpy_financial, pandas และ matplotlib ถูกนำเข้าให้แล้วในชื่อ np, npf, pd และ plt ตามลำดับ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การประเมินมูลค่าและวิเคราะห์พันธบัตรด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างอาร์เรย์ของค่าคูปองตั้งแต่ 0 ถึง 10 โดยมีช่วงเพิ่มทีละ 0.1 แล้วแปลงเป็น DataFrame ของ pandas
  • เพิ่มคอลัมน์อีก 4 คอลัมน์ลงใน DataFrame ได้แก่ price, price_up, price_down และ duration สำหรับพันธบัตร
  • พล็อตกราฟโดยให้ bond_coupon อยู่บนแกน x และ duration อยู่บนแกน 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()
แก้ไขและรันโค้ด