Strasmore Research

Put-Call Parity คืออะไร พร้อมตัวเลขจาก Option Chain จริง

ทำความเข้าใจความสัมพันธ์ตายตัวระหว่าง Call, put, หุ้น และเงินสด พร้อมคำนวณจาก option chain จริงเพื่อหาเงินปันผลและอัตราต้นทุนการกู้ยืมโดยนัย

Put-call parity คือความสัมพันธ์ทางคณิตศาสตร์แบบตายตัวที่เชื่อมราคา Call, put ที่มีเงื่อนไขตรงกัน, หุ้นอ้างอิง และเงินกู้เข้าด้วยกันเป็นราคาเดียว สำหรับ European options ที่มี strike และวันหมดอายุเดียวกัน ราคา Call ลบด้วยราคา put จะเท่ากับส่วนต่างระหว่างราคา forward ของหุ้นกับ strike หลังคิดลดมูลค่า เมื่อนำความสัมพันธ์นี้ไปคำนวณกับ option chain จริง จะได้ราคาหุ้นที่ options บ่งชี้ ซึ่งมักไม่ตรงกับราคาที่ปรากฏบนกระดาน ส่วนต่างระหว่างราคาทั้งสองคือที่มาของผลกระทบจากเงินปันผลและอัตราต้นทุนทางการเงิน

สิ่งที่ put-call parity ระบุจริง

เขียนความสัมพันธ์นี้ได้เป็น C - P = S - PV(K) - PV(D) โดย C คือราคา Call และ P คือราคา put ที่มี strike และวันหมดอายุเดียวกัน S คือราคาหุ้นในวันนี้ PV(K) คือมูลค่าปัจจุบันของ strike ที่คิดลดด้วยอัตราต้นทุนทางการเงิน และ PV(D) คือมูลค่าปัจจุบันของเงินปันผลที่หุ้นจะจ่ายก่อนวันหมดอายุ Call option ให้สิทธิซื้อหุ้นที่ strike ขณะที่ put option ให้สิทธิขายหุ้นที่ strike ดังกล่าว

เบื้องหลังสมการนี้คือชุดสถานะ เมื่อซื้อ Call และขาย put ที่ strike เดียวกัน ผู้ลงทุนจะมีสถานะเทียบเท่ากับการถือหุ้นที่ strike นั้นในวันหมดอายุ ไม่ว่าราคาจะเคลื่อนไหวอย่างไร หากราคาสูงกว่า strike ผู้ลงทุนจะใช้สิทธิ หากต่ำกว่า strike ผู้ลงทุนจะถูกใช้สิทธิ สถานะทั้งคู่รวมกันเป็น synthetic long share position ซึ่งเป็นการซื้อหุ้นด้วยสินเชื่อและชำระค่าหุ้นในวันหมดอายุแทนวันนี้ อีกทั้งจะไม่ได้รับเงินปันผลระหว่างทาง Put-call parity ประเมินผลของทั้งสองปัจจัยนี้เท่านั้น

สมมติว่าหุ้นมีราคา $100, Call อายุหนึ่งปีที่ strike $100 มีราคาเสนอ $9, put ที่มีเงื่อนไขตรงกันมีราคา $5 และไม่มีเงินปันผลระหว่างนั้น สถานะทั้งคู่มีต้นทุน $4 เมื่อนำ strike กลับมารวม จะได้ว่าราคา $100 บนกระดานบ่งชี้ราคาหุ้นผ่าน options ที่ $104 ส่วนต่าง $4 คือดอกเบี้ยของราคาซื้อที่เลื่อนการชำระออกไปหนึ่งปี หรือประมาณสี่เปอร์เซ็นต์ ตัวเลขนี้เป็นเพียงตัวอย่างเพื่อให้คำนวณได้ง่าย

ราคาหุ้นที่ options บ่งชี้

เมื่อจัดรูปสมการใหม่ จะได้ราคาหุ้นที่ความสัมพันธ์นี้คำนวณขึ้นเอง ได้แก่ ราคา Call ลบด้วยราคา put แล้วบวก strike เมื่อนำไปคำนวณที่ทุก strike ภายใต้วันหมดอายุเดียวกัน ผลลัพธ์จะอยู่ใกล้กันภายในระดับไม่กี่เซนต์ ตัวเลขนี้คือราคาหุ้นสังเคราะห์ ส่วนระยะห่างระหว่างราคาดังกล่าวกับราคาปิดบนกระดานคือ basis หรือ carry ของสถานะสังเคราะห์ ดอกเบี้ยจนถึงวันหมดอายุจะดัน basis ให้สูงขึ้น ขณะที่เงินปันผลก่อนวันหมดอายุจะกด basis ให้ลดลง

