Strasmore Research

การแตกหุ้นกระทบออปชันของคุณอย่างไร

การแตกหุ้นจะปรับ Strike price จำนวนสัญญา และหุ้นที่ส่งมอบโดยอัตโนมัติ ดูผลต่อออปชัน 100 หุ้น และกรณีที่การคำนวณแตกต่างจากธรรมเนียมทั่วไป

การแตกหุ้นไม่ได้เปลี่ยนมูลค่าของสิทธิในออปชันของคุณ Options Clearing Corporation ซึ่งเป็นศูนย์รับฝากและชำระราคาที่ออกออปชันสหรัฐฯ ที่จดทะเบียนทุกสัญญา จะปรับสัญญาที่เปิดอยู่ทุกสัญญาในวันที่แตกหุ้น และการปรับดังกล่าวเป็นเพียงการคำนวณทางคณิตศาสตร์ล้วน ๆ คือจำนวนเงินที่ต้องใช้เพื่อใช้สิทธิและจำนวนหุ้นที่รองรับสัญญาจะยังคงมีมูลค่าเท่าเดิม สิ่งที่เปลี่ยนคือรูปแบบของสัญญา และอัตราการแตกหุ้นบางประเภททำให้รูปแบบดังกล่าวแตกต่างจากธรรมเนียม 100 หุ้นที่ option chain ทุกชุดใช้เป็นหลัก

ออปชันของคุณจะเป็นอย่างไรเมื่อหุ้นแตกแบบ 4-for-1

เริ่มจากกรณีทั่วไปที่ตรงกับการแตกหุ้นของบริษัทขนาดใหญ่ส่วนใหญ่ การแตกหุ้นแบบ 4-for-1 ให้หุ้นใหม่ 4 หุ้นต่อหุ้นเดิม 1 หุ้น และราคาหุ้นจะลดลงเหลือหนึ่งในสี่ในเช้าวันที่มีผล ช่องข้อมูล 3 รายการในสัญญาออปชันจะเปลี่ยนไปพร้อมกัน:

  • Strike price จะถูกหารด้วย 4
  • จำนวนสัญญาที่ถืออยู่จะเพิ่มขึ้น 4 เท่า
  • จำนวนหุ้นที่ส่งมอบยังคงอยู่ที่ 100 หุ้นต่อสัญญา ภายใต้ ticker เดิม

ลองดูตัวอย่างสมมติ Call option 1 สัญญาที่มี strike $200 บนหุ้นราคา $220 จะกลายเป็น Call option 4 สัญญาที่มี strike $50 บนหุ้นราคา $55 การใช้สิทธิในสัญญาเดิมหมายถึงการจ่ายเงิน $20,000 เพื่อรับหุ้น 100 หุ้น การใช้สิทธิในสัญญาที่ปรับแล้วทั้ง 4 สัญญาหมายถึงการจ่ายเงิน $20,000 เพื่อรับหุ้น 400 หุ้น และหุ้น 400 หุ้นหลังการแตกหุ้นให้สิทธิเรียกร้องต่อบริษัทเทียบเท่ากับหุ้น 100 หุ้นก่อนการแตกหุ้น ไม่มีฝ่ายใดได้ประโยชน์หรือเสียประโยชน์จากการปรับนี้

อัตราส่วนจำนวนเต็มทุกแบบทำงานในลักษณะเดียวกัน ไม่ว่าจะเป็น 2-for-1 หรือ 10-for-1 หลังการปรับ option chain จะยังมีรูปแบบปกติ ได้แก่ strike แบบตัวเลขกลม สัญญาละ 100 หุ้น และใช้ symbol เดิม การแตกหุ้นมาตรฐานทำให้ผู้ถือสถานะออปชันไม่ต้องดำเนินการใด ๆ และ การเคลื่อนไหวของหุ้นหลังจากนั้น เป็นอีกประเด็นหนึ่งที่แยกจากการเปลี่ยนแปลงของสัญญา

การแตกหุ้นเกิดขึ้นในตลาดออปชันบ่อยเพียงใด

การแตกหุ้นทั้งแบบเพิ่มจำนวนหุ้นและแบบรวมหุ้นเกิดขึ้นในตลาดสหรัฐฯ ทุกปี

