Delta Hedging คืออะไรและมีวิธีการทำงานอย่างไร
อธิบายกลไกการทำ Delta hedging ในทางปฏิบัติสำหรับพอร์ต Short ออปชัน รวมถึงกระบวนการปรับสถานะหุ้นตามราคาที่เปลี่ยนไป และเหตุผลที่การซื้อขายกลับไปมาทำให้ผู้ถือสถานะต้องแบกรับต้นทุน
Delta hedging คือวิธีที่ฝ่ายออปชัน (options desk) ใช้เพื่อคงสถานะให้เป็นกลางต่อทิศทางราคา โดยการถือครองหุ้นในจำนวนที่เหมาะสมเพื่อชดเชยกับค่า Delta ของออปชัน จากนั้นจึงปรับสถานะหุ้นตามการเคลื่อนไหวของสินทรัพย์อ้างอิง พอร์ตที่สถานะ Short ออปชันจะลงเอยด้วยการซื้อหุ้นหลังจากราคาหุ้นปรับตัวขึ้น และขายหุ้นหลังจากราคาหุ้นปรับตัวลง กำไรและขาดทุนของฝ่ายเทรดจึงขึ้นอยู่กับระยะทางที่ราคาหุ้นเคลื่อนที่ไป ไม่ใช่ราคาปิดสุดท้าย
Delta hedging คืออะไร
Delta คือการเปลี่ยนแปลงของราคาออปชันต่อการเคลื่อนไหวของสินทรัพย์อ้างอิงทุกๆ 1 ดอลลาร์ โดยมีค่าตั้งแต่ 0 ถึง 1 สำหรับ Call option และ 0 ถึง -1 สำหรับ Put option ออปชันหุ้นสหรัฐฯ หนึ่งสัญญาครอบคลุมหุ้น 100 หุ้น ดังนั้นการนำ Delta คูณด้วย 100 จะได้จำนวนหุ้นที่เป็นเสมือนสถานะของสัญญาในขณะนั้น คู่มือเกี่ยวกับ option delta ของเราจะอธิบายขั้นตอนการคำนวณนี้
การทำ Delta hedge คือการตั้งสถานะหุ้นฝั่งตรงข้ามกับจำนวนดังกล่าว หากขาย Call option หนึ่งสัญญาที่มีค่า Delta 0.50 พอร์ตจะมีสถานะเทียบเท่ากับการ Short หุ้น 50 หุ้น ดังนั้นการซื้อหุ้น 50 หุ้นจะทำให้สถานะเป็นกลาง คำว่า "Hedged" ในที่นี้มีความหมายจำกัด คือเป็นกลางต่อการเคลื่อนไหวเล็กน้อย ณ ขณะนั้น และ ณ ราคานั้น Delta ไม่ใช่ค่าคงที่ แต่จะเปลี่ยนแปลงไปตามการเคลื่อนไหวของราคาหุ้นและระยะเวลาที่เหลือของสัญญา ทำให้ต้องปรับสถานะหุ้นตามไปด้วย
เหตุใดการทำ Hedge จึงไม่คงที่
ค่า Delta ในแต่ละ Strike price จะเป็นเส้นโค้งไม่ใช่ขั้นบันได แผงข้อมูลด้านล่างแสดงค่าเฉลี่ย Delta ของ Call และ Put ของ SPY โดยแบ่งตามระยะห่างของ Strike price จากราคาตลาด (spot price) สำหรับสัญญาที่มีอายุคงเหลือ 25 ถึง 35 วัน ตลอดเดือนมิถุนายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
concat(if(pct_from_spot >= 0, '+', ''), toString(pct_from_spot), '%') AS strike_vs_spot,
round(avgIf(delta, is_call), 3) AS call_delta,
round(avgIf(delta, is_put), 3) AS put_delta
FROM
(
SELECT
toInt16(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 100)) AS pct_from_spot,
lower(option_type) IN ('call', 'c') AS is_call,
lower(option_type) IN ('put', 'p') AS is_put,
delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 25 AND 35
AND date >= '2026-06-01'
AND date < '2026-07-01'
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.05
)
GROUP BY pct_from_spot
HAVING countIf(is_call) > 0 AND countIf(is_put) > 0
ORDER BY pct_from_spotเมื่ออ่านเส้นโค้งจากซ้ายไปขวาจะเห็นปัญหาทั้งหมด Call option ที่มี Strike price อยู่ที่ -5% จากราคาตลาดมีค่า Delta เฉลี่ยที่ 0.839 ที่ระดับ +5% ช่วงเวลาหมดอายุเดียวกันมีค่าเฉลี่ยที่ 0.099 เส้นของ Put option จะเป็นภาพสะท้อนของ Call โดยเริ่มจาก -0.164 ที่ Strike price ต่ำ ไปจนถึง -0.864 ที่ Strike price สูง หุ้นที่เคลื่อนที่ไปตามเส้นโค้งนี้จะทำให้ผู้ทำ Hedge ต้องการจำนวนหุ้นที่แตกต่างกันในทุกจุด Gamma คือชื่อเรียกความชันของเส้นโค้งนี้ ซึ่งก็คืออัตราการเปลี่ยนแปลงของค่า Delta นั่นเอง
การซื้อขายแต่ละครั้งมีขนาดเท่าใด
Gamma เป็นตัวกำหนดขนาดของการปรับสมดุลพอร์ต (rebalance) แผงข้อมูลด้านล่างแปลงค่านี้เป็นหน่วยที่ฝ่ายเทรดใช้จริง สำหรับสัญญา SPY ที่เป็น at-the-money ข้อมูลแสดงให้เห็นว่าสัญญา 100 สัญญาบังคับให้ผู้ทำ Hedge ต้องซื้อขายหุ้นกี่หุ้นเมื่อสินทรัพย์อ้างอิงเคลื่อนที่ 1% โดยแบ่งตามระยะเวลาที่เหลือของสัญญา
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
multiIf(bucket = 1, '0-2 days',
bucket = 2, '3-7 days',
bucket = 3, '8-21 days',
bucket = 4, '22-45 days',
'46-90 days') AS expiry_window,
toUInt32(round(avg(shares_per_contract) * 100)) AS hedge_shares
FROM
(
SELECT
multiIf(days_to_expiry <= 2, 1,
days_to_expiry <= 7, 2,
days_to_expiry <= 21, 3,
days_to_expiry <= 45, 4,
5) AS bucket,
toFloat64(gamma) * toFloat64(underlying_close) AS shares_per_contract
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 0 AND 90
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.01
AND date >= '2026-06-01'
AND date < '2026-07-01'
)
GROUP BY bucket
ORDER BY bucketสัญญาที่มีเวลาเหลือ 0-2 days จะปรับสถานะ Hedge ประมาณ 3429 หุ้นต่อการเคลื่อนไหว 1% สัญญา 100 สัญญาเดียวกันที่ 46-90 days จะปรับสถานะประมาณ 587 แม้จำนวนสัญญาและสินทรัพย์อ้างอิงจะเหมือนกัน แต่ปริมาณการซื้อขายที่ถูกบังคับกลับแตกต่างกันอย่างมาก พอร์ตที่มีอายุสั้นจะปรับสมดุลอย่างหนักและบ่อยครั้ง ส่วนพอร์ตที่มีอายุยาวจะมีการเปลี่ยนแปลงน้อยกว่า การเปลี่ยนแปลงของค่า greeks ตามเวลา จะติดตามความชันที่เพิ่มขึ้นเมื่อใกล้หมดอายุ
ตัวอย่างการปิดสถานะห้าครั้งและหุ้นที่อยู่เบื้องหลัง
นี่คือกลไกการทำงานตั้งแต่ต้นจนจบผ่านเส้นทางสมมติ ราคาถูกกำหนดขึ้นเพื่อให้คำนวณง่ายและระบุค่า Delta ไว้โดยตรงโดยไม่ได้ใช้แบบจำลอง ฝ่ายเทรดขาย Call option แบบ at-the-money จำนวน 10 สัญญา บนหุ้นราคา 100 ดอลลาร์ ที่ราคา 2.00 ดอลลาร์ต่อหุ้น และได้รับเงิน 2,000 ดอลลาร์ (10 สัญญา, สัญญาละ 100 หุ้น, หุ้นละ 2.00 ดอลลาร์) โดยปรับสถานะให้เป็นกลางทุกครั้งที่ปิดตลาด
- ปิดครั้งที่ 1 ราคาหุ้น 100.00 ดอลลาร์ Delta 0.50 พอร์ต Short อยู่ 500 deltas จึงต้องซื้อหุ้น 500 หุ้น สถานะ Hedge: ถือหุ้น 500 หุ้น
- ปิดครั้งที่ 2 ราคาหุ้น 103.00 ดอลลาร์ Delta 0.62 เป้าหมายคือ 620 หุ้น จึงต้องซื้อเพิ่ม 120 หุ้น หุ้น 500 หุ้นที่ถือมาในช่วงราคาขึ้นทำกำไรได้ 1,500 ดอลลาร์
- ปิดครั้งที่ 3 ราคาหุ้น 99.00 ดอลลาร์ Delta 0.44 เป้าหมายลดลงเหลือ 440 หุ้น จึงต้องขายออก 180 หุ้น หุ้น 620 หุ้นที่ถือมาในช่วงราคาลงขาดทุน 2,480 ดอลลาร์ ทำให้สถานะ Hedge ขาดทุนสะสม 980 ดอลลาร์
- ปิดครั้งที่ 4 ราคาหุ้น 102.00 ดอลลาร์ Delta 0.58 เป้าหมายคือ 580 หุ้น จึงต้องซื้อเพิ่ม 140 หุ้น หุ้น 440 หุ้นทำกำไรได้ 1,320 ดอลลาร์ ทำให้สถานะ Hedge มีกำไรสะสม 340 ดอลลาร์
- ปิดครั้งที่ 5 ราคาหุ้น 100.00 ดอลลาร์ Delta 0.48 เป้าหมายคือ 480 หุ้น จึงต้องขายออก 100 หุ้น หุ้น 580 หุ้นขาดทุน 1,160 ดอลลาร์ ทำให้สถานะ Hedge ขาดทุนสะสม 820 ดอลลาร์
ราคาหุ้นกลับมาอยู่ที่จุดเริ่มต้นพอดี ผู้ทำ Hedge ซื้อที่ราคา 103 และ 102 ดอลลาร์ ขายที่ราคา 99 และ 100 ดอลลาร์ และขาดทุน 820 ดอลลาร์ในส่วนของหุ้น เทียบกับเงิน Premium ที่ได้รับมา 2,000 ดอลลาร์ โดยที่ออปชันยังคงเปิดอยู่ ไม่มีการตัดสินใจใดที่ผิดพลาด ทุกการซื้อขายถูกต้องตามกลไกในขณะนั้น รูปแบบนี้จะเกิดขึ้นเสมอไม่ว่าจะเปลี่ยนตัวเลขอย่างไร ทุกการซื้อเกิดขึ้นหลังจากราคาปิดสูงขึ้น และทุกการขายเกิดขึ้นหลังจากราคาปิดลดลง พอร์ตที่ Short ออปชันไม่สามารถหลีกเลี่ยงรูปแบบนี้ได้ หากเพิ่มจำนวนสัญญาเป็นสองเท่า ค่า Gamma ก็จะเพิ่มเป็นสองเท่า ทำให้ทุกการซื้อขายในรายการเพิ่มขึ้นเป็นสองเท่า รวมถึงต้นทุนของเส้นทางเดียวกันนี้ด้วย เหตุใด market maker จึงขาดทุน จะอธิบายการคำนวณนี้ในกรณีที่ Premium ไม่เพียงพอต่อการชดเชย
Time decay คืออีกด้านหนึ่งของบัญชี ตลอดการปิดสถานะทั้งห้าครั้ง ออปชันได้สูญเสียมูลค่าตามเวลาไป ซึ่งกำไรส่วนนี้ของผู้ขายคือสิ่งที่นำมาหักลบกับผลขาดทุนจากการทำ Hedge เส้นทางที่ราคานิ่งจะทำให้ Premium ไม่ถูกใช้ไป แต่เส้นทางที่ผันผวนจะใช้ Premium ไป และหากผันผวนมากพอ ก็อาจใช้ Premium จนหมดสิ้น
เส้นทางมีความสำคัญ แต่จุดหมายไม่สำคัญ
ผู้ทำ Hedge ซื้อขายตามเส้นทาง ไม่ใช่ตามการเปลี่ยนแปลงสุทธิ แผงข้อมูลด้านล่างวัดทั้งสองค่าสำหรับหุ้นสี่ตัวในเดือนมิถุนายน 2026 ความยาวของเส้นทางคือผลรวมของการเคลื่อนไหวรายวันเป็นเปอร์เซ็นต์โดยไม่สนใจเครื่องหมาย ส่วนการเคลื่อนไหวสุทธิคือระยะห่างจากราคาปิดวันแรกถึงวันสุดท้าย
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
ticker,
round(path, 1) AS path_length_pct,
round(net, 1) AS net_move_pct,
round(path / greatest(net, 0.05), 1) AS path_to_net_ratio
FROM
(
SELECT
ticker,
arraySum(arrayMap((a, b) -> abs(a / b - 1) * 100,
arraySlice(px, 2),
arraySlice(px, 1, length(px) - 1))) AS path,
abs(px[-1] / px[1] - 1) * 100 AS net
FROM
(
SELECT
ticker,
arrayMap(t -> t.2, arraySort(t -> t.1, groupArray((session_date, session_close)))) AS px
FROM
(
SELECT
ticker,
date AS session_date,
toFloat64(max(close)) AS session_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'KO')
AND date >= '2026-06-01'
AND date < '2026-07-01'
GROUP BY ticker, date
)
GROUP BY ticker
)
)
ORDER BY path_to_net_ratioแม้แต่หุ้นที่มีช่องว่างแคบที่สุดอย่าง MSFT ก็ยังมีการเคลื่อนไหวรายวันรวม 43.2% เพื่อไปจบที่ระยะ 19% จากจุดเริ่มต้น คิดเป็นอัตราส่วน 2.3 ต่อ 1 ในอีกด้านหนึ่งของแผงข้อมูล SPY เคลื่อนที่ไป 11.4 เท่าของการเคลื่อนไหวสุทธิ เทรดเดอร์ที่เน้นทิศทางจะได้รับผลตอบแทนจากตัวเลขที่สอง แต่ผู้ทำ Delta hedge ต้องจ่ายเงินให้กับตัวเลขแรก
สิ่งที่ Premium จ่ายให้จริงๆ คืออะไร
Premium ที่ผู้ขายได้รับถูกกำหนดราคาจาก Implied volatility ซึ่งคือการเคลื่อนไหวที่ตลาดคาดการณ์ไว้ ส่วนต้นทุนการทำ Hedge ถูกกำหนดโดย Realized volatility ซึ่งคือการเคลื่อนไหวที่เกิดขึ้นจริง แผงข้อมูลด้านล่างแสดงทั้งสองค่าบนแกนเดียวกันสำหรับ SPY รายเดือน ตลอดปีที่ผ่านมา
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
monthly_iv AS
(
SELECT
toStartOfMonth(date) AS m,
round(avg(implied_volatility) * 100, 1) AS implied_vol_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
AND date >= '2025-08-01'
AND date < '2026-08-01'
GROUP BY m
),
monthly_rv AS
(
SELECT
m,
round(arrayReduce('stddevPop', rets) * sqrt(252) * 100, 1) AS realized_vol_pct
FROM
(
SELECT
m,
arrayMap((a, b) -> log(a / b),
arraySlice(px, 2),
arraySlice(px, 1, length(px) - 1)) AS rets
FROM
(
SELECT
toStartOfMonth(session_date) AS m,
arrayMap(t -> t.2, arraySort(t -> t.1, groupArray((session_date, session_close)))) AS px
FROM
(
SELECT
date AS session_date,
toFloat64(max(close)) AS session_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2025-08-01'
AND date < '2026-08-01'
GROUP BY date
)
GROUP BY m
)
WHERE length(rets) > 5
)
)
SELECT
toString(iv.m) AS month,
iv.implied_vol_pct AS implied_vol_pct,
rv.realized_vol_pct AS realized_vol_pct
FROM monthly_iv AS iv
INNER JOIN monthly_rv AS rv ON rv.m = iv.m
ORDER BY iv.mในเดือนล่าสุดบนแผนภูมินั้น สัญญา SPY แบบ at-the-money ที่มีเวลาเหลือ 20 ถึง 45 วัน มีค่า Implied volatility เฉลี่ยที่ 14.8% ในขณะที่สินทรัพย์อ้างอิงมีค่า Realized volatility ที่ 12.1% เดือนที่เส้น Realized อยู่ต่ำกว่าเส้น Implied คือเดือนที่ต้นทุนเส้นทางของผู้ทำ Hedge น้อยกว่า Premium ที่ลดลงตามเวลา เดือนที่เส้นอยู่สูงกว่าจะเป็นในทางตรงกันข้าม ช่องว่างนั้น ไม่ใช่ทิศทางของตลาด คือความเสี่ยงที่พอร์ตออปชันแบบ Delta-hedged ต้องแบกรับ วิธีที่ market maker ทำกำไร จะครอบคลุมถึงการเก็บส่วนต่าง (spread capture) ที่เกิดขึ้นควบคู่กัน และ gamma exposure จะรวมการซื้อขายที่ถูกบังคับนี้เข้าด้วยกันทั้งตลาด
วิธีที่ฝ่ายเทรดทำ Hedge ในทางปฏิบัติ
แทบไม่มีใครปรับสมดุลพอร์ตทุกครั้งที่ปิดตลาด และมีฝ่ายเทรดเพียงไม่กี่แห่งที่ทำงานตามเวลาที่กำหนด การทำ Hedge อย่างต่อเนื่องจะทำให้ติดตามค่า Delta ได้ใกล้ชิด แต่ต้องแลกด้วยการเสีย Premium ไปกับค่าคอมมิชชั่นและส่วนต่างราคา (spread) วิธีทั่วไปคือการกำหนดกรอบ (band): ปล่อยสถานะไว้ตราบเท่าที่ค่า Delta สุทธิยังอยู่ในเกณฑ์ที่ยอมรับได้ จากนั้นจึงซื้อขายกลับสู่สถานะกลางเมื่อค่าหลุดกรอบ กรอบที่กว้างขึ้นหมายถึงการซื้อขายที่น้อยลงและมีการคลาดเคลื่อนระหว่างการปรับสถานะ ฝ่ายเทรดจะนำสถานะทั้งพอร์ตมาหักลบกันก่อนที่จะซื้อขายใดๆ ดังนั้น Call option ที่ Short ในวันหมดอายุหนึ่งและ Call option ที่ Long ในอีกวันหมดอายุหนึ่งอาจหักล้างกันได้ก่อนที่จะมีการซื้อขายหุ้นจริง Beta-weighted portfolio delta นำแนวคิดการหักล้างนี้ไปใช้กับสินทรัพย์อ้างอิงที่แตกต่างกัน
คำถามที่พบบ่อย
Delta hedging คืออะไรในคำอธิบายง่ายๆ?
คือการถือครองสถานะหุ้นที่หักล้างความเสี่ยงด้านทิศทางของออปชัน ค่า Delta คูณ 100 จะได้จำนวนหุ้นเทียบเท่าของหนึ่งสัญญา และผู้ทำ Hedge จะถือสถานะตรงข้ามกับจำนวนนั้น โดยปรับเปลี่ยนตามการเคลื่อนไหวของค่า Delta
Market maker ทำ Hedge ออปชันทุกสัญญาที่ขายหรือไม่?
พวกเขาทำ Hedge ความเสี่ยงสุทธิของพอร์ตมากกว่าการทำทีละสัญญา สถานะที่หักล้างกันเองจะถูกจัดการภายในก่อน และมีเพียง Delta ส่วนเกินเท่านั้นที่จะถูกนำไปซื้อขายหุ้นในตลาด
ทำไม Delta hedge ถึงขาดทุนในหุ้นที่มีความผันผวนสูง (choppy)?
ทุกการปรับสมดุลในพอร์ต Short ออปชัน คือการซื้อหลังจากราคาขึ้นและขายหลังจากราคาลง ในการเคลื่อนไหวแบบไปกลับ ราคาซื้อจะสูงกว่าราคาขาย และส่วนต่างนั้นคือต้นทุนที่เกิดขึ้นจริง Premium ที่ได้รับมาล่วงหน้าคือเงินงบประมาณที่นำมาจ่ายในส่วนนี้
เทรดเดอร์ปรับสมดุล Delta hedge บ่อยแค่ไหน?
ไม่มีช่วงเวลาตายตัวในทางปฏิบัติ การปรับสมดุลบ่อยขึ้นจะติดตามค่า Delta ได้ใกล้ชิดขึ้นแต่ต้องเสียค่าใช้จ่ายในส่วนของ spread และคอมมิชชั่นมากขึ้น ดังนั้นหลายแห่งจึงกำหนดกรอบความคลาดเคลื่อนของ Delta และจะซื้อขายก็ต่อเมื่อสถานะหลุดกรอบนั้น
สถานะที่ทำ Delta hedge แล้วมีความเสี่ยงหรือไม่?
ไม่มีความเสี่ยงในแง่ของทิศทางเล็กน้อย ณ ขณะนั้น แต่ความเสี่ยงจากช่องว่างของราคา (gaps), การกระโดดของราคา, การเปลี่ยนแปลงของ Implied volatility, เงินปันผล และต้นทุนทางการเงินยังคงอยู่ และตัว Hedge เองก็มีต้นทุนที่เกิดขึ้นจริงเมื่อสินทรัพย์อ้างอิงเคลื่อนที่
วิธีการวัดผลแผงข้อมูลเหล่านี้
แผงข้อมูลออปชันอ่านค่า Greeks รายวันต่อสัญญา โดยกรองเฉพาะสัญญาที่มีการซื้อขายและมีค่า Implied volatility ที่คำนวณได้ชัดเจน "At the money" หมายถึง Strike price ที่อยู่ภายใน 1% ของราคาปิดสินทรัพย์อ้างอิงในวันนั้นสำหรับแผงข้อมูลขนาดการซื้อขาย และภายใน 5% สำหรับเส้นโค้ง Delta ตัวเลขการซื้อขายที่ถูกบังคับจะแปลงค่า Gamma เป็นจำนวนหุ้น: การทำ Hedge ของหนึ่งสัญญาจะเปลี่ยนไปประมาณ Gamma คูณด้วยราคาหุ้นสำหรับการเคลื่อนไหว 1% และแผงข้อมูลจะปรับขนาดนั้นเป็น 100 สัญญา ช่วงเวลาเดือนมิถุนายน 2026 และปีที่ผ่านมาเป็นวันที่กำหนดไว้ ดังนั้นค่าที่อ่านได้จะคงที่ในการเข้าชมครั้งถัดไป ตัวอย่างการปิดสถานะห้าครั้งเป็นเรื่องสมมติ โดยระบุค่า Delta แต่ละครั้งแทนการคำนวณจากแบบจำลองราคา
ทุกแผงข้อมูลที่นี่มี SQL ที่ใช้สร้างข้อมูลนั้น คุณสามารถเปิดดูเพื่อดูวิธีการนับจำนวน หรือถามคำถามเดียวกันด้วยภาษาอังกฤษทั่วไปบนเทอร์มินัล Strasmore