องค์ประกอบภายในส่วนต่างของ parity

มีอยู่สี่ปัจจัย และมีเพียงสี่ปัจจัยเท่านั้น:

  • ดอกเบี้ยจนถึงวันหมดอายุ การชำระ strike ในภายหลังแทนการชำระวันนี้เท่ากับการกู้เงินตลอดอายุสัญญา และสถานะทั้งคู่จะสะท้อนต้นทุนดังกล่าว
  • เงินปันผลก่อนวันหมดอายุ ผู้ถือสถานะสังเคราะห์จะไม่ได้รับเงินปันผล ดังนั้นเงินปันผลทุกงวดที่ขึ้นเครื่องหมาย XD ก่อนสัญญาหมดอายุจะถูกหักออกจากส่วนต่าง
  • ต้นทุนการยืมหุ้น ผู้ที่รับอีกด้านของธุรกรรมและขายหุ้นชอร์ตต้องจ่ายค่าธรรมเนียม Stock loan และค่าธรรมเนียมนี้จะสะท้อนอยู่ในส่วนต่างเดียวกัน
  • มูลค่าของสิทธิใช้สิทธิก่อนกำหนดในสัญญา American options ซึ่งทำให้ความสัมพันธ์ที่ควรเท่ากันกลายเป็นช่วงราคา

ความสัมพันธ์เดียวกันเมื่อพิจารณาหลายวันหมดอายุ

ดอกเบี้ยสะสมตามจำนวนวัน ขณะที่เงินปันผลจะเกิดขึ้นในวันที่กำหนด ดังนั้น basis จึงเป็นเส้นโค้ง ไม่ใช่ตัวเลขเดียว Option chain ยังให้ข้อมูลอีกชุดหนึ่งบนเส้นโค้งนี้ Put-call parity เชื่อม Call และ put ที่ strike เดียวกันเข้ากับ forward เดียวกัน ดังนั้นเมื่อผู้คำนวณราคานำอัตราดอกเบี้ยและสมมติฐานเงินปันผลจาก chain มาใช้ จะได้ implied volatility เดียวกันสำหรับทั้งสองฝั่ง หากค่าของทั้งสองฝั่งแตกต่างกัน ก็หมายความว่าสมมติฐานที่ใช้แตกต่างกัน

แผงข้อมูลนี้เป็นข้อมูลย้อนหลัง ตัวเลขบนหน้านี้จึงไม่เปลี่ยนแปลง โดยเป็นวันหมดอายุรายเดือนของ AAPL ตั้งแต่กรกฎาคม 2026 ถึงมกราคม 2027 อ่านจากการซื้อขายวันที่ 16 มิถุนายน 2026 และใช้ strike ที่ใกล้ราคาปิดที่สุดของแต่ละวันหมดอายุ

คำสั่งดึงข้อมูลความผันผวนโดยนัยของ Call และ Put ใกล้ราคาใช้สิทธิ ณ วันครบกำหนดรายเดือนของ AAPL วันที่ 16 มิถุนายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    expiry_date,
    days_out,
    concat('$', toString(argMin(strike, atm_gap)))                        AS atm_strike_used,
    round(100 * argMin(call_iv, atm_gap), 1)                              AS call_iv_pct,
    round(100 * argMin(put_iv, atm_gap), 1)                               AS put_iv_pct,
    round(100 * (argMin(call_iv, atm_gap) - argMin(put_iv, atm_gap)), 1)  AS iv_gap_pct
