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

ราคาที่คาดการณ์ vs. ราคาจริง I

การพล็อตราคาที่คาดการณ์ของพันธบัตรในระดับอัตราผลตอบแทนต่าง ๆ โดยใช้ duration แล้วเปรียบเทียบกับราคาจริง เป็นวิธีที่ดีในการแสดงให้เห็นความแม่นยำของ duration

ในแบบฝึกหัดนี้ จะเริ่มต้นด้วยการหา duration ของพันธบัตร รวมถึงราคาพันธบัตรที่ระดับอัตราผลตอบแทนต่าง ๆ ในแบบฝึกหัดถัดไป จะหาราคาที่คาดการณ์จาก duration และพล็อตความแตกต่าง

พันธบัตรที่ใช้คือพันธบัตรอายุ 10 ปี จ่ายคูปองรายปี 5% และมีอัตราผลตอบแทนจนครบกำหนด (yield to maturity) 5%

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

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

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

ดูคอร์ส

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

  • หา duration และ dollar duration ของพันธบัตร
  • สร้างอาร์เรย์ของ bond yields ตั้งแต่ 0 ถึง 10 โดยเพิ่มครั้งละ 0.1 แล้วแปลงอาร์เรย์นี้เป็น pandas DataFrame ชื่อ bond_yield
  • เพิ่มคอลัมน์ price ที่บรรจุราคาพันธบัตรสำหรับแต่ละระดับอัตราผลตอบแทน

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Price a 10 year bond with 5% coupon and 5% yield, reprice at higher and lower yields
price = ____
price_up = ____
price_down = ____

# Find the duration and dollar duration of the bond
duration = ____
dollar_duration = ____ * ____ * ____

# Create an array of yields from 0 to 10 in steps of 0.1, convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])

# Add a column called price with the bond price for each yield level
bond['price'] = -npf.pv(rate=bond['bond_yield'] / 100, ____, ____, ____)
แก้ไขและรันโค้ด