คำสั่งดึงข้อมูลการแตกหุ้นของสหรัฐฯ รายปี: จำนวนการแตกหุ้นแบบเพิ่มและลด ตั้งแต่ปี 2017 ถึงกรกฎาคม 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT toYear(execution_date) AS year,
       countIf(toFloat64(split_to) > toFloat64(split_from)) AS forward_splits,
       countIf(toFloat64(split_to) < toFloat64(split_from)) AS reverse_splits
FROM global_markets.stocks_splits
WHERE execution_date >= toDate('2017-01-01')
  AND execution_date < toDate('2026-08-01')
  AND toFloat64(split_from) > 0
  AND toFloat64(split_to) > 0
GROUP BY year
ORDER BY year
Run this yourself

ใน 2025 ฐานข้อมูลบันทึกการแตกหุ้นแบบเพิ่มจำนวนหุ้น 429 รายการ และการรวมหุ้น 1038 รายการ จุดข้อมูลสุดท้ายครอบคลุม 2026 จนถึงสิ้นเดือนกรกฎาคมเท่านั้น จึงควรอ่านเป็นข้อมูลของปีที่ยังไม่ครบถ้วน ตลอดช่วง 10 ปีที่แสดงในกราฟ คอลัมน์การรวมหุ้นยังคงมีรายการอยู่ และการรวมหุ้นคือกรณีที่สัญญาออปชันมีรูปแบบแปลกจากปกติมากที่สุด การแตกหุ้นที่กำลังจะเกิดขึ้น แสดงรายการที่มีกำหนดในลำดับถัดไป

อัตราการแตกหุ้นใดเกิดขึ้นจริงบ้าง

การแตกหุ้นแบบเพิ่มจำนวนหุ้นกระจุกตัวอยู่ในอัตราส่วนไม่กี่แบบ และอัตราส่วนดังกล่าวเป็นตัวกำหนดวิธีการปรับสัญญา

คำสั่งดึงข้อมูลอัตราส่วนการแตกหุ้นแบบเพิ่มที่พบบ่อยที่สุดตั้งแต่ปี 2020 และการปรับสัญญาแต่ละแบบ
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT concat(toString(toUInt32(split_to)), '-for-', toString(toUInt32(split_from))) AS ratio_label,
       if(modulo(toUInt32(split_to), toUInt32(split_from)) = 0, 'whole number', 'uneven') AS adjustment_style,
       count() AS split_count,
       round(100 * count() / (
           SELECT count()
           FROM global_markets.stocks_splits
           WHERE execution_date >= toDate('2020-01-01')
             AND execution_date < toDate('2026-08-01')
             AND toFloat64(split_to) > toFloat64(split_from)
             AND toFloat64(split_from) > 0
             AND toFloat64(split_from) = round(toFloat64(split_from))
             AND toFloat64(split_to) = round(toFloat64(split_to))
       ), 1) AS share_of_forward_pct
FROM global_markets.stocks_splits
WHERE execution_date >= toDate('2020-01-01')
  AND execution_date < toDate('2026-08-01')
  AND toFloat64(split_to) > toFloat64(split_from)
  AND toFloat64(split_from) > 0
  AND toFloat64(split_from) = round(toFloat64(split_from))
  AND toFloat64(split_to) = round(toFloat64(split_to))
GROUP BY ratio_label, adjustment_style
ORDER BY split_count DESC
LIMIT 10
Run this yourself

2-for-1 เป็นอัตราส่วนที่พบมากที่สุด โดยมี 407 รายการ คิดเป็น 27% ของการแตกหุ้นแบบเพิ่มจำนวนหุ้นทั้งหมดนับตั้งแต่ปี 2020 ตามด้วย 3-for-1 ที่ 14.5% รายการ คอลัมน์รูปแบบการปรับแยกกรณีออกเป็น 2 กลุ่ม ได้แก่ อัตราส่วนจำนวนเต็ม ซึ่งจำนวนสัญญาจะเพิ่มตามสัดส่วนโดยตรง และอัตราส่วนที่หารไม่ลงตัว ซึ่งไม่สามารถทำเช่นนั้นได้ แถวที่มีอัตราส่วนหารไม่ลงตัวคือประเด็นหลักของเนื้อหาส่วนที่เหลือ

