คู่มือออปชันทั้งหมด
แปลงราคาของออปชันกลับเป็น volatility ที่โมเดลอนุมานอ่าน 19 นาที

คำนวณ Implied Volatility อย่างไร

เรียนรู้ขอบเขตราคาออปชัน vega และ monotonicity วิธี Newton–Raphson และ bisection ความไม่เสถียรเมื่อ vega ต่ำ การเลือก quote และการตรวจสอบ IV solver

จัดทำโดย Mark · แหล่งข้อมูลหลักอยู่ด้านล่าง

คำตอบโดยตรง

Implied volatility (IV) คำนวณโดยใส่ราคาตลาดของออปชันเข้าไปใน pricing model แล้วหา volatility σ เชิงตัวเลขที่ทำให้ราคาที่คำนวณได้ตรงกัน ราคา Black–Scholes ไม่สามารถจัดรูปเป็นสมการปิดรูปอย่างง่ายสำหรับ σ ได้ ดังนั้น implementation จึงใช้ Newton–Raphson, bisection หรือ root solver ที่เฉพาะทางกว่า Newton อัปเดตได้เร็วด้วยการหาร price error ด้วย vega แต่ไม่เสถียรได้เมื่อ vega ต่ำ Bisection ช้ากว่าแต่ทนทานภายในช่วงที่ครอบคำตอบ IV ขึ้นกับ bid, ask, mid, model, rates, dividends และ time convention ที่เลือก จึงเป็นพิกัดของโมเดล ไม่ใช่ volatility ที่สังเกตได้โดยตรง

การคำนวณ IV คือปัญหา inverse pricing

การกำหนดราคาไปข้างหน้าใช้ volatility เป็น input แล้วคืนค่าทฤษฎีของออปชัน ส่วนการย้อนกลับใช้ราคาที่เลือกแล้วแก้หา volatility

ต้องกำหนด spot, strike, time, rates, dividends และวิธีใช้สิทธิให้คงที่ก่อนที่ σ จะเป็น unknown เพียงตัวเดียว

การเปลี่ยน input ใด ๆ เท่ากับกำหนด inverse problem ใหม่ ความแตกต่างของ IV บนแพลตฟอร์มอาจมาจาก timestamp และ carry ไม่ใช่คุณภาพของ solver

ตรวจสอบว่าราคาเป้าหมายเป็นไปได้

European calls และ puts ต้องอยู่ระหว่าง lower bound ของ intrinsic value ที่ discount แล้วกับ upper bound ตาม no-arbitrage

ถ้าราคาเป้าหมายอยู่นอกขอบเขตเหล่านั้น จะไม่มีคำตอบ IV ที่เป็นบวกและมีค่าจำกัด และการวนซ้ำเพิ่มก็แก้ไม่ได้

Quote ที่ไขว้กันหรือเก่า spot ไม่ตรง dividends ผิด expiration ผิด หรือใช้ราคาแบบ American ในโมเดล European ล้วนทำให้เกิดการละเมิดได้

ราคา vanilla มัก monotone ตาม volatility

สำหรับ standard European vanilla options ที่ตรึง input อื่นไว้ ราคาของ call และ put จะเพิ่มขึ้นเมื่อ volatility เพิ่ม

Vega ที่เป็นบวกหมายความว่าราคาภายในที่ใช้ได้โดยทั่วไปมี IV เดียว จึงค้นหารากแบบมิติเดียวได้

ไม่ใช่ derivative ทุกชนิดจะมีคุณสมบัตินี้ Payoff หรือโมเดลที่ซับซ้อนอาจให้หลายราก หรือไม่มีพิกัด implied volatility ที่มีประโยชน์

Newton–Raphson หาร error ด้วย vega

ที่ค่าเดาปัจจุบัน σ_n ให้คำนวณ model price ลบด้วย target price แล้วหาร residual นั้นด้วย vega เพื่อสร้างค่าเดาครั้งถัดไป

การอัปเดตคือ σ_(n+1)=σ_n−(ModelPrice−MarketPrice)/Vega และเร็วมากใกล้รากเมื่อค่าเริ่มต้นดี