FROM
(
    SELECT
        expiry_date,
        days_out,
        strike,
        call_iv,
        put_iv,
        abs(strike / spot_close - 1) AS atm_gap
    FROM
    (
        SELECT
            toString(expiration_date)                                    AS expiry_date,
            max(dateDiff('day', toDate(date), toDate(expiration_date)))  AS days_out,
            round(toFloat64(strike_price), 2)                            AS strike,
            maxIf(toFloat64(implied_volatility), leg = 'C')              AS call_iv,
            maxIf(toFloat64(implied_volatility), leg = 'P')              AS put_iv,
            max(toFloat64(underlying_close))                             AS spot_close
        FROM
        (
            SELECT
                date,
                expiration_date,
                strike_price,
                implied_volatility,
                underlying_close,
                upper(substring(ticker, length(ticker) - 8, 1)) AS leg
            FROM global_markets.options_greeks
            WHERE underlying_symbol = 'AAPL'
              AND date = '2026-06-16'
              AND expiration_date BETWEEN '2026-07-01' AND '2027-01-31'
              AND toDayOfWeek(toDate(expiration_date)) = 5
              AND toDayOfMonth(toDate(expiration_date)) BETWEEN 15 AND 21
              AND iv_converged = 1
              AND volume > 0
              AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.03
        )
        GROUP BY expiry_date, strike
        HAVING countIf(leg = 'C') > 0
           AND countIf(leg = 'P') > 0
    )
)
GROUP BY expiry_date, days_out
ORDER BY expiry_date
Run this yourself

2026-07-17 ซึ่งเหลือเวลา 31 วัน สัญญา strike $300 มี Call ที่ implied volatility 21.9 เปอร์เซ็นต์ เทียบกับ put ที่ 20.5 เปอร์เซ็นต์ หรือมีส่วนต่าง 1.4 จุด ส่วน ณ 2027-01-15 ซึ่งเหลือเวลา 213 วัน ส่วนต่างอยู่ที่ 0.3 จุด Options ทั้งสองฝั่งเคลื่อนไหวสอดคล้องกันตลอดช่วงปฏิทิน

วิธีคำนวณเงินปันผลหรืออัตราต้นทุนการยืมหุ้นโดยนัย

หากต้องการหาเงินปันผลโดยนัย ให้เลือกวันหมดอายุสองวันซึ่งอยู่คนละฝั่งของวันขึ้นเครื่องหมาย XD ของบริษัท จากนั้นคำนวณ basis ของแต่ละวันและนำมาลบกัน ดอกเบี้ยเพิ่มเติมจากจำนวนวันที่เพิ่มขึ้นมีขนาดเล็กและสามารถคำนวณได้จากอัตราผลตอบแทนตั๋วเงินคลังในขณะนั้น ส่วนที่เหลือคือเงินสดที่ chain คาดว่าจะขึ้นเครื่องหมาย XD ในช่วงระหว่างนั้น เมื่อนำไปเทียบกับกำหนดการที่ประกาศไว้ในหน้า วันขึ้นเครื่องหมาย XD และ options จะเห็นสมมติฐานเงินปันผลที่ chain ใช้

หากต้องการหาอัตราต้นทุนการยืมหุ้นโดยนัย ให้คำนวณย้อนกลับ โดยกำหนดเงินปันผลตามจำนวนที่ประกาศและกำหนดต้นทุนทางการเงินตามอัตราตั๋วเงินคลัง จากนั้นคำนวณ basis ที่ปัจจัยทั้งสองให้ผล และเปรียบเทียบกับ basis ที่ chain เสนอราคา หากเป็นหุ้นที่ยืมได้ง่าย ตัวเลขทั้งสองจะใกล้เคียงกัน หากเป็นหุ้นที่ยืมได้ยาก basis ที่เสนอราคาจะต่ำกว่า basis ที่คำนวณได้ และส่วนต่างต่อปีคือค่าธรรมเนียมการยืมหุ้นที่ options สะท้อน

ขั้นแรกต้องทราบว่าควรดึงราคาสองรายการใดจากหน้าจอ โดย คู่มือ option chain ของเราอธิบายโครงสร้างข้อมูลไว้

จุดที่ American options ทำให้ความสัมพันธ์ไม่เท่ากัน