การแตกหุ้นแบบ 3-for-2 และจำนวนหุ้นที่ส่งมอบ 150 หุ้น

การแตกหุ้นแบบ 3-for-2 ให้หุ้นใหม่ 1.5 หุ้นต่อหุ้นเดิม 1 หุ้น ไม่สามารถมีสัญญาครึ่งหนึ่งได้ ดังนั้นจำนวนสัญญาจึงไม่เปลี่ยน และการปรับจะไปอยู่ในช่องข้อมูลอื่น:

  • Strike จะถูกหารด้วย 1.5 Strike $60 จะกลายเป็น $40 และ strike $50 จะกลายเป็น $33.33
  • จำนวนหุ้นที่ส่งมอบจะเปลี่ยนเป็นหุ้นของบริษัทหลังการแตกหุ้นจำนวน 150 หุ้น
  • Multiplier จะเปลี่ยนเป็น 150 ดังนั้น Premium ที่แสดงราคา 2.00 จะมีต้นทุน $300 แทนที่จะเป็น $200

การคำนวณยังคงสมดุล Strike $60 กับหุ้น 100 หุ้นมีต้นทุน $6,000 เพื่อใช้สิทธิก่อนการแตกหุ้น ขณะที่ strike $40 กับหุ้น 150 หุ้นมีต้นทุน $6,000 หลังการแตกหุ้น ผู้ถือสัญญาจึงไม่ได้เสียประโยชน์ แต่รูปแบบการจดทะเบียนจะไม่คุ้นเคยอีกต่อไป ได้แก่ strike ที่ไม่เป็นตัวเลขกลมอย่าง $33.33 Premium ที่ต้องคูณด้วย 150 และ symbol ที่ถูกปรับ เนื่องจากสัญญาที่ปรับแล้วจะซื้อขายภายใต้ root ที่มีหมายเลข เช่น XYZ1 แทน XYZ ผู้ที่เปิด option chain ของหุ้นดังกล่าวกำลังอ่านสัญญาที่มีเงื่อนไขแตกต่างจากสัญญาที่คุ้นเคย

หลังจากนั้นหนึ่งสัญญาครอบคลุมหุ้นกี่หุ้น

อัตราส่วนใดก็ตามที่หารจำนวนหุ้นเดิมได้ไม่ลงตัวจะทำให้จำนวนหุ้นที่ส่งมอบต้องปรับใหม่ แผงข้อมูลด้านล่างนำอัตราส่วนการแตกหุ้นแบบเพิ่มจำนวนหุ้นที่หารไม่ลงตัวซึ่งพบมากที่สุด และอัตราส่วนการรวมหุ้นที่พบมากที่สุดนับตั้งแต่ปี 2020 มาคำนวณว่า สัญญา 100 หุ้นจะครอบคลุมหุ้นจำนวนเท่าใดหลังการปรับ

คำสั่งดึงข้อมูลสัญญาหุ้น 100 หุ้นครอบคลุมอะไรบ้างหลังการแตกหุ้นด้วยอัตราส่วนที่ไม่ลงตัว ตั้งแต่ปี 2020 ถึงกรกฎาคม 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH ratio_counts AS (
    SELECT concat(toString(toUInt32(split_to)), '-for-', toString(toUInt32(split_from))) AS ratio_label,
           if(toFloat64(split_to) > toFloat64(split_from), 'forward split', 'reverse split') AS direction,
           round(100 * toFloat64(split_to) / toFloat64(split_from), 2) AS shares_per_contract_after,
           count() AS split_count
    FROM global_markets.stocks_splits
    WHERE execution_date >= toDate('2020-01-01')
      AND execution_date < toDate('2026-08-01')
      AND toFloat64(split_from) > 0
      AND toFloat64(split_to) > 0
      AND toFloat64(split_from) = round(toFloat64(split_from))
      AND toFloat64(split_to) = round(toFloat64(split_to))
      AND modulo(toUInt32(split_to), toUInt32(split_from)) != 0
    GROUP BY ratio_label, direction, shares_per_contract_after
),
ranked AS (
    SELECT ratio_label,
           direction,
           shares_per_contract_after,
           split_count,
           row_number() OVER (PARTITION BY direction ORDER BY split_count DESC) AS rank_in_direction
    FROM ratio_counts
)
SELECT ratio_label,
       direction,
       split_count,
       shares_per_contract_after
