Delta Hedging คืออะไร และทำไมนักลงทุนระดับ Institutional ถึงต้องรู้
ในโลกของการซื้อขายออปชัน เมื่อพูดถึงความเสี่ยงที่ไม่สามารถควบคุมได้ สิ่งแรกที่นักลงทุนมืออาชีพนึกถึงคือ Directional Risk หรือความเสี่ยงจากทิศทางราคาที่เคลื่อนไหวตรงข้ามกับที่เราคาดการณ์ไว้
Delta คือตัวชี้วัดที่บอกว่า ราคาของออปชันจะเปลี่ยนแปลงกี่บาท เมื่อราคาสินทรัพย์อ้างอิง (Underlying Asset) เปลี่ยนแปลงไป 1 บาท ตัวอย่างเช่น ถ้า Delta = 0.5 หมายความว่าเมื่อราคาหุ้นขึ้น 1 บาท ราคา Call Option จะขึ้น 0.50 บาท
กลยุทธ์ Delta Hedging คือการปรับสถานะของพอร์ตโดยการซื้อหรือขายสินทรัพย์อ้างอิง เพื่อทำให้ Delta รวมของทั้งพอร์ตเป็นศูนย์ (Delta Neutral) ทำให้มูลค่าพอร์ตไม่ไวต่อการเปลี่ยนแปลงราคาในระยะสั้น
กรณีศึกษา: การใช้ Delta Hedging ในกองทุนป้องกันความเสี่ยงระดับมหาวิทยาลัย
ทีมวิจัยจากมหาวิทยาลัยชั้นนำแห่งหนึ่งใช้โมเดล Delta Hedging ในการจัดการความเสี่ยงของกองทุนที่ลงทุนใน Single-Stock Options ของบริษัท Tech ขนาดใหญ่ ผลการวิจัยพบว่า พอร์ตที่ใช้ Delta Hedging อย่างเหมาะสมสามารถลด Maximum Drawdown ได้ถึง 40% เมื่อเทียบกับพอร์ตที่ไม่ป้องกันความเสี่ยง
หลักการคำนวณ Delta และการทำ Hedge
import numpy as np
from scipy.stats import norm
class BlackScholes:
"""โมเดลคำนวณราคาออปชันและ Greek Letters"""
def __init__(self, S, K, T, r, sigma):
"""
S: ราคาปัจจุบันของสินทรัพย์อ้างอิง
K: ราคาใช้สิทธิ์ (Strike Price)
T: เวลาที่เหลือจนหมดอายุ (ปี)
r: อัตราดอกเบี้ยปราศจากความเสี่ยง
sigma: ความผันผวน (Volatility)
"""
self.S = S
self.K = K
self.T = T
self.r = r
self.sigma = sigma
def d1(self):
"""คำนวณ d1 สำหรับ Black-Scholes"""
return (np.log(self.S / self.K) +
(self.r + 0.5 * self.sigma**2) * self.T) / \
(self.sigma * np.sqrt(self.T))
def d2(self):
"""คำนวณ d2 สำหรับ Black-Scholes"""
return self.d1() - self.sigma * np.sqrt(self.T)
def call_delta(self):
"""คำนวณ Delta ของ Call Option"""
return norm.cdf(self.d1())
def put_delta(self):
"""คำนวณ Delta ของ Put Option"""
return norm.cdf(self.d1()) - 1
def gamma(self):
"""คำนวณ Gamma - อัตราการเปลี่ยนแปลงของ Delta"""
return norm.pdf(self.d1()) / (self.S * self.sigma * np.sqrt(self.T))
ตัวอย่างการใช้งาน
option = BlackScholes(S=100, K=105, T=30/365, r=0.05, sigma=0.25)
print(f"Call Delta: {option.call_delta():.4f}") # ประมาณ 0.42
print(f"Put Delta: {option.put_delta():.4f}") # ประมาณ -0.58
print(f"Gamma: {option.gamma():.6f}")
ระบบ Backtesting Delta Hedging แบบ Professional
import pandas as pd
from datetime import datetime, timedelta
class DeltaHedgingBacktester:
"""
ระบบทดสอบย้อนหลังกลยุทธ์ Delta Hedging
รองรับการ Hedge แบบ Continuous และ Discrete
"""
def __init__(self, initial_capital=1_000_000):
self.capital = initial_capital
self.cash = initial_capital
self.shares = 0
self.position = None
self.trades = []
self.daily_pnl = []
def open_position(self, option_params, num_contracts=10):
"""
เปิดสถานะออปชัน
num_contracts: จำนวนสัญญา (1 contract = 100 shares)
"""
self.position = {
'contracts': num_contracts,
'S': option_params['S'],
'K': option_params['K'],
'T': option_params['T'],
'r': option_params['r'],
'sigma': option_params['sigma'],
'type': option_params['type'],
'premium': option_params['premium']
}
self.shares = 0 # เริ่มต้นไม่มีหุ้นที่ถือ
def calculate_hedge_shares(self, current_S, current_sigma):
"""คำนวณจำนวนหุ้นที่ต้องซื้อ/ขายเพื่อทำ Delta Hedge"""
if self.position is None:
return 0
option = BlackScholes(
S=current_S,
K=self.position['K'],
T=self.position['T'],
r=self.position['r'],
sigma=current_sigma
)
if self.position['type'] == 'call':
target_delta = option.call_delta()
else:
target_delta = option.put_delta()
# จำนวนหุ้นที่ต้องการในพอร์ต = Delta * จำนวนสัญญา * 100
target_shares = target_delta * self.position['contracts'] * 100
shares_to_trade = target_shares - self.shares
return int(shares_to_trade)
def execute_trade(self, date, price, shares, transaction_cost=0.001):
"""ดำเนินการซื้อ/ขายหุ้น"""
cost = abs(shares * price)
fee = cost * transaction_cost
if shares > 0:
self.cash -= (cost + fee)
self.shares += shares
else:
self.cash += (cost - fee)
self.shares += shares
self.trades.append({
'date': date,
'action': 'BUY' if shares > 0 else 'SELL',
'shares': abs(shares),
'price': price,
'cost': cost,
'fee': fee
})
def calculate_portfolio_value(self, current_S, current_sigma):
"""คำนวณมูลค่าพอร์ตรวม"""
if self.position is None:
return self.cash + self.shares * current_S
option = BlackScholes(
S=current_S,
K=self.position['K'],
T=self.position['T'],
r=self.position['r'],
sigma=current_sigma
)
if self.position['type'] == 'call':
option_value = option.S * option.call_delta() - \
self.position['K'] * np.exp(-self.position['r'] *
(self.position['T'])) * norm.cdf(option.d2())
else:
option_value = self.position['K'] * np.exp(-self.position['r'] *
self.position['T']) * norm.cdf(-option.d2()) - \
option.S * norm.cdf(-option.d1())
# มูลค่าสถานะออปชัน + เงินสด + มูลค่าหุ้นที่ถือ
portfolio_value = option_value * self.position['contracts'] * 100 + \
self.cash + self.shares * current_S
return portfolio_value
def run_backtest(self, price_data, hedge_threshold=0.05):
"""
รัน Backtest
hedge_threshold: ถ้า Delta เปลี่ยนเกินค่านี้จะทำการ Hedge ใหม่
"""
previous_delta = None
for idx, row in price_data.iterrows():
current_S = row['close']
current_sigma = row.get('volatility', 0.25)
current_T = max(0, self.position['T'] -
(idx - price_data.index[0]).days / 365)
if current_T <= 0:
break
# คำนวณ Delta ปัจจุบัน
option = BlackScholes(
S=current_S,
K=self.position['K'],
T=current_T,
r=self.position['r'],
sigma=current_sigma
)
current_delta = option.call_delta() if self.position['type'] == 'call' \
else option.put_delta()
# ตรวจสอบว่าต้อง Rebalance หรือไม่
if previous_delta is None or \
abs(current_delta - previous_delta) > hedge_threshold:
shares_to_trade = self.calculate_hedge_shares(current_S,
current_sigma)
if shares_to_trade != 0:
self.execute_trade(idx, current_S, shares_to_trade)
previous_delta = current_delta
# บันทึกมูลค่าพอร์ตประจำวัน
portfolio_value = self.calculate_portfolio_value(current_S,
current_sigma)
self.daily_pnl.append({
'date': idx,
'portfolio_value': portfolio_value
})
return pd.DataFrame(self.daily_pnl)
ตัวอย่างการใช้งาน
tester = DeltaHedgingBacktester(initial_capital=5_000_000)
tester.open_position({
'S': 100,
'K': 105,
'T': 30/365,
'r': 0.05,
'sigma': 0.25,
'type': 'call',
'premium': 5.50
})
สร้างข้อมูลราคาจำลองสำหรับทดสอบ
np.random.seed(42)
dates = pd.date_range(start='2024-01-01', periods=30, freq='D')
price_data = pd.DataFrame({
'close': 100 + np.cumsum(np.random.randn(30) * 2),
'volatility': 0.25
}, index=dates)
results = tester.run_backtest(price_data)
print(f"จำนวนการเทรด: {len(tester.trades)}")
print(f"มูลค่าพอร์ตสุดท้าย: {results['portfolio_value'].iloc[-1]:,.2f} บาท")
การวิเคราะห์ปัจจัยที่ส่งผลต่อประสิทธิภาพ Delta Hedging
1. Transaction Cost และ Bid-Ask Spread
ในการทำ Rebalance ทุกครั้ง จะมีค่าใช้จ่ายในการซื้อขาย ถ้า Transaction Cost สูงเกินไป กำไรจากการ Hedge อาจไม่คุ้มค่า นักลงทุนรายย่อยควรกำหนด Threshold ที่เหมาะสม
2. Implied Volatility vs Realized Volatility
ถ้า Realized Volatility ต่ำกว่า Implied Volatility ที่ใช้ซื้อออปชันมา กลยุทธ์ Delta Hedging จะทำกำไรได้ (Theta Decay > Hedging Cost) แต่ถ้า Realized Volatility สูงกว่า อาจขาดทุนได้
3. ความถี่ในการ Rebalance
การ Rebalance บ่อยครั้งจะทำให้พอร์ตใกล้เคียง Delta Neutral มากขึ้น แต่เพิ่ม Transaction Cost การใช้โมเดลที่เหมาะสม เช่น Mean Reversion ของ Delta สามารถลดจำนวนการ Rebalance ได้
การใช้ AI ในการ Optimize Delta Hedging Strategy
ในปัจจุบัน นักวิจัยหลายท่านเริ่มใช้ Large Language Model เพื่อช่วยในการวิเคราะห์ข้อมูลตลาดและสร้างสัญญาณการ Rebalance โดยใช้ API จาก HolySheep AI ซึ่งมีความเร็วในการตอบสนองต่ำกว่า 50ms ทำให้เหมาะสำหรับการประมวลผลแบบ Real-time
import requests
import json
class AIDeltaHedgeAnalyzer:
"""ใช้ AI วิเคราะห์สถานการณ์ตลาดเพื่อตัดสินใจ Rebalance"""
def __init__(self, api_key):
self.base_url = "https://api.holysheep.ai/v1"
self.headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
def analyze_market_sentiment(self, market_data):
"""
ใช้ AI วิเคราะห์ Sentiment ของตลาด
และแนะนำกลยุทธ์ Delta Hedge ที่เหมาะสม
"""
prompt = f"""คุณเป็นนักวิเคราะห์ Delta Hedging มืออาชีพ
ข้อมูลตลาดปัจจุบัน:
- ราคาสินทรัพย์อ้างอิง: {market_data.get('underlying_price', 'N/A')}
- IV (Implied Volatility): {market_data.get('iv', 'N/A')}%
- RV (Realized Volatility): {market_data.get('rv', 'N/A')}%
- Delta ปัจจุบัน: {market_data.get('current_delta', 'N/A')}
- วันที่หมดอายุ: {market_data.get('days_to_expiry', 'N/A')} วัน
กรุณาแนะนำ:
1. ควร Rebalance ตอนนี้หรือไม่ (ใช่/ไม่ใช่ + เหตุผล)
2. ถ้า Rebalance ควรทำอย่างไร (ซื้อ/ขาย จำนวนเท่าไหร่)
3. ความเสี่ยงที่ต้องระวังในช่วงนี้
4. ค่า Threshold ที่แนะนำสำหรับการ Rebalance ครั้งต่อไป
ตอบเป็น JSON format ดังนี้:
{{
"should_rebalance": true/false,
"action": "buy/sell/hold",
"shares": number,
"reason": "string",
"risk_warning": "string",
"recommended_threshold": number
}}
"""
payload = {
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "คุณเป็นผู้เชี่ยวชาญด้านการลงทุนและ Delta Hedging"
},
{
"role": "user",
"content": prompt
}
],
"temperature": 0.3,
"response_format": {"type": "json_object"}
}
try:
response = requests.post(
f"{self.base_url}/chat/completions",
headers=self.headers,
json=payload,
timeout=30
)
response.raise_for_status()
result = response.json()
ai_response = result['choices'][0]['message']['content']
return json.loads(ai_response)
except requests.exceptions.Timeout:
return {"error": "Request timeout - ลองใหม่อีกครั้ง"}
except json.JSONDecodeError:
return {"error": "Invalid JSON response"}
except Exception as e:
return {"error": str(e)}
def generate_daily_report(self, portfolio_summary):
"""สร้างรายงานประจำวันสำหรับ Delta Hedge Portfolio"""
prompt = f"""สร้างรายงานสรุปผลการดำเนินงาน Delta Hedge Portfolio ประจำวัน
ข้อมูลพอร์ต:
- มูลค่าพอร์ต: {portfolio_summary.get('portfolio_value', 'N/A')}
- P&L วันนี้: {portfolio_summary.get('daily_pnl', 'N/A')}
- P&L สะสม: {portfolio_summary.get('cumulative_pnl', 'N/A')}
-จำนวนการ Rebalance วันนี้: {portfolio_summary.get('rebalance_count', 0)}
- ค่าใช้จ่ายในการทำ Hedge: {portfolio_summary.get('hedge_cost', 'N/A')}
- Max Drawdown: {portfolio_summary.get('max_drawdown', 'N/A')}%
กรุณาให้:
1. สรุปผลการดำเนินงาน (2-3 ประโยค)
2. ปัญหาที่พบ (ถ้ามี)
3. คำแนะนำสำหรับวันพรุ่งนี้
"""
payload = {
"model": "claude-sonnet-4.5",
"messages": [
{
"role": "system",
"content": "คุณเป็นผู้ช่วยรายงานการลงทุน"
},
{
"role": "user",
"content": prompt
}
],
"temperature": 0.4
}
try:
response = requests.post(
f"{self.base_url}/chat/completions",
headers=self.headers,
json=payload,
timeout=30
)
response.raise_for_status()
return response.json()['choices'][0]['message']['content']
except Exception as e:
return f"เกิดข้อผิดพลาด: {str(e)}"
ตัวอย่างการใช้งาน
analyzer = AIDeltaHedgeAnalyzer(api_key="YOUR_HOLYSHEEP_API_KEY")
วิเคราะห์สถานการณ์ตลาด
market_data = {
"underlying_price": 15_420.50,
"iv": 28.5,
"rv": 22.3,
"current_delta": 0.52,
"days_to_expiry": 15
}
recommendation = analyzer.analyze_market_sentiment(market_data)
print(f"คำแนะนำ: {recommendation}")
ตารางเปรียบเทียบ: ผลตอบแทนของกลยุทธ์ Delta Hedging ในแต่ละสภาวะตลาด
| สภาวะตลาด | RV vs IV | กำไร/ขาดทุน | ความเสี่ยง | ความเหมาะสม |
|---|---|---|---|---|
| Low Volatility | RV < IV | กำไร (จาก Theta) | ต่ำ | เหมาะมาก |
| High Volatility | RV > IV | ขาดทุน | สูง | ไม่เหมาะสม |
| Trending Up | ขึ้นต่อเนื่อง | กำไร (ถ้า Call) | ปานกลาง | ระวัง Gamma Risk |
| Sideways | แกว่งในกรอบ | กำไรสูงสุด | ต่ำ | เหมาะที่สุด |
| VIX Spike | IV พุ่งสูง | ขาดทุนหนัก | สูงมาก | หลีกเลี่ยง |
เหมาะกับใคร / ไม่เหมาะกับใคร
| ✅ เหมาะกับใคร | ❌ ไม่เหมาะกับใคร |
|---|---|
|
|
ราคาและ ROI
การใช้งาน Delta Hedging ร่วมกับ AI เพื่อการวิเคราะห์นั้น ค่าใช้จ่ายหลักมาจาก API ของ AI ซึ่ง HolySheep AI เสนอราคาที่ประหยัดกว่าถึง 85% เมื่อเทียบกับบริการอื่น
| โมเดล AI | ราคาต่อล้าน Tokens | เหมาะกับงาน | ความเร็ว |
|---|---|---|---|
| GPT-4.1 | $8.00 | วิเคราะห์เชิงลึก, Strategy Optimization | ปานกลาง |
| Claude Sonnet 4.5 | $15.00 | รายงาน, การอธิบายผล | เร็ว |
| Gemini 2.5 Flash | $2.50 | งานทั่วไป, การ Screening | เร็วมาก |
| DeepSeek V3.2 | $0.42 | งานประจำวัน, การคำนวณพื้นฐาน | เร็วมาก |
ตัวอย่างการคำนวณ ROI:
- การวิเคราะห์ตลาด 100 ครั้ง/วัน ด้วย DeepSeek V3.2 → ค่าใช้จ่ายประมาณ $0.05/วัน หรือ $1.50/เดือน
- ถ้า Delta Hedging ช่วยป้องกันความเสี่ยงได้เพี