American options สามารถใช้สิทธิได้ทุกวันจนถึงวันหมดอายุ ส่วน European options ใช้สิทธิได้เฉพาะวันหมดอายุ และ parity ในรูปสมการที่เท่ากันอย่างเคร่งครัดใช้กับกรณี European options เท่านั้น สำหรับสัญญาแบบ American ความสัมพันธ์จะกลายเป็นช่วงราคา โดยช่วงดังกล่าวจะกว้างขึ้นในฝั่งที่มีสิทธิใช้สิทธิก่อนกำหนดซึ่งมีมูลค่า Call แบบ American จะมีมูลค่าจากการใช้สิทธิก่อนกำหนดเฉพาะในช่วงก่อนวันขึ้นเครื่องหมาย XD ของเงินปันผลที่มากกว่ามูลค่าเวลาที่เหลือของสัญญาไม่นาน นี่จึงเป็นเหตุผลที่การใช้สิทธิ Call ก่อนกำหนดมักกระจุกตัวในวันก่อนวันขึ้นเครื่องหมาย XD

การทดสอบ volatility แบบเดียวกันสามารถทำได้กับทุก strike ที่มีวันหมดอายุเดียวกัน และจะแสดงให้เห็นความกว้างของช่วงราคานี้

คำสั่งดึงข้อมูลความผันผวนโดยนัยของ Call และ Put ที่ราคาใช้สิทธิของ AAPL ตรงกัน วันครบกำหนด 18 กันยายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    strike,
    round(100 * call_iv, 1)             AS call_iv_pct,
    round(100 * put_iv, 1)              AS put_iv_pct,
    round(100 * (call_iv - put_iv), 1)  AS iv_gap_pct
FROM
(
    SELECT
        round(toFloat64(strike_price), 2)                AS strike,
        maxIf(toFloat64(implied_volatility), leg = 'C')  AS call_iv,
        maxIf(toFloat64(implied_volatility), leg = 'P')  AS put_iv
    FROM
    (
        SELECT
            strike_price,
            implied_volatility,
            upper(substring(ticker, length(ticker) - 8, 1)) AS leg
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'AAPL'
          AND date = '2026-06-16'
          AND expiration_date = '2026-09-18'
          AND iv_converged = 1
          AND volume > 0
          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.15
          AND toUInt32(toFloat64(strike_price)) % 5 = 0
    )
    GROUP BY strike
    HAVING countIf(leg = 'C') > 0
       AND countIf(leg = 'P') > 0
)
ORDER BY strike
Run this yourself

เส้นทั้งสองเคลื่อนไหวใกล้เคียงกันตลอด ladder ที่ strike 255, Call บ่งชี้ implied volatility 30.5 เปอร์เซ็นต์ ขณะที่ put อยู่ที่ 29.3 เปอร์เซ็นต์ หรือมีส่วนต่าง 1.2 จุด หากเกิดส่วนต่างที่ strike ปลายสุด สาเหตุที่เป็นไปได้ ได้แก่ ราคาปิดของฝั่งหนึ่งไม่เป็นปัจจุบัน ตลาดที่มีสภาพคล่องต่ำ ณ strike นั้น ค่า Premium จากการใช้สิทธิก่อนกำหนดซึ่งแบบจำลองไม่ได้รวมไว้ หรือสมมติฐานเงินปันผลที่แตกต่างจากสมมติฐานที่ chain ใช้กำหนดราคา

Conversion และ reversal: กระแสธุรกรรมที่บังคับให้ parity กลับเข้าสู่แนวเดียวกัน

Conversion ประกอบด้วยการซื้อหุ้น การขาย Call และการซื้อ put ที่ strike เดียวกัน ส่วน reversal เป็นโครงสร้างตรงข้าม ทั้งสองชุดสถานะจะไม่ไวต่อราคาหุ้นในวันหมดอายุ และสิ่งที่เหลืออยู่คือต้นทุนทางการเงินกับปัจจัยด้านเงินปันผล Market maker จะเปิดสถานะเหล่านี้เมื่อส่วนต่างมากพอที่จะครอบคลุมต้นทุน และกระแสธุรกรรมดังกล่าวจะดึงราคาเสนอซื้อขายกลับเข้าหาแนว parity ความได้เปรียบจากธุรกรรมนี้เป็นของ trading desk ที่มีต้นทุนทางการเงินต่ำและมีแหล่งยืมหุ้นรองรับ โดยหน้านี้ไม่ใช่คู่มือสำหรับการซื้อขายกลยุทธ์ดังกล่าว

Parity แตกต่างจาก put/call ratio อย่างไร