FROM ranked
WHERE rank_in_direction <= 5
ORDER BY shares_per_contract_after DESC
Run this yourself

ช่วงค่าที่ปรากฏในคอลัมน์นี้คือประเด็นสำคัญ ด้านบน 3-for-2 ทำให้แต่ละสัญญาเหลือหุ้น 150 หุ้น ด้านล่าง 1-for-20 ทำให้เหลือ 5 หุ้น บรรทัดสถานะที่ระบุว่าถือ 1 สัญญาอาจหมายถึงจำนวนหุ้นใดก็ได้ในคอลัมน์นี้ และมีเพียงประกาศการปรับสัญญาเท่านั้นที่ระบุจำนวนหุ้นที่ส่งมอบได้อย่างแน่นอน

การรวมหุ้นทำงานในทิศทางย้อนกลับ

การรวมหุ้นใช้วิธีการปรับที่แตกต่างออกไป และความแตกต่างนี้เป็นสาเหตุที่ทำให้เกิดความเข้าใจผิด ในการรวมหุ้นแบบ 1-for-10 strike price จะไม่เปลี่ยน จำนวนสัญญาจะไม่เปลี่ยน multiplier ที่ 100 ยังคงเดิม และจำนวนหุ้นที่ส่งมอบจะลดลงเหลือ 10 หุ้น

สมมติว่าหุ้นมีราคา $0.50 และมีสัญญาที่ strike $0.50 หลังการรวมหุ้น หุ้นจะซื้อขายใกล้ $5.00 และสัญญายังคงแสดง strike $0.50 แต่ครอบคลุมหุ้น 10 หุ้น การใช้สิทธิจะมีต้นทุน $0.50 คูณด้วย multiplier 100 หรือ $50 และได้รับหุ้น 10 หุ้นที่มีมูลค่าประมาณ $50 มูลค่าจึงไม่เปลี่ยนแปลง อย่างไรก็ตาม หน้าจอจะแสดง strike $0.50 เทียบกับหุ้นราคา $5.00 ซึ่งดูเหมือนเป็น Call option ที่อยู่ในสถานะได้เปรียบอย่างมาก ทั้งที่จริงไม่ใช่ การเห็นข้อมูลบรรทัดเดียวเช่นนี้คือสาเหตุที่ทำให้ผู้ลงทุนอ่าน การรวมหุ้นผิดบ่อยที่สุด

ใครเป็นผู้กำหนดการปรับสัญญา

ไม่ใช่ตลาดและไม่ใช่โบรกเกอร์ของคุณ คณะทำงานด้านการปรับสัญญาซึ่งจัดตั้งจากตลาดซื้อขายออปชันที่จดทะเบียน โดยมีตัวแทนจาก OCC 1 คน จะกำหนดเงื่อนไขสำหรับการดำเนินการของบริษัทแต่ละรายการ จากนั้น OCC จะเผยแพร่ ประกาศข้อมูล ซึ่งระบุหลักทรัพย์ อัตราส่วน วันที่มีผล จำนวนหุ้นที่ส่งมอบใหม่ multiplier ใหม่ ตัวหารของ strike และ option symbol ใหม่ โบรกเกอร์จะนำเงื่อนไขดังกล่าวไปใช้ และสถานะจะอัปเดตในชั่วข้ามคืน ประกาศนี้เผยแพร่ต่อสาธารณะก่อนวันที่มีผล และเป็นแหล่งเดียวที่ระบุจำนวนหุ้นที่ส่งมอบได้อย่างแน่นอน

เงินปันผลพิเศษเป็นเงินสดใช้กระบวนการเดียวกัน

