การคำนวณราคาออปชันด้วย 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: ", ____)