คำสองคำนี้มักถูกเข้าใจว่าเป็นสิ่งเดียวกัน Put-call parity คือความสัมพันธ์ด้านราคาระหว่าง Call หนึ่งสัญญากับ put หนึ่งสัญญาที่มี strike เดียวกัน และเป็นความสัมพันธ์ทางคณิตศาสตร์ ส่วน put/call ratio นับปริมาณการซื้อขายหรือ open interest ตลอดทั้ง chain และใช้เป็นตัวชี้วัด sentiment Parity ระบุว่าคู่ options ควรมีราคาเท่าใดเมื่อเทียบกับหุ้น ขณะที่ ratio ระบุว่าผู้ลงทุนซื้อขายอะไรกัน

หมายเหตุและวิธีการจัดทำข้อมูล

ตัวเลขคือ implied volatility ณ ราคาปิดรายวันของสัญญา AAPL เมื่อวันที่ 16 มิถุนายน 2026 โดยจับคู่ Call กับ put ที่ strike เดียวกัน และใช้ราคาปิดของหุ้นอ้างอิงจากรอบการซื้อขายเดียวกัน สัญญาจะถูกรวมเฉพาะกรณีที่มีปริมาณการซื้อขายมากกว่าศูนย์ในวันดังกล่าวและมี implied volatility ที่คำนวณได้สำเร็จ การเลือก strike ใช้ช่วงห่างห้าดอลลาร์เพื่อให้อ่านง่าย ส่วนแผงข้อมูลวันหมดอายุจะใช้ strike ที่ใกล้ราคาปิดที่สุดของแต่ละวันหมดอายุรายเดือน ตัวอักษร Call หรือ put มาจากอักขระลำดับที่เก้านับจากท้ายสัญญา OCC Options ที่จดทะเบียนของ AAPL เป็น American style ดังนั้นตัวเลขทุกตัวในที่นี้จึงรวมค่า Premium จากการใช้สิทธิก่อนกำหนดตามที่ตลาดประเมินไว้ในวันนั้น

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

สูตร put-call parity คืออะไร

สำหรับ European options ที่มี strike และวันหมดอายุเดียวกัน ราคา Call ลบด้วยราคา put จะเท่ากับราคาหุ้น ลบด้วยมูลค่าปัจจุบันของ strike และลบด้วยมูลค่าปัจจุบันของเงินปันผลที่จ่ายก่อนวันหมดอายุ เมื่อจัดรูปใหม่ ราคา Call ลบด้วยราคา put แล้วบวก strike จะได้ราคาหุ้นที่ options บ่งชี้

Put-call parity ใช้กับ American options ได้หรือไม่

ใช้ในรูปสมการที่เท่ากันอย่างเคร่งครัดไม่ได้ สิทธิใช้สิทธิก่อนกำหนดจะทำให้ความสัมพันธ์กลายเป็นช่วงราคาที่ล้อมรอบความสัมพันธ์ของ European options

จะคำนวณเงินปันผลโดยนัยจาก option chain ได้อย่างไร

เลือก Call และ put ที่มี strike และวันหมดอายุเดียวกัน คำนวณราคา Call ลบด้วยราคา put แล้วบวก strike จากนั้นลบด้วยราคาหุ้น ส่วนต่างที่ได้คือดอกเบี้ยจนถึงวันหมดอายุหักด้วยเงินปันผลที่คาดไว้ คำนวณดอกเบี้ยจากอัตราตั๋วเงินคลังตลอดจำนวนวันเดียวกัน แล้วส่วนที่เหลือคือเงินปันผลที่ chain ใช้กำหนดราคา

เหตุใด Call และ put ที่มี strike เดียวกันจึงมี implied volatility เท่ากัน

Parity เชื่อมราคาของทั้งสองสัญญาโดยไม่มี volatility เป็นองค์ประกอบในความสัมพันธ์ ดังนั้นแบบจำลองที่กำหนดราคาสัญญาหนึ่งจาก forward และอัตราคิดลดที่กำหนด จะกำหนดราคาอีกสัญญาจากปัจจัยนำเข้าเดียวกัน


ทุกแผงข้อมูลในหน้านี้มาพร้อม SQL ที่ใช้สร้างข้อมูล หากต้องการรัน ladder เดียวกันกับหุ้นอื่นหรือวันหมดอายุที่ไกลออกไป ให้ส่งคำขอเป็นภาษาอังกฤษแบบธรรมชาติบน Strasmore terminal

#put-call parity#options#arbitrage#dividends#synthetics