เงินปันผลรายไตรมาสตามปกติจะไม่ทำให้สัญญาออปชันต้องปรับราคา การกำหนดราคาออปชันได้รวมกระแสเงินปันผลที่คาดการณ์ไว้แล้ว และ วันขึ้นเครื่องหมาย XD หรือ ex-dividend date จะผ่านไปโดยเงื่อนไขของสัญญาไม่เปลี่ยนแปลง

การจ่ายเงินสดพิเศษหรือการจ่ายเงินสดที่มีลักษณะพิเศษจะได้รับการปฏิบัติแตกต่างกัน นโยบายเงินปันผลเป็นเงินสดที่ OCC เผยแพร่กำหนดเกณฑ์ไว้ที่ $12.50 ต่อสัญญา หรือ 12.5 เซนต์ต่อหุ้นสำหรับสัญญามาตรฐาน 100 หุ้น และการจ่ายที่มีมูลค่าเท่ากับหรือสูงกว่าเกณฑ์ดังกล่าวจะทำให้ต้องปรับสัญญา ประกาศจะระบุว่าจะลด strike หรือเพิ่มเงินสดเข้าไปในสิ่งที่สัญญาส่งมอบ ขนาดของเงินจ่ายเป็นตัวกำหนดว่ากรณีนี้จะเกิดขึ้นบ่อยเพียงใด และขนาดของเงินจ่ายไม่ได้กระจายอย่างสม่ำเสมอ

คำสั่งดึงข้อมูลการจ่ายเงินสดพิเศษครั้งเดียวตามขนาด: จำนวนการจ่ายเงิน ทิกเกอร์ และค่ามัธยฐาน ตั้งแต่ปี 2021
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT multiIf(toFloat64(cash_amount) >= 5, '$5.00 and up',
               toFloat64(cash_amount) >= 1, '$1.00 to $5.00',
               toFloat64(cash_amount) >= 0.25, '$0.25 to $1.00',
               toFloat64(cash_amount) >= 0.125, '$0.125 to $0.25',
               'under $0.125') AS payout_bucket,
       count() AS payment_count,
       uniqExact(ticker) AS ticker_count,
       round(100 * count() / (
           SELECT count()
           FROM global_markets.stocks_dividends
           WHERE ex_dividend_date >= toDate('2021-01-01')
             AND ex_dividend_date < toDate('2026-08-01')
             AND distribution_type != 'recurring'
             AND toFloat64(cash_amount) > 0
       ), 1) AS share_of_payments_pct,
       round(quantileDeterministic(0.5)(toFloat64(cash_amount), cityHash64(ticker)), 3) AS median_usd
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= toDate('2021-01-01')
  AND ex_dividend_date < toDate('2026-08-01')
  AND distribution_type != 'recurring'
  AND toFloat64(cash_amount) > 0
GROUP BY payout_bucket
ORDER BY median_usd
Run this yourself

การจ่าย 5068 รายการ หรือ 40.1% ของทั้งหมด อยู่ในช่วง under $0.125 ซึ่งต่ำกว่าเกณฑ์ต่อสัญญา ช่วง $5.00 and up มีการจ่าย 1204 รายการ ครอบคลุม ticker 740 รายการ และมีค่ามัธยฐานอยู่ที่ $15 ต่อหุ้น การจ่ายในระดับดังกล่าวทำให้มีเงินจำนวนมากไหลออกจากหุ้นในวัน XD และเงื่อนไขของสัญญาก็จะปรับตาม เงินปันผลพิเศษอธิบายแง่มุมของการดำเนินการของบริษัทในเหตุการณ์เดียวกัน

สิ่งที่ต้องตรวจสอบ 2 รายการในสัญญาที่ปรับแล้ว

  • สภาพคล่องลดลง ซีรีส์ที่ปรับแล้วอาจยังมีสถานะคงค้างอยู่ระยะหนึ่ง แต่มีผู้เข้าร่วมรายใหม่จำนวนน้อย และ Bid-ask spread จะกว้างขึ้นตามไปด้วย การปิดสถานะอาจมีต้นทุนสูงกว่าการเปิดสถานะ
  • หน้าจอแสดงราคาไม่ถูกต้องอยู่บ่อยครั้ง เครื่องมือจำนวนมากตั้งสมมติฐานว่า multiplier เท่ากับ 100 และจำนวนหุ้นที่ส่งมอบเท่ากับ 100 หุ้น ดังนั้นราคา 2.00 ในสัญญาที่มี multiplier 150 จะแสดงเป็น $200 แทนที่จะเป็น $300 และเปอร์เซ็นต์ใดก็ตามที่คำนวณจากฐานดังกล่าวจะแสดงผิดบนหน้าเว็บ

