Options Strategy Advisor
期权策略顾问
概述
本技能利用理论定价模型,提供全面的期权策略分析与教育。它帮助交易者理解、分析和模拟期权策略,无需订阅实时市场数据。
核心功能:

- 布莱克-斯科尔斯定价:理论期权价格与希腊值计算
- 策略模拟:主要期权策略的盈亏分析
- 财报季策略:结合财报日历的财报前波动率策略
- 风险管理:头寸规模、希腊值敞口、最大亏损/盈利分析
- 教育重点:策略与风险指标的详细解释
数据来源:
- FMP API:股票价格、历史波动率、股息、财报日期
- 用户输入:隐含波动率、无风险利率
- 理论模型:用于定价和希腊值计算的布莱克-斯科尔斯模型
何时使用此技能
在以下情况使用此技能:
- 用户询问期权策略("什么是备兑认购期权?"、"铁鹰策略如何运作?")
- 用户想要模拟策略损益("我的牛市认购价差最大利润是多少?")
- 用户需要希腊值分析("我的德尔塔风险敞口是多少?")
- 用户询问财报季策略("我应该在财报前买入跨式组合吗?")
- 用户想要比较策略("备兑认购期权 vs 保护性认沽期权?")
- 用户需要仓位规模指导("我应该交易多少张合约?")
- 用户询问波动率("当前隐含波动率高吗?")
示例请求:
- "分析苹果股票的备兑认购期权"
- "微软100/105美元牛市认购价差的损益是多少?"
- "我应该在英伟达财报前交易跨式组合吗?"
- "计算我的铁鹰策略头寸的希腊值"
- "比较保护性认沽期权与备兑认购期权在下跌保护方面的优劣"
支持的策略
收益策略
- 备兑认购期权- 持有股票,卖出看涨期权(产生收入,限制上涨空间)
- 现金担保看跌期权- 以现金支持卖出看跌期权(收取权利金,愿意购买股票)
- 穷人式备兑看涨期权- 长期看涨期权 + 卖出短期看涨期权(资本效率高)
保护策略
- 保护性看跌期权- 持有股票,买入看跌期权(保险,限制下跌风险)
- 领口策略- 持有股票,卖出看涨期权 + 买入看跌期权(限制上涨/下跌空间)
方向性策略
- 牛市看涨价差- 买入较低行权价的看涨期权,卖出较高行权价的看涨期权(风险/收益有限,看涨)
- 牛市看跌价差- 卖出较高行权价的看跌期权,买入较低行权价的看跌期权(贷方价差,看涨)
- 熊市看涨价差- 卖出较低行权价的看涨期权,买入较高行权价的看涨期权(贷方价差,看跌)
- 熊市看跌价差- 买入较高行权价的看跌期权,卖出较低行权价的看跌期权(风险/收益有限,看跌)
波动率策略
- 多头跨式期权- 买入平值看涨期权 + 平值看跌期权(从任一方向的大幅波动中获利)
- 多头宽跨式期权- 买入虚值看涨期权 + 虚值看跌期权(比跨式期权成本更低,但需要更大的价格波动才能获利)
- 空头跨式期权- 卖出平值看涨期权 + 平值看跌期权(从价格无波动中获利,风险无限)
- 空头宽跨式期权- 卖出虚值看涨期权 + 虚值看跌期权(从价格无波动中获利,价格波动容忍范围更宽)
区间震荡策略
- 铁鹰式期权组合- 牛市看跌期权价差 + 熊市看涨期权价差(从区间震荡行情中获利)
- 铁蝶式期权组合- 卖出平值跨式期权,买入虚值宽跨式期权(从价格在窄幅区间内波动中获利)
高级策略
- 日历价差- 卖出近期期权,买入远期期权(从时间价值衰减中获利)
- 对角价差- 行权价不同的日历价差(兼具方向性押注与时间价值衰减获利)
- 比率价差- 不平衡价差(一腿的合约数量更多)
分析工作流程
步骤 1:收集输入数据
用户需提供:
- 股票代码
- 策略类型
- 行权价
- 到期日
- 头寸规模(合约数量)
用户可选提供:
- 隐含波动率 - 如未提供,则使用历史波动率
- 无风险利率 - 默认使用当前3个月期国债利率(截至2025年约为5.3%)
从FMP API获取:
- 当前股价
- 历史价格(用于计算历史波动率)
- 股息收益率
- 即将到来的财报发布日期(针对财报策略)
用户输入示例:
Ticker: AAPL
Strategy: Bull Call Spread
Long Strike: $180
Short Strike: $185
Expiration: 30 days
Contracts: 10
IV: 25% (or use HV if not provided)
步骤 2:计算历史波动率(如未提供隐含波动率)
目标:根据历史价格变动估算波动率。
方法:
# Fetch 90 days of price data
prices = get_historical_prices("AAPL", days=90)
# Calculate daily returns
returns = np.log(prices / prices.shift(1))
# Annualized volatility
HV = returns.std() * np.sqrt(252) # 252 trading days
输出:
- 历史波动率(年化百分比)
- 给用户的提示:"HV = 24.5%,建议使用当前市场隐含波动率以获得更高准确性"
用户可以覆盖:
- 从经纪商平台(如ThinkorSwim、TastyTrade等)提供隐含波动率
- 脚本接受
--iv 28.0参数
步骤3:使用布莱克-斯科尔斯模型为期权定价
布莱克-斯科尔斯模型:
适用于欧式期权:
Call Price = S * N(d1) - K * e^(-r*T) * N(d2)
Put Price = K * e^(-r*T) * N(-d2) - S * N(-d1)
Where:
d1 = [ln(S/K) + (r + σ²/2) * T] / (σ * √T)
d2 = d1 - σ * √T
S = Current stock price
K = Strike price
r = Risk-free rate
T = Time to expiration (years)
σ = Volatility (IV or HV)
N() = Cumulative standard normal distribution
调整:
- 对于看涨期权,从S中减去股息的现值
- 美式期权:使用近似值或注明"欧式定价,可能低估美式期权的价值"
Python实现:
from scipy.stats import norm
import numpy as np
def black_scholes_call(S, K, T, r, sigma, q=0):
"""
S: Stock price
K: Strike price
T: Time to expiration (years)
r: Risk-free rate
sigma: Volatility
q: Dividend yield
"""
d1 = (np.log(S/K) + (r - q + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
d2 = d1 - sigma*np.sqrt(T)
call_price = S*np.exp(-q*T)*norm.cdf(d1) - K*np.exp(-r*T)*norm.cdf(d2)
return call_price
def black_scholes_put(S, K, T, r, sigma, q=0):
d1 = (np.log(S/K) + (r - q + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
d2 = d1 - sigma*np.sqrt(T)
put_price = K*np.exp(-r*T)*norm.cdf(-d2) - S*np.exp(-q*T)*norm.cdf(-d1)
return put_price
每个期权腿的输出:
- 理论价格
- 注意:"由于买卖价差以及美式与欧式定价的差异,市场价格可能有所不同"
步骤4:计算希腊值
希腊字母衡量期权价格对各种因素的敏感度:
德尔塔 (Δ):股价每变动1美元所引起的期权价格变动
def delta_call(S, K, T, r, sigma, q=0):
d1 = (np.log(S/K) + (r - q + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
return np.exp(-q*T) * norm.cdf(d1)
def delta_put(S, K, T, r, sigma, q=0):
d1 = (np.log(S/K) + (r - q + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
return np.exp(-q*T) * (norm.cdf(d1) - 1)
伽马 (Γ):股价每变动1美元所引起的德尔塔变动
def gamma(S, K, T, r, sigma, q=0):
d1 = (np.log(S/K) + (r - q + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
return np.exp(-q*T) * norm.pdf(d1) / (S * sigma * np.sqrt(T))
西塔 (Θ):期权价格每日的变动(时间衰减)
def theta_call(S, K, T, r, sigma, q=0):
d1 = (np.log(S/K) + (r - q + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
d2 = d1 - sigma*np.sqrt(T)
theta = (-S*norm.pdf(d1)*sigma*np.exp(-q*T)/(2*np.sqrt(T))
- r*K*np.exp(-r*T)*norm.cdf(d2)
+ q*S*norm.cdf(d1)*np.exp(-q*T))
return theta / 365 # Per day
维加 (ν):波动率每变动1%所引起的期权价格变动
def vega(S, K, T, r, sigma, q=0):
d1 = (np.log(S/K) + (r - q + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
return S * np.exp(-q*T) * norm.pdf(d1) * np.sqrt(T) / 100 # Per 1%
柔 (ρ):利率每变动1%所引起的期权价格变动
def rho_call(S, K, T, r, sigma, q=0):
d2 = (np.log(S/K) + (r - q + 0.5*sigma**2)*T) / (sigma*np.sqrt(T)) - sigma*np.sqrt(T)
return K * T * np.exp(-r*T) * norm.cdf(d2) / 100 # Per 1%
头寸希腊字母:
对于包含多个组成部分的策略,将所有组成部分的希腊字母值相加:
# Example: Bull Call Spread
# Long 1x $180 call
# Short 1x $185 call
delta_position = (1 * delta_long) + (-1 * delta_short)
gamma_position = (1 * gamma_long) + (-1 * gamma_short)
theta_position = (1 * theta_long) + (-1 * theta_short)
vega_position = (1 * vega_long) + (-1 * vega_short)
希腊字母解读:
| 希腊字母 | 含义 | 示例 |
|---|---|---|
| 德尔塔 | 方向性敞口 | Δ = 0.50 → 股价上涨1美元,获利50美元 |
| 伽马 | 德尔塔加速度 | Γ = 0.05 → 如果股价上涨1美元,德尔塔值增加0.05 |
| 西塔 | 每日时间衰减 | Θ = -$5 → 随时间流逝每天损失5美元 |
| 维加 | 波动率敏感性 | ν = $10 → 如果隐含波动率上升1%,则获利10美元 |
| 柔 | 利率敏感性 | ρ = $2 → 如果利率上升1%,则获利2美元 |
步骤5:模拟策略盈亏
目标:计算到期时不同股价下的利润/损失。
方法:
生成股价范围(例如,从当前价格±30%):
current_price = 180
price_range = np.linspace(current_price * 0.7, current_price * 1.3, 100)
对于每个价格点,计算盈亏:
def calculate_pnl(strategy, stock_price_at_expiration):
pnl = 0
for leg in strategy.legs:
if leg.type == 'call':
intrinsic_value = max(0, stock_price_at_expiration - leg.strike)
else: # put
intrinsic_value = max(0, leg.strike - stock_price_at_expiration)
if leg.position == 'long':
pnl += (intrinsic_value - leg.premium_paid) * 100 # Per contract
else: # short
pnl += (leg.premium_received - intrinsic_value) * 100
return pnl * num_contracts
关键指标:
- 最大利润:可能达到的最高盈亏值
- 最大损失:可能发生的最差盈亏值
- 盈亏平衡点盈亏平衡的股价
- 盈利概率:价格区间中盈利部分所占的百分比(简化版)
示例输出:
Bull Call Spread: $180/$185 on AAPL (30 DTE, 10 contracts)
Current Price: $180.00
Net Debit: $2.50 per spread ($2,500 total)
Max Profit: $2,500 (at $185+)
Max Loss: -$2,500 (at $180-)
Breakeven: $182.50
Risk/Reward: 1:1
Probability Profit: ~55% (if stock stays above $182.50)
步骤六:生成盈亏图(ASCII艺术)
股价变动对应的盈亏可视化呈现:
def generate_pnl_diagram(price_range, pnl_values, current_price, width=60, height=15):
"""Generate ASCII P/L diagram"""
# Normalize to chart dimensions
max_pnl = max(pnl_values)
min_pnl = min(pnl_values)
lines = []
lines.append(f"\nP/L Diagram: {strategy_name}")
lines.append("-" * width)
# Y-axis levels
levels = np.linspace(max_pnl, min_pnl, height)
for level in levels:
if abs(level) < (max_pnl - min_pnl) * 0.05:
label = f" 0 |" # Zero line
else:
label = f"{level:6.0f} |"
row = label
for i in range(width - len(label)):
idx = int(i / (width - len(label)) * len(price_range))
pnl = pnl_values[idx]
price = price_range[idx]
# Determine character
if abs(pnl - level) < (max_pnl - min_pnl) / height:
if pnl > 0:
char = '█' # Profit
elif pnl < 0:
char = '░' # Loss
else:
char = '─' # Breakeven
elif abs(level) < (max_pnl - min_pnl) * 0.05:
char = '─' # Zero line
elif abs(price - current_price) < (price_range[-1] - price_range[0]) * 0.02:
char = '│' # Current price line
else:
char = ' '
row += char
lines.append(row)
lines.append(" " * 6 + "|" + "-" * (width - 6))
lines.append(" " * 6 + f"${price_range[0]:.0f}" + " " * (width - 20) + f"${price_range[-1]:.0f}")
lines.append(" " * (width // 2 - 5) + "Stock Price")
return "\n".join(lines)
示例输出:
P/L Diagram: Bull Call Spread $180/$185
------------------------------------------------------------
+2500 | ████████████████████
| ██████
| ██████
| ██████
0 | ──────
| ░░░░░░
|░░░░░░
-2500 |░░░░░
|____________________________________________________________
$126 $180 $234
Stock Price
Legend: █ Profit ░ Loss ── Breakeven │ Current Price
步骤七:策略专项分析
根据策略类型提供定制化指导:
备兑认购:
Income Strategy: Generate premium while capping upside
Setup:
- Own 100 shares of AAPL @ $180
- Sell 1x $185 call (30 DTE) for $3.50
Max Profit: $850 (Stock at $185+ = $5 stock gain + $3.50 premium)
Max Loss: Unlimited downside (stock ownership)
Breakeven: $176.50 (Cost basis - premium received)
Greeks:
- Delta: -0.30 (reduces stock delta from 1.00 to 0.70)
- Theta: +$8/day (time decay benefit)
Assignment Risk: If AAPL > $185 at expiration, shares called away
When to Use:
- Neutral to slightly bullish
- Want income in sideways market
- Willing to sell stock at $185
Exit Plan:
- Buy back call if stock rallies strongly (preserve upside)
- Let expire if stock stays below $185
- Roll to next month if want to keep shares
保护性认沽:
Insurance Strategy: Limit downside while keeping upside
Setup:
- Own 100 shares of AAPL @ $180
- Buy 1x $175 put (30 DTE) for $2.00
Max Profit: Unlimited (stock can rise infinitely)
Max Loss: -$7 per share = ($5 stock loss + $2 premium)
Breakeven: $182 (Cost basis + premium paid)
Greeks:
- Delta: +0.80 (stock delta 1.00 - put delta 0.20)
- Theta: -$6/day (time decay cost)
Protection: Guaranteed to sell at $175, no matter how far stock falls
When to Use:
- Own stock, worried about short-term drop
- Earnings coming up, want protection
- Alternative to stop-loss (can't be stopped out)
Cost: "Insurance premium" - typically 1-3% of stock value
Exit Plan:
- Let expire worthless if stock rises (cost of insurance)
- Exercise put if stock falls below $175
- Sell put if stock drops but want to keep shares
铁鹰策略:
Range-Bound Strategy: Profit from low volatility
Setup (example on AAPL @ $180):
- Sell $175 put for $1.50
- Buy $170 put for $0.50
- Sell $185 call for $1.50
- Buy $190 call for $0.50
Net Credit: $2.00 ($200 per iron condor)
Max Profit: $200 (if stock stays between $175-$185)
Max Loss: $300 (if stock moves outside $170-$190)
Breakevens: $173 and $187
Profit Range: $175 to $185 (58% probability)
Greeks:
- Delta: ~0 (market neutral)
- Theta: +$15/day (time decay benefit)
- Vega: -$25 (short volatility)
When to Use:
- Expect low volatility, range-bound movement
- After big move, think consolidation
- High IV environment (sell expensive options)
Risk: Unlimited if one side tested
- Use stop loss at 2x credit received (exit at -$400)
Adjustments:
- If tested on one side, roll that side out in time
- Close early at 50% max profit to reduce tail risk
步骤八:财报策略分析
与财报日历整合:
当用户询问财报策略时,获取财报日期:
from earnings_calendar import get_next_earnings_date
earnings_date = get_next_earnings_date("AAPL")
days_to_earnings = (earnings_date - today).days
财报前策略:
多头跨式/宽跨式:
Setup (AAPL @ $180, earnings in 7 days):
- Buy $180 call for $5.00
- Buy $180 put for $4.50
- Total Cost: $9.50
Thesis: Expect big move (>5%) but unsure of direction
Breakevens: $170.50 and $189.50
Profit if: Stock moves >$9.50 in either direction
Greeks:
- Delta: ~0 (neutral)
- Vega: +$50 (long volatility)
- Theta: -$25/day (time decay hurts)
IV Crush Risk: ⚠️ CRITICAL
- Pre-earnings IV: 40% (elevated)
- Post-earnings IV: 25% (typical)
- IV drop: -15 points = -$750 loss even if stock doesn't move!
Analysis:
- Implied Move: √(DTE/365) × IV × Stock Price
= √(7/365) × 0.40 × 180 = ±$10.50
- Breakeven Move Needed: ±$9.50
- Probability Profit: ~30-40% (implied move > breakeven move)
Recommendation:
✅ Consider if you expect >10% move (larger than implied)
❌ Avoid if expect normal ~5% earnings move (IV crush will hurt)
Alternative: Buy further OTM strikes to reduce cost
- $175/$185 strangle cost $4.00 (need >$8 move, but cheaper)
空头铁鹰策略:
Setup (AAPL @ $180, earnings in 7 days):
- Sell $170/$175 put spread for $2.00
- Sell $185/$190 call spread for $2.00
- Net Credit: $4.00
Thesis: Expect stock to stay range-bound ($175-$185)
Profit Zone: $175 to $185
Max Profit: $400
Max Loss: $100
IV Crush Benefit: ✅
- Short high IV before earnings
- IV drops after earnings → profit on vega
- Even if stock moves slightly, IV drop helps
Greeks:
- Delta: ~0 (market neutral)
- Vega: -$40 (short volatility - good here!)
- Theta: +$20/day
Recommendation:
✅ Good if expect normal earnings reaction (<8% move)
✅ Benefit from IV crush regardless of direction
⚠️ Risk if stock gaps outside range (>10% move)
Exit Plan:
- Close next day if IV crushed (capture profit early)
- Use stop loss if one side tested (-2x credit)
步骤九:风险管理指导
头寸规模:
Account Size: $50,000
Risk Tolerance: 2% per trade = $1,000 max risk
Iron Condor Example:
- Max loss per spread: $300
- Max contracts: $1,000 / $300 = 3 contracts
- Actual position: 3 iron condors
Bull Call Spread Example:
- Debit paid: $2.50 per spread
- Max contracts: $1,000 / $250 = 4 contracts
- Actual position: 4 spreads
投资组合希腊值管理:
Portfolio Guidelines:
- Delta: -10 to +10 (mostly neutral)
- Theta: Positive preferred (seller advantage)
- Vega: Monitor if >$500 (IV risk)
Current Portfolio:
- Delta: +5 (slightly bullish)
- Theta: +$150/day (collecting $150 daily)
- Vega: -$300 (short volatility)
Interpretation:
✅ Neutral delta (safe)
✅ Positive theta (time working for you)
⚠️ Short vega: If IV spikes, lose $300 per 1% IV increase
→ Reduce short premium positions if VIX rising
调整与退出:
Exit Rules by Strategy:
Covered Call:
- Profit: 50-75% of max profit
- Loss: Stock drops >5%, buy back call to preserve upside
- Time: 7-10 DTE, roll to avoid assignment
Spreads:
- Profit: 50% of max profit (close early, reduce tail risk)
- Loss: 2x debit paid (cut losses early)
- Time: 21 DTE, close or roll (avoid gamma risk)
Iron Condor:
- Profit: 50% of credit (close early common)
- Loss: One side tested, 2x credit lost
- Adjustment: Roll tested side out in time
Straddle/Strangle:
- Profit: Stock moved >breakeven, close immediately
- Loss: Theta eating position, stock not moving
- Time: Day after earnings (if earnings play)
输出格式
策略分析报告模板:
# Options Strategy Analysis: [Strategy Name]
**Symbol:** [TICKER]
**Strategy:** [Strategy Type]
**Expiration:** [Date] ([DTE] days)
**Contracts:** [Number]
---
## Strategy Setup
### Leg Details
| Leg | Type | Strike | Price | Position | Quantity |
|-----|------|--------|-------|----------|----------|
| 1 | Call | $180 | $5.00 | Long | 1 |
| 2 | Call | $185 | $2.50 | Short | 1 |
**Net Debit/Credit:** $2.50 debit ($250 total for 1 spread)
---
## Profit/Loss Analysis
**Max Profit:** $250 (at $185+)
**Max Loss:** -$250 (at $180-)
**Breakeven:** $182.50
**Risk/Reward Ratio:** 1:1
**Probability Analysis:**
- Probability of Profit: ~55% (stock above $182.50)
- Expected Value: $25 (simplified)
---
## P/L Diagram
[ASCII art diagram here]
---
## Greeks Analysis
### Position Greeks (1 spread)
- **Delta:** +0.20 (gains $20 if stock +$1)
- **Gamma:** +0.03 (delta increases by 0.03 if stock +$1)
- **Theta:** -$5/day (loses $5 per day from time decay)
- **Vega:** +$8 (gains $8 if IV increases 1%)
### Interpretation
- **Directional Bias:** Slightly bullish (positive delta)
- **Time Decay:** Working against you (negative theta)
- **Volatility:** Benefits from IV increase (positive vega)
---
## Risk Assessment
### Maximum Risk
**Scenario:** Stock falls below $180
**Max Loss:** -$250 (100% of premium paid)
**% of Account:** 0.5% (if $50k account)
### Assignment Risk
**Early Assignment:** Low (calls have time value)
**At Expiration:** Manage positions if in-the-money
---
## Trade Management
### Entry
✅ Enter if: [Conditions]
- Stock price $178-$182
- IV below 30%
- >21 DTE
### Profit Taking
- **Target 1:** 50% profit ($125) - Close half
- **Target 2:** 75% profit ($187.50) - Close all
### Stop Loss
- **Trigger:** Stock falls below $177 (-$150 loss)
- **Action:** Close position immediately
### Adjustments
- If stock rallies to $184, consider rolling short call higher
- If stock drops to $179, add second spread at $175/$180
---
## Suitability
### When to Use This Strategy
✅ Moderately bullish on AAPL
✅ Expect upside to $185-$190
✅ Want defined risk
✅ 21-45 DTE timeframe
### When to Avoid
❌ Very bullish (buy stock or long call instead)
❌ High IV environment (wait for IV to drop)
❌ Earnings in <7 days (IV crush risk)
---
## Alternatives Comparison
| Strategy | Max Profit | Max Loss | Complexity | When Better |
|----------|-----------|----------|------------|-------------|
| Bull Call Spread | $250 | -$250 | Medium | Moderately bullish |
| Long Call | Unlimited | -$500 | Low | Very bullish |
| Covered Call | $850 | Unlimited | Medium | Own stock already |
| Bull Put Spread | $300 | -$200 | Medium | Want credit spread |
**Recommendation:** Bull call spread is good balance of risk/reward for moderate bullish thesis.
---
*Disclaimer: This is theoretical analysis using Black-Scholes pricing. Actual market prices may differ. Trade at your own risk. Options are complex instruments with significant loss potential.*
文件命名规范:
options_analysis_[TICKER]_[STRATEGY]_[DATE].md
示例:期权分析_AAPL_牛市看涨价差_2025-11-08.md
核心原则
理论定价局限性
用户须知:
-
布莱克-斯科尔斯模型假设:
- 欧式期权(无法提前行权)
- 波动率恒定(现实中隐含波动率会变化)
- 无交易成本
- 连续交易
-
现实与理论的差异:
- 买卖价差:实际成本高于理论值
- 美式期权:可提前行权(尤其是价内看跌期权)
- 流动性:非流动性期权市场价差较大
- 股息:除息日影响定价
-
最佳实践:
- 作为教育工具和对比分析使用
- 交易前从经纪商获取实际报价
- 理解理论价格≈中间市场价格
- 考虑佣金和滑点
波动率指引
历史波动率 vs 隐含波动率:
Historical Volatility (HV): What happened
- Calculated from past price movements
- Objective, based on data
- Available for free (FMP API)
Implied Volatility (IV): What market expects
- Derived from option prices
- Subjective, based on supply/demand
- Requires live options data (user provides)
Comparison:
- IV > HV: Options expensive (consider selling)
- IV < HV: Options cheap (consider buying)
- IV = HV: Fairly priced
隐含波动率百分位:
用户提供当前隐含波动率,我们计算百分位:
# Fetch 1-year HV data
historical_hvs = calculate_hv_series(prices_1yr, window=30)
# Calculate IV percentile
iv_percentile = percentileofscore(historical_hvs, current_iv)
if iv_percentile > 75:
guidance = "High IV - consider selling premium (credit spreads, iron condors)"
elif iv_percentile < 25:
guidance = "Low IV - consider buying options (long calls/puts, debit spreads)"
else:
guidance = "Normal IV - any strategy appropriate"
与其他技能的整合
财报日历:
- 自动获取财报日期
- 建议针对财报的特定策略
- 计算距离财报的天数(到期天数对隐含波动率至关重要)
- 警告隐含波动率骤降风险
技术分析师:
- 利用支撑/阻力位进行行权价选择
- 用于方向性策略的趋势分析
- 用于跨式/宽跨式策略时机选择的突破潜力分析
美股分析:
- 用于长期策略(长期普通股预期证券)的基本面分析
- 用于备兑看涨/看跌期权分析的股息收益率
- 盈利质量对收益表现的影响
泡沫检测器:
- 高风险泡沫 → 关注保护性看跌期权
- 低风险 → 看涨策略
- 关键风险 → 避免多头溢价(时间价值损耗)
投资组合经理:
- 跟踪期权头寸与股票头寸
- 汇总投资组合的希腊值
- 期权作为股票头寸的对冲工具
重要说明
- 所有分析以英文进行
- 教育重点:策略解释清晰
- 理论定价:布莱克-斯科尔斯近似法
- 用户隐含波动率输入:可选,默认历史波动率
- 无需实时数据:FMP免费层级足够
- 依赖项:Python 3.8+、numpy、scipy、pandas
常见用例
用例 1:学习策略
User: "Explain a covered call"
Workflow:
1. Load strategy reference (references/strategies_guide.md)
2. Explain concept, risk/reward, when to use
3. Simulate example on AAPL
4. Show P/L diagram
5. Compare to alternatives
用例 2:分析具体交易
User: "Analyze $180/$185 bull call spread on AAPL, 30 days"
Workflow:
1. Fetch AAPL price from FMP
2. Calculate HV or ask user for IV
3. Price both options (Black-Scholes)
4. Calculate Greeks
5. Simulate P/L
6. Generate analysis report
用例 3:财报季策略
User: "Should I trade options before NVDA earnings?"
Workflow:
1. Fetch NVDA earnings date (Earnings Calendar)
2. Calculate days to earnings
3. Estimate IV percentile (if user provides IV)
4. Suggest straddle/strangle vs iron condor
5. Warn about IV crush
6. Simulate both strategies
用例 4:检查投资组合希腊值
User: "What are my total portfolio Greeks?"
Workflow:
1. User provides current positions
2. Calculate Greeks for each position
3. Sum Greeks across portfolio
4. Assess overall exposure
5. Suggest adjustments if needed
故障排除
问题:隐含波动率不可用
- 解决方案:使用历史波动率作为代理,并通知用户
- 请用户从经纪商平台提供隐含波动率
问题:期权价格为负
- 解决方案:检查输入(行权价与股价)
- 深度价内期权可能存在数值问题
问题:希腊值似乎有误
- 解决方案:验证输入(T、sigma、r)
- 检查是否使用了年化值与日度值
问题:策略过于复杂
- 解决方案:拆分为单腿,单独分析
- 参考相关资料了解策略详情
资源
参考资料:
参考资料/策略指南.md- 详细解释了所有 17+ 种策略参考资料/希腊字母详解.md- 希腊字母深入解析参考资料/波动率指南.md- 历史波动率 vs 隐含波动率,交易时机判断
脚本:
脚本/布莱克-斯科尔斯.py- 定价引擎与希腊字母计算脚本/策略分析器.py- 策略模拟脚本/财报策略.py- 财报专用分析
外部资源:
- 期权策略手册:https://www.optionsplaybook.com/
- CBOE 教育中心:https://www.cboe.com/education/
- 布莱克-斯科尔斯计算器:用于验证的各种在线工具
版本: 1.0最后更新: 2025-11-08依赖项: Python 3.8+, numpy, scipy, pandas, requestsAPI: FMP API(免费套餐已足够)


微信扫一扫,打赏作者吧~