風險管理與實戰案例
選擇權是高槓桿工具——可以讓你一夜致富,也可以讓你一夕歸零。風險管理比交易策略更重要。
🔥 Vibe Prompt
「建立一個選擇權風險管理系統:包含凱利公式部位規模計算、情境分析與壓力測試、希臘字母避險策略、以及三個真實市場案例(特斯拉財報、VIX 恐慌、股災避險)。」
風險管理原則
| 原則 | 說明 | |------|------| | 1% 規則 | 單筆交易風險不超過資金的 1% | | 最大槓桿 | 選擇權槓桿不超過 5 倍 | | 分散到期 | 不要所有部位同一時間到期 | | Delta 避險 | 維持投資組合 Delta 中性 | | 止損紀律 | 每筆交易設定最大損失 |
凱利公式 (Kelly Criterion)
凱利公式幫助你計算最適下注比例:
$$f^* = \frac{bp - q}{b}$$
- $f^*$:最適資金比例
- $b$:賠率(潛在獲利 / 潛在損失)
- $p$:獲勝機率
- $q$:失敗機率($1-p$)
def kelly_criterion(win_prob, win_loss_ratio):
"""
凱利公式計算最適部位規模
win_prob: 獲勝機率 (0~1)
win_loss_ratio: 獲利/損失比
"""
b = win_loss_ratio
p = win_prob
q = 1 - p
f_star = (b * p - q) / b
# 建議使用半凱利(更保守)
half_kelly = f_star * 0.5
return {
'full_kelly': max(0, f_star),
'half_kelly': max(0, half_kelly),
'說明': '建議使用半凱利以降低風險'
}
# 範例
result = kelly_criterion(win_prob=0.6, win_loss_ratio=2.0)
print(f"完整凱利: {result['full_kelly']:.1%}")
print(f"半凱利: {result['half_kelly']:.1%}")
情境分析與壓力測試
def scenario_analysis(base_params, scenarios):
"""
情境分析:在不同市場情境下評估投資組合
base_params: 基本參數 {S, K, T, r, sigma}
scenarios: 情境列表 [{name, S_change, sigma_change}, ...]
"""
results = []
for scenario in scenarios:
S = base_params['S'] * (1 + scenario['S_change'])
sigma = base_params['sigma'] * (1 + scenario['sigma_change'])
call_price = black_scholes(S, base_params['K'], base_params['T'],
base_params['r'], sigma, 'call')
put_price = black_scholes(S, base_params['K'], base_params['T'],
base_params['r'], sigma, 'put')
results.append({
'scenario': scenario['name'],
'S': S,
'sigma': sigma,
'call_price': call_price,
'put_price': put_price
})
return results
# 測試情境
scenarios = [
{'name': '📈 牛市 (+20%)', 'S_change': 0.20, 'sigma_change': -0.1},
{'name': '📉 熊市 (-20%)', 'S_change': -0.20, 'sigma_change': 0.2},
{'name': '😱 崩盤 (-40%)', 'S_change': -0.40, 'sigma_change': 0.5},
{'name': '📊 盤整 (+5%)', 'S_change': 0.05, 'sigma_change': -0.2},
{'name': '⚡ 黑天鵝 (-15%, +Vol)', 'S_change': -0.15, 'sigma_change': 0.8},
]
base = {'S': 100, 'K': 100, 'T': 0.5, 'r': 0.05, 'sigma': 0.2}
print(f"{'情境':<25} {'股價':>8} {'波動率':>8} {'Call':>8} {'Put':>8}")
print("-" * 60)
for r in scenario_analysis(base, scenarios):
print(f"{r['scenario']:<25} {r['S']:>8.1f} {r['sigma']:>8.3f} {r['call_price']:>8.2f} {r['put_price']:>8.2f}")
Delta 避險實戰
def delta_hedge(S, K, T, r, sigma, option_type, quantity):
"""
Delta 中性避險策略
回傳:需要買入/賣出的標的股票數量
"""
d1 = (math.log(S / K) + (r + 0.5 * sigma ** 2) * T) / (sigma * math.sqrt(T))
if option_type == 'call':
delta = norm.cdf(d1)
else:
delta = norm.cdf(d1) - 1
# 選擇權 Delta × 數量 × 100(一張 = 100股)
option_delta = delta * quantity * 100
# 要達到 Delta 中性,需要相反的部位
hedge_shares = -option_delta
return {
'option_delta': delta,
'total_option_delta': option_delta,
'hedge_shares': hedge_shares,
'action': '賣出' if hedge_shares > 0 else '買入',
'shares': abs(int(hedge_shares))
}
# 持有一口 Call 選擇權,需要多少股票避險?
hedge = delta_hedge(100, 105, 0.5, 0.05, 0.2, 'call', 1)
print(f"選擇權 Delta: {hedge['option_delta']:.4f}")
print(f"建議 {hedge['action']} {hedge['shares']} 股")
真實案例
案例 1:特斯拉財報
- 情境:TSLA 財報前,隱含波動率飆升到 80%+
- 策略:賣出 Iron Condor,賺取高額波動率溢價
- 結果:財報後波動率回歸,選擇權價格暴跌,Iron Condor 獲利
- 教訓:高波動率時賣方有利
案例 2:VIX 恐慌
- 情境:VIX 指數從 15 飆升到 40
- 策略:買入 VIX Call 或 VIX 期貨
- 結果:恐慌期間選擇權價格暴漲
- 教訓:黑天鵝事件時買方最有利
案例 3:股災避險
- 情境:2020 年 3 月 COVID-19 股災
- 策略:買入價外 Put 作為保護性賣權(Protective Put)
- 結果:雖然持有股票大跌,但 Put 暴漲抵消了損失
- 教訓:選擇權是最好的保險工具
總結
| 風險管理工具 | 用途 | |-------------|------| | 凱利公式 | 計算最適部位規模 | | 情境分析 | 評估不同市場狀況下的損益 | | 壓力測試 | 極端情境下的風險評估 | | Delta 避險 | 消除方向性風險 | | 止損單 | 控制最大損失 |
實戰練習
💡 Vibe Coding 練習:請 AI 建立一個「選擇權風險管理儀表板」:
- 凱利公式部位規模計算器
- 多情境損益模擬(牛市/熊市/崩盤/黑天鵝)
- Delta 避險建議產生器
- 投資組合 Greeks 總覽
- VaR(風險價值)計算
- 止損與預警系統