มีวิธีตรวจสอบเพียงข้อเดียวที่ช่วยแก้ปัญหาทั้ง 2 เรื่อง ให้อ่านจำนวนหุ้นที่ส่งมอบก่อน จากนั้นอ่าน multiplier แล้วจึงอ่าน strike การตรวจสอบตามลำดับนี้ทำให้สัญญาที่ปรับแล้วมีความหมายที่ถูกต้องเสมอ

คำถามที่พบบ่อยเกี่ยวกับการแตกหุ้นและออปชัน

ฉันจะขาดทุนหรือไม่ หากหุ้นแตกระหว่างที่ถือออปชันอยู่

ไม่ การปรับสัญญาจะรักษาต้นทุนรวมในการใช้สิทธิและสิทธิเรียกร้องต่อหุ้นทั้งหมดให้คงเดิม การแตกหุ้นแบบ 4-for-1 จะทำให้ strike ลดลงเหลือหนึ่งในสี่ และจำนวนสัญญาเพิ่มขึ้น 4 เท่า อัตราส่วนที่หารไม่ลงตัว เช่น 3-for-2 จะทำให้ strike ถูกหารด้วย 1.5 และเพิ่มจำนวนหุ้นที่ส่งมอบเป็น 150 หุ้น ไม่มีฝ่ายใดได้ประโยชน์จากการปรับสัญญาเอง

เหตุใดออปชันของฉันจึงแสดง strike price ที่ไม่ตรงกับราคาหุ้น

นั่นเป็นสัญญาณของสัญญาที่ปรับแล้ว โดยมักเกิดขึ้นหลังการรวมหุ้น ซึ่ง strike จะไม่เปลี่ยน แต่จำนวนหุ้นที่ส่งมอบจะลดลง สัญญาที่มี strike $0.50 บนหุ้นซึ่งซื้อขายใกล้ $5.00 หลังการรวมหุ้นแบบ 1-for-10 จะยังส่งมอบหุ้นได้เพียง 10 หุ้น

เลข 1 ใน option symbol เช่น XYZ1 หมายถึงอะไร

เลขดังกล่าวระบุว่าเป็นซีรีส์ที่ปรับแล้ว ซึ่งมีจำนวนหุ้นที่ส่งมอบหรือ multiplier แตกต่างจากรูปแบบมาตรฐาน 100 หุ้น root ที่มีหมายเลขช่วยแยกสัญญาที่ปรับแล้วออกจากสัญญามาตรฐานที่ออกใหม่บนหุ้นตัวเดียวกัน ประกาศของ OCC สำหรับการดำเนินการของบริษัทครั้งนั้นจะระบุเงื่อนไขที่แน่นอน

ออปชันมีการปรับตามเงินปันผลปกติหรือไม่

ไม่มี เงินปันผลที่จ่ายเป็นประจำจะไม่ทำให้สัญญาเปลี่ยนแปลง นโยบายเงินปันผลเป็นเงินสดของ OCC กำหนดให้ปรับสัญญาสำหรับการจ่ายเงินพิเศษหรือการจ่ายที่มีลักษณะพิเศษซึ่งมีมูลค่าถึงเกณฑ์ $12.50 ต่อสัญญา หรือเท่ากับ 12.5 เซนต์ต่อหุ้นสำหรับสัญญา 100 หุ้น


จำนวนทุกตัวเลขในหน้านี้มาจาก stored query ที่ประมวลผลข้อมูลการแตกหุ้นและการจ่ายเงินที่ยื่นรายงานไว้ เปิดแผงข้อมูลเพื่ออ่าน SQL ที่อยู่เบื้องหลัง หรือเรียกใช้หน้าจอเดียวกันด้วยตนเองบน Strasmore terminal