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

การคำนวณราคาออปชันด้วย Black-Scholes

ออปชัน (Options) เป็น อนุพันธ์ ที่ได้รับความนิยมมากที่สุดในโลกสำหรับการบริหารความเสี่ยงด้านราคาสินทรัพย์ ในแบบฝึกหัดนี้ คุณจะคำนวณราคาของ European call option บนหุ้น IBM โดยใช้สูตร Black-Scholes โดยข้อมูล IBM_returns ได้ถูกโหลดไว้ใน workspace แล้ว

ขั้นแรก คำนวณค่าความผันผวน sigma ของ IBM_returns ในรูปของค่าเบี่ยงเบนมาตรฐานรายปี

จากนั้นใช้ฟังก์ชัน black_scholes() ซึ่งสร้างขึ้นสำหรับแบบฝึกหัดนี้และแบบฝึกหัดถัดไป เพื่อคำนวณราคาออปชันที่ระดับความผันผวนสองระดับ ได้แก่ sigma และ sigma คูณสอง

ราคาใช้สิทธิ K หรือราคาที่นักลงทุนมีสิทธิ (แต่ไม่มีภาระผูกพัน) ในการซื้อหุ้น IBM อยู่ที่ 80 อัตราดอกเบี้ยปลอดความเสี่ยง r อยู่ที่ 2% และราคาตลาดปัจจุบัน S อยู่ที่ 90

ดูซอร์สโค้ดของฟังก์ชัน black_scholes() ได้ ที่นี่

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

การบริหารความเสี่ยงเชิงปริมาณด้วย Python

ดูคอร์ส

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

  • คำนวณค่าความผันผวนของ IBM_returns เป็นค่าเบี่ยงเบนมาตรฐานรายปี sigma (ซึ่งเป็นวิธีเดียวกับที่ทำใน Chapter 1)
  • คำนวณราคา European call option แบบ Black-Scholes เป็น value_s โดยใช้ฟังก์ชัน black_scholes() ที่เตรียมไว้ให้ เมื่อความผันผวนเท่ากับ sigma
  • คำนวณราคาออปชัน Black-Scholes เป็น value_2s เมื่อความผันผวนเท่ากับ 2 * sigma
  • แสดงค่า value_s และ value_2s เพื่อดูว่าราคาออปชันเปลี่ยนแปลงอย่างไรเมื่อความผันผวนเพิ่มขึ้น

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

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

# Compute the volatility as the annualized standard deviation of IBM returns
sigma = np.sqrt(____) * IBM_returns.____

# Compute the Black-Scholes option price for this volatility
value_s = black_scholes(S = 90, X = 80, T = 0.5, r = 0.02, 
                        sigma = ____, option_type = "call")

# Compute the Black-Scholes option price for twice the volatility
value_2s = ____(S = 90, X = 80, T = 0.5, r = 0.02, 
                sigma = ____, option_type = "call")

# Display and compare both values
print("Option value for sigma: ", ____, "\n",
      "Option value for 2 * sigma: ", ____)
แก้ไขและรันโค้ด