ถ้าการอัปเดตติดลบหรือเกินเพดานที่ปลอดภัย ให้ใช้ damping, clamp หรือเปลี่ยนไปใช้วิธีแบบมีช่วงครอบคำตอบ

Bisection รักษาช่วงที่ครอบคำตอบ

เลือกขอบเขต volatility ต่ำและสูงที่ residual ของราคามีเครื่องหมายตรงข้ามกัน จึงมีรากอยู่ระหว่างกลาง

คำนวณจุดกึ่งกลางแล้วเก็บไว้เฉพาะครึ่งที่ยังครอบราก การลู่เข้าคงที่และไม่ต้องใช้อนุพันธ์

Production solver สามารถรวมความเร็วของ Newton กับการป้องกันแบบ bisection หรือ Brent แทนการผูกกับวิธีเดียว

Vega ต่ำทำให้ IV ไม่เสถียรโดยธรรมชาติ

ออปชัน deep ITM, deep OTM และออปชันที่ใกล้หมดอายุอาจมี vega ต่ำ ทำให้ความต่างของราคาเพียงหนึ่งเซนต์กลายเป็นความต่างของ IV ขนาดใหญ่

นี่ไม่ใช่เพียงข้อบกพร่องของ algorithm ราคาให้ข้อมูลน้อยมากสำหรับระบุ volatility ทำให้การย้อนกลับเป็นปัญหาที่ ill-conditioned

ทศนิยมที่แสดงเพิ่มไม่ได้เพิ่มข้อมูล ช่วง bid-IV ถึง ask-IV อาจซื่อตรงกว่าตัวเลขเดียวที่ดูแม่นยำ

ราคาตลาดที่เลือกเป็นตัวกำหนดผลลัพธ์

Last trade อาจเก่า mid อาจเทรดไม่ได้ และกฎ mark-price แตกต่างกันในแต่ละแพลตฟอร์ม

เก็บ bid IV, ask IV, quote time และราคาของ underlying ไว้ด้วยกัน เพื่อแสดงว่า spread แปลงเป็นความไม่แน่นอนของ volatility อย่างไร

American equity options ต้องใช้โมเดลที่สะท้อน early exercise และ discrete dividends และอาจแตกต่างจาก Black–Scholes IV

รายงาน residual และ settings ที่ทำซ้ำได้

นอกจากชื่อ solver ให้เปิดเผย target price, model, initial guess, volatility bounds, tolerance และ maximum iterations

ใส่ IV ที่แก้ได้กลับเข้าโมเดล แล้วตรวจสอบว่า price residual อยู่ภายใน tick size และ precision ที่ต้องการ

อย่าแทนที่ความล้มเหลวด้วย IV ค่าเริ่มต้นแบบสุ่ม ให้ระบุอย่างชัดเจนว่า no solution, boundary price, low vega หรือ invalid input

คำถามที่พบบ่อย

คำนวณ implied volatility จาก Black–Scholes โดยตรงได้ไหม?

ราคาออปชันมี closed form แต่ σ ไม่มี inverse แบบแยกตัวอย่างง่าย จึงปกติจะใช้ numerical root solver

ทำไม Newton–Raphson จึงไม่ converge?

สาเหตุทั่วไปคือ vega ต่ำ ค่าเริ่มต้นไม่ดี ราคาเป้าหมายเป็นไปไม่ได้ หรือการอัปเดตหลุดออกจากช่วง volatility ที่ใช้ได้

ระหว่าง bid IV กับ ask IV ค่าใดถูกต้อง?

แต่ละค่าถูกอนุมานจาก quote ของตัวเอง ให้มองเป็นช่วงความไม่แน่นอนของตลาด แทนการบังคับให้ทั้งคู่เป็นค่าจริงค่าเดียว

IV คำนวณไม่สำเร็จหมายความว่า volatility เป็นศูนย์หรือไม่?

ไม่ อาจบ่งชี้ว่า price bounds ไม่ถูกต้อง vega ต่ำ input ไม่สอดคล้องกัน หรือเกิด numerical failure ที่ต้องระบุสาเหตุ

แหล่งข้อมูลและการอ่านเพิ่มเติม

คู่มือที่เกี่ยวข้อง