Install
openclaw skills install @gechengling/security-options-strategyAI-powered options strategy tool for China market with options pricing, Greeks, multi-leg strategies (covered call, protective put, spreads, straddles), and...
openclaw skills install @gechengling/security-options-strategyEnglish: AI-powered options strategy master — covers options pricing, Greeks calculation, multi-leg strategies, and volatility trading. Built for options traders and risk managers.
中文: 期权策略大师——覆盖期权定价、Greeks计算、多腿策略分析、波动率交易。适用:期权交易者、风险管理人。
数据最小化前置声明: 使用本技能时,请只提供分析所必需的输入——标的代码与价格、合约行权价与到期月份、市场价或隐含波动率、账户可用资金量级(用"约50万"而非精确余额)。不要粘贴资金账号、真实持仓明细、客户身份信息、交易密码或未公开的成交数据。
保存与预览确认: 本技能不执行任何保存动作。若你在自己环境中依据本技能生成定价结果、策略损益表或保证金测算表,请在落盘或对外报送前先预览结果、确认参数口径与交易所最新规则一致,再保存或提交。
代码块性质与执行边界
| 内容 | 性质 | 谁来执行 |
|---|---|---|
OptionsPricer 类(BS定价/IV反解/Greeks) | 定价与希腊字母的计算口径说明 | 由量化研究员在自有系统中取数复现;技能不取数、不运行 |
OptionsStrategy 类与 STRATEGIES 字典 | 多腿结构定义与损益计算示意 | 由研究员在自有系统中实现 |
analyze_volatility_smile() | 曲面与偏斜指标的算法表达 | 同上,属教学示意 |
| 权责矩阵、风控清单、限额表 | 管理用模板 | 由交易/风控/合规人员在机构流程中落实 |
重要: 本技能未配置任何工具调用权限,不执行代码、不读写文件、不访问行情数据源、不下单、不查询持仓与保证金实际余额。保证金与限额的具体数值口径以交易所与结算机构最新公布规则为准,文中的比例与阈值均为示例。期权交易风险高于标的现货,义务仓亏损可能超过初始资金。
| 动态类型 | 内容摘要 | 影响范围 | 交易/风控侧应对动作 | 优先级 | 复核频率 | | |---------|---------|---------|-----------------|-------|---| | 程序化交易 | 程序化交易报告与异常交易监控要求持续落地,期权策略的自动化报单需纳入报送口径 | 策略执行与报备流程 | 策略上线前登记报备信息,保留参数取值与触发条件说明 | 高 | 每月 | | 持仓限额 | 交易所对期权持仓限额与大户报告执行趋严 | 多腿组合与义务仓规模 | 组合建仓前测算单合约/单账户限额占用 | 高 | 每季 | | 保证金管理 | 极端行情下交易所可动态调整保证金比例 | 义务仓与卖出价差策略 | 按保证金比例上浮 20%/35%/50% 三档情景预留资金 | 高 | 每月 | | 投资者适当性 | 期权权限分级(一级/二级/三级)需与策略动作严格匹配 | 客户开户与策略推荐 | 推荐策略前核验权限等级与交易经验 | 高 | 每季 | | 量化共振 | A股量化资金占比维持高位,期权对冲与现货量化存在联动 | 波动率结构与基差 | 建立量化资金流与 IV 的联动观察指标 | 中 | 每月 | | 波动率制度 | 场内期权做市与品种机制持续完善,曲面结构变化加快 | 波动率交易与套利研究 | 每周更新曲面快照,跟踪偏斜结构漂移 | 中 | 每周 | | 保证金管理 | 2026年10月:极端行情下的保证金动态调整与追保通知时效要求更受关注 | 义务仓与卖出价差策略 | 建立追保资金预留台账,明确T+0补足责任人与流程 | 高 | 每月 | | 持仓限额 | 2026年四季度初:期权组合持仓限额的合并计算口径进一步细化 | 多腿组合与义务仓规模 | 组合建仓按合并口径重算占用,历史持仓同步复核 | 高 | 每季 |
数据截止: 2026-10-08 | 来源:证监会、沪深交易所、中证协、行业公开信息 声明: 以上动态供参考,具体以官方最新发布为准
动态解读示例(两类高频场景)
| Pain Point / 痛点 | Impact / 影响 | Solution / 本Skill解决方案 | 量化基线(示例) | 责任岗 |
|---|---|---|---|---|
| 定价复杂 | BS 模型参数选择困难,理论价与市场价偏差大 | 参数解释+敏感性分析 | 理论价与市场价偏差 ≤1.5% 视为可接受 | 量化研究 |
| 希腊字母难懂 | Delta/Gamma/Vega 混淆,对冲比例算错 | 可视化 Greeks 图形 | 组合 |Delta| ≤5%,Gamma 集中度可控 | 交易员 |
| 策略选择困难 | 不知道用什么策略应对当前市场 | 情景化策略推荐 | 按"方向 × IV 分位"二维矩阵择策略 | 投资经理 |
| 保证金占用 | 资金效率低,极端行情被追保 | 最优保证金管理 | 常态保证金占用 ≤可用资金 60% | 风控 |
| 风险敞口不清晰 | 极端行情爆仓,回撤失控 | 实时风险监控+预警 | 单策略最大亏损 ≤账户权益 3% | 风控 |
| 权限与适当性错配 | 推荐策略超出客户权限,委托被拒 | 权限等级×策略动作匹配检查 | 建仓前 100% 完成权限核验 | 合规/运营 |
| 组合限额不清 | 多腿跨合约占用,超限被动减仓 | 单合约/单账户限额测算表 | 单合约持仓 ≤限额 80% | 交易/风控 |
策略权责矩阵(示例)
| 环节 | 输出物 | 责任岗 | 复核岗 | 留痕要求 |
|---|---|---|---|---|
| 参数确定 | 无风险利率、波动率、分红率取值说明 | 量化研究 | 投资经理 | 参数来源与取值日期 |
| 策略选择 | 策略建议书(含适用行情、最大亏损、盈亏比) | 投资经理 | 风控 | 建议书版本号 |
| 下单前检查 | 权限、限额、保证金"三查"记录 | 交易员 | 合规 | 三查签字或系统日志 |
| 持仓监控 | Greeks 与保证金日报 | 风控 | 部门负责人 | 异常处置记录 |
| 到期处理 | 行权/放弃/平仓决议 | 交易员 | 风控 | 决议留档 |
English Triggers (exchange-traded options analysis only): Black-Scholes pricing, options Greeks calculation, multi-leg options P&L, IV rank and skew analysis, margin stress test, covered call / protective put structure
English Non-Triggers: options, derivatives, hedging, volatility, trading — these alone do not route here; the task must be pricing, Greeks, multi-leg P&L or volatility-surface analysis on exchange-traded options.
中文触发词(须落在"期权定价/希腊字母/多腿损益/波动率分析"任务上才触发): 期权定价 / BS定价 / 隐含波动率反解 / 希腊字母计算 / Delta对冲 / 备兑开仓损益 / 保护性看跌测算 / 牛市看涨价差 / 铁鹰策略损益 / IV分位与偏斜 / 波动率曲面分析 / 保证金压力测算 / 期权持仓限额测算
不触发(Scope Exclusions): 以下泛化词单独出现时不触发本技能——期权、衍生品、对冲、波动率、风险管理。它们只有在明确指向"对场内期权做定价、算希腊字母、算多腿损益或分析波动率曲面"时才路由到本技能;场外衍生品、其他市场(非中国境内)的期权规则、个股基本面研究请改用对应技能。
语言与适用市场声明(SQP-3 说明): 本技能以中文为主体,术语与规则口径均对应中国境内交易所的场内期权(如 50ETF、沪深300 等标的的期权合约)。用户以中文期权术语提问时优先路由至本技能,这是与适用市场一致的显式设计;若标的为境外市场期权,应以当地交易所规则为准,本技能不覆盖。
路由判定三步: ① 标的是否为中国境内交易所的场内期权合约?② 任务是否为定价、算希腊字母、算多腿损益、分析曲面或测算保证金?③ 两者同时为"是"才启用。只问期权概念不启用。
import numpy as np
from scipy.stats import norm
class OptionsPricer:
"""期权定价引擎"""
@staticmethod
def black_scholes(S, K, T, r, sigma, option_type='call'):
"""
Black-Scholes期权定价
Args:
S: 标的资产价格
K: 行权价
T: 到期时间(年)
r: 无风险利率
sigma: 波动率
option_type: 'call' 或 'put'
"""
if T <= 0:
if option_type == 'call':
return max(S - K, 0)
else:
return max(K - S, 0)
d1 = (np.log(S / K) + (r + 0.5 * sigma ** 2) * T) / (sigma * np.sqrt(T))
d2 = d1 - sigma * np.sqrt(T)
if option_type == 'call':
price = S * norm.cdf(d1) - K * np.exp(-r * T) * norm.cdf(d2)
delta = norm.cdf(d1)
else:
price = K * np.exp(-r * T) * norm.cdf(-d2) - S * norm.cdf(-d1)
delta = norm.cdf(d1) - 1
# Greeks计算
gamma = norm.pdf(d1) / (S * sigma * np.sqrt(T))
vega = S * norm.pdf(d1) * np.sqrt(T) / 100 # 每1%波动率变化
theta_call = (-S * norm.pdf(d1) * sigma / (2 * np.sqrt(T)) -
r * K * np.exp(-r * T) * norm.cdf(d2)) / 365
theta_put = (-S * norm.pdf(d1) * sigma / (2 * np.sqrt(T)) +
r * K * np.exp(-r * T) * norm.cdf(-d2)) / 365
return {
'price': round(price, 4),
'delta': round(delta, 4),
'gamma': round(gamma, 6),
'vega': round(vega, 4),
'theta': round(theta_call if option_type == 'call' else theta_put, 4),
'd1': round(d1, 4),
'd2': round(d2, 4)
}
@staticmethod
def implied_volatility(market_price, S, K, T, r, option_type='call'):
"""计算隐含波动率(牛顿迭代法)"""
sigma = 0.3 # 初始猜测
for _ in range(100):
bs_price = OptionsPricer.black_scholes(S, K, T, r, sigma, option_type)['price']
vega = OptionsPricer.black_scholes(S, K, T, r, sigma, option_type)['vega'] * 100
diff = market_price - bs_price
if abs(diff) < 1e-6:
break
sigma = sigma + diff / vega
if sigma < 0.01 or sigma > 5:
return None
return round(sigma * 100, 2) # 返回百分比
输入:50ETF 现价 2.800 元,行权价 2.850 元,剩余 30 天,无风险利率 1.80%,波动率 20%,看涨期权。
| 输出项 | 示例取值 | 含义 | 解读要点 |
|---|---|---|---|
| price | 0.0256 | BS 理论价 | 与市场价偏差 >1.5% 需回查参数口径 |
| delta | 0.3892 | 标的价格每涨 1 元,期权价约涨 0.39 元 | 也可近似读作"到期为实值的概率" |
| gamma | 2.4103 | Delta 随标的变化的速率 | 平值附近最大,临近到期急剧放大 |
| vega | 0.0031 | 波动率每升 1 个百分点引起权利金变化 | 30 天短期期权 Vega 通常偏小 |
| theta | −0.0018 | 每日时间损耗 | 买方注意:横盘也在亏钱 |
| d1 / d2 | 0.0854 / 0.0160 | 中间变量 | 可用于核对计算是否出错 |
手算校验(供复核使用):d1 = [ln(2.800/2.850) + (0.018 + 0.5×0.2²)×(30/365)] ÷ (0.2×√(30/365)) ≈ 0.085;d2 = d1 − 0.2×√(30/365) ≈ 0.016。若 d1、d2 符号与预期相反,最常见原因是利率被误填为百分数(应为 0.018 而不是 1.8)。
参数敏感性对照(其他条件不变)
| 变量变动 | 看涨期权理论价 | 变化幅度 | 提示 | 方向判断 | | |---------|-------------|---------|------|---| | 波动率 20% → 25% | 0.0256 → 0.0316 | +23.4% | 波动率对短期期权定价影响显著 | 波动率是短期期权定价的主导变量 | | 剩余期限 30 → 60 天 | 0.0256 → 0.0389 | +52.0% | 时间价值大致随 √T 增长 | 时间价值随期限增长但非线性 | | 标的价格 2.800 → 2.850 | 0.0256 → 0.0421 | +64.5% | 平值处 Delta 约 0.5,价格弹性最大 | 平值附近价格弹性最大 | | 无风险利率 1.8% → 3.0% | 0.0256 → 0.0276 | +7.8% | 利率因素对短期期权影响相对最小 | 短期期权对利率最不敏感 |
| 情形 | 现象 | 原因 | 处理方式 |
|---|---|---|---|
| 迭代不收敛 | 返回 None,sigma 跑出区间 | 市场价严重偏离理论价(深度实值或临近到期) | 改用二分法,或直接标记为异常报价 |
| 深度实值合约 IV 异常高 | 30 天深实值看涨 IV 报 45% | 流动性差,买卖价差在权利金中占比过高 | 用买价与卖价分别求 IV,取区间中值 |
| 临近到期 IV 剧烈跳动 | 剩余 2 天合约 IV 单日 +15pp | 时间极短,标的小幅波动即放大 IV | 剔除剩余 ≤3 天的合约后再算曲面 |
| 同日结果不一致 | 同一合约两个 IV | 无风险利率口径不同(1.8% vs 3.0%) | 曲面计算统一利率口径并记录取值日期 |
示例:某 50ETF 看涨期权市场价 0.0300 元,BS 理论价 0.0256 元 → 反解出的隐含波动率约 23.1%,高于当前 20% 的参考波动率约 3.1 个百分点,说明市场为该合约定价了额外的波动率溢价(解读时应同时检查当日是否有事件驱动)。
示例|希腊字母随到期日临近的变化(平值合约)
| 剩余天数 | Delta | Gamma | Vega | Theta(每日) | 交易含义 |
|---|---|---|---|---|---|
| 60天 | 0.52 | 1.31 | 0.0044 | −0.0011 | 时间损耗温和,适合买方 |
| 30天 | 0.53 | 2.41 | 0.0031 | −0.0018 | Gamma 翻倍,对冲频率需提高 |
| 7天 | 0.55 | 5.86 | 0.0015 | −0.0042 | 时间损耗急剧放大 |
| 1天 | 0.62 | 18.4 | 0.0006 | −0.0125 | Delta 接近阶跃,风险极高 |
变化要点:临近到期时 Gamma 急剧放大而 Vega 快速衰减。这意味着同一波动率变化带来的影响越来越小,但标的小幅跳动引起的 Delta 变化越来越大——义务仓在最后几天的对冲难度与尾部风险显著高于建仓初期。
示例|参数口径错误的三种典型后果
| 错误 | 表现 | 后果 | 排查方法 |
|---|---|---|---|
| 利率填成百分数(1.8 而非 0.018) | d1、d2 符号异常 | 理论价偏差可达数倍 | 打印 d1/d2 核对符号 |
| 期限用自然日而非交易日折算 | T 偏大 | 理论价系统性高估 | 统一按剩余交易日/244 折算 |
| 波动率用年化百分数的数值(20 而非 0.20) | 理论价接近内在价值 | IV 反解不收敛 | 检查 sigma 量纲 |
排查要点:三类错误的共同特征是"结果能算出来但明显不合理"。定价完成后应至少做一次量纲与符号的人工核对,尤其是初次接入新数据源时。
class OptionsStrategy:
"""期权策略分析"""
STRATEGIES = {
"covered_call": {
"name": "备兑开仓",
"description": "持有标的+卖出看涨期权",
"use_case": "预期横盘/小幅上涨,想增加收益",
"max_profit": "股价 - 行权价 + 权利金",
"max_loss": "无限(理论上)"
},
"protective_put": {
"name": "保护性看跌",
"description": "持有标的+买入看跌期权",
"use_case": "担心下跌,想锁定损失",
"max_profit": "无限",
"max_loss": "行权价 - 股价 + 权利金"
},
"bull_call_spread": {
"name": "牛市看涨价差",
"description": "买入低行权价看涨+卖出高行权价看涨",
"use_case": "看涨但涨幅有限",
"max_profit": "行权价差 - 净权利金",
"max_loss": "净权利金"
},
"bear_put_spread": {
"name": "熊市看跌价差",
"description": "买入高行权价看跌+卖出低行权价看跌",
"use_case": "看跌但跌幅有限",
"max_profit": "行权价差 - 净权利金",
"max_loss": "净权利金"
},
"straddle": {
"name": "跨式策略",
"description": "同时买入同行权价的看涨+看跌",
"use_case": "预期大幅波动但方向不明",
"max_profit": "无限(上涨)或标的 - 行权价(下跌)",
"max_loss": "两倍权利金"
},
"strangle": {
"name": "勒式策略",
"description": "买入高行权价看涨+低行权价看跌",
"use_case": "预期大幅波动但方向不明(成本低于跨式)",
"max_profit": "无限",
"max_loss": "两倍权利金"
},
"iron_condor": {
"name": "铁鹰策略",
"description": "卖出价差+买入更宽价差保护",
"use_case": "预期标的在一定范围内波动",
"max_profit": "净权利金",
"max_loss": "两个价差幅度 - 净权利金"
}
}
def analyze_strategy(self, strategy_name: str,
underlying_price: float,
params: dict) -> dict:
"""分析策略损益"""
if strategy_name not in self.STRATEGIES:
return {"error": "未知策略"}
strategy = self.STRATEGIES[strategy_name]
analysis = {
"strategy": strategy["name"],
"description": strategy["description"],
"use_case": strategy["use_case"]
}
# 计算不同标的价格下的盈亏
price_range = np.linspace(
underlying_price * 0.7,
underlying_price * 1.3,
100
)
pnl_curve = self._calculate_pnl(strategy_name, price_range, params)
# 关键指标
breakeven = self._find_breakeven(pnl_curve, price_range)
max_profit = self._find_max_profit(pnl_curve, price_range)
max_loss = self._find_max_loss(pnl_curve, price_range)
return {
**analysis,
"breakeven": round(breakeven, 2),
"max_profit": round(max_profit, 2),
"max_loss": round(max_loss, 2),
"profit_table": {
"大幅下跌(-20%)": round(self._pnl_at_price(strategy_name,
underlying_price * 0.8, params), 2),
"小幅下跌(-10%)": round(self._pnl_at_price(strategy_name,
underlying_price * 0.9, params), 2),
"横盘(0%)": round(self._pnl_at_price(strategy_name,
underlying_price, params), 2),
"小幅上涨(+10%)": round(self._pnl_at_price(strategy_name,
underlying_price * 1.1, params), 2),
"大幅上涨(+20%)": round(self._pnl_at_price(strategy_name,
underlying_price * 1.2, params), 2)
}
}
| 市场观点 | IV 分位 <20%(偏便宜) | IV 分位 20%-80%(中性) | IV 分位 >80%(偏贵) |
|---|---|---|---|
| 明确看涨 | 买入看涨 / 牛市看涨价差 | 牛市看涨价差 | 卖出看跌价差 |
| 温和看涨 | 备兑开仓 | 备兑开仓 | 卖出看跌价差 |
| 看横盘 | 卖出宽跨式(须留足保证金) | 铁鹰策略 | 铁鹰策略 |
| 温和看跌 | 熊市看跌价差 | 熊市看跌价差 | 卖出看涨价差 |
| 明确看跌 | 买入看跌 / 熊市看跌价差 | 保护性看跌 | 保护性看跌 |
| 方向不明、预期大幅波动 | 买入跨式 / 勒式 | 买入勒式 | 暂不建仓,等 IV 回落 |
使用规则:先按"方向"锁定行,再按"IV 分位"锁定列。IV 分位应对同一合约近 250 个交易日的历史序列计算,而非用全市场平均波动率代替。
| 策略 | 腿数 | 净权利金方向 | 保证金占用 | 最大亏损 | 适用 IV 环境 | 到期处理方式 | | |-----|-----|-----------|-----------|---------|------------|---| | 备兑开仓 | 2 | 收取 | 现货端已占用,期权端不额外占用 | 标的跌至 0(现货端亏损) | IV 偏高 | 被指派则交割现货,否则保留 | | 保护性看跌 | 2 | 支出 | 现货端已占用 | 行权价差 + 权利金 | IV 偏低 | 实值可行权或平仓 | | 牛市看涨价差 | 2 | 支出 | 买方结构,无义务仓保证金 | 净权利金 | 任意 | 自动行权或平仓了结 | | 熊市看跌价差 | 2 | 支出 | 买方结构,无义务仓保证金 | 净权利金 | 任意 | 同上 | | 买入跨式 / 勒式 | 2 | 支出 | 买方结构,无义务仓保证金 | 两腿权利金合计 | IV 偏低 | 实值腿行权,虚值腿作废 | | 铁鹰策略 | 4 | 收取 | 按卖出腿价差差额计 | 价差宽度 − 净权利金 | IV 偏高 | 四腿分别结算 |
输入:标的现价 2.900 元;牛市看涨价差,买入行权价 3.000 元(权利金 0.0500),卖出行权价 3.200 元(权利金 0.0200);净支出 0.0300 元。
| 情景 | 到期标的价 | 组合到期价值 | 单组盈亏 | 解读 |
|---|---|---|---|---|
| 大幅下跌 −20% | 2.320 | 0 | −0.0300 | 亏损封顶于净权利金,继续下跌不再扩大 |
| 小幅下跌 −10% | 2.610 | 0 | −0.0300 | 两腿均为虚值,全部权利金损失 |
| 横盘 0% | 2.900 | 0 | −0.0300 | 未突破低行权价,仍为最大亏损 |
| 小幅上涨 +10% | 3.190 | 0.1900 | +0.1600 | 接近高行权价,收益趋近上限 |
| 大幅上涨 +20% | 3.480 | 0.2000 | +0.1700 | 已达最大盈利,再涨不再增加 |
示例|同一市场观点下的三种结构对比(看温和上涨)
| 结构 | 净支出 | 盈亏平衡点 | 最大盈利 | 最大亏损 | 适用前提 |
|---|---|---|---|---|---|
| 买入看涨 | 0.0500 | 3.0500 | 不封顶 | 0.0500 | 预期涨幅大、IV 偏低 |
| 牛市看涨价差 | 0.0300 | 3.0300 | 0.1700 | 0.0300 | 预期涨幅有限、降低权利金成本 |
| 卖出看跌价差 | 收取0.0180 | 2.9820 | 0.0180 | 0.1820 | 愿意在低位接货、IV 偏高 |
对比要点:三种结构的盈亏平衡点相差不大,但最大亏损差异超过6倍。选择时先看"最大亏损是否与账户承受力匹配",再看收益;卖出看跌价差虽然收权利金,但最大亏损远大于收取的金额,不适合作为"低风险替代"。
示例|提前平仓与持有到期的取舍
| 情形 | 持有到期 | 提前平仓 | 判断 |
|---|---|---|---|
| 价差已达最大盈利的80% | 继续持有 | 平仓了结 | 剩余收益有限而时间风险仍在,倾向平仓 |
| 买入跨式,标的未动、临近到期 | 权利金加速损耗 | 平仓止损 | Theta 损耗在最后一周最快,倾向平仓 |
| 义务仓已获大部分权利金 | 承担尾部风险 | 平仓锁定 | 用少量剩余权利金换取尾部风险出清,倾向平仓 |
| 深度虚值买方,仍有事件预期 | 保留 | 平仓 | 若事件窗口仍覆盖到期日,可持有 |
取舍要点:价差类策略在接近最大盈利时,继续持有的边际收益远小于承担的反向风险;义务仓在收取大部分权利金后,尾部风险的绝对金额并未下降,这两类都应优先考虑提前了结。
| 步骤 | 输入 | 输出 | 判断依据 |
|---|---|---|---|
| 1. 求 IV 曲面 | 各合约市场价、标的价、剩余期限、利率 | 各行权价隐含波动率曲线 | 剔除剩余 ≤3 天与当日无成交合约 |
| 2. 算 IV 分位 | 同合约近 250 个交易日 IV 序列 | IV Rank / IV Percentile | >80% 偏贵,<20% 偏便宜 |
| 3. 看偏斜结构 | 虚值看跌 IV 与平值 IV 之差 | Skew 值 | 负偏斜扩大说明尾部避险需求上升 |
| 4. 对比已实现波动率 | 标的近 20/60 日已实现波动率 | IV − RV 差值 | 差值 >5pp 时可研究卖出波动率结构 |
| 5. 决策与风控 | 上述指标 + 保证金余量 | 交易或等待 | 保证金占用超阈值则放弃,不做例外 |
def analyze_volatility_smile(option_chain: dict) -> dict:
"""
分析波动率微笑曲面,识别相对高估/低估的合约(供研究参考)
输入 option_chain: {行权价: 市场价}
"""
# 计算各行权价的隐含波动率
iv_curve = {
strike: calculate_iv(option_price, spot, strike, days_to_expiry, r)
for strike, option_price in option_chain.items()
}
# 波动率偏斜分析
atm_iv = iv_curve[get_atm_strike(spot)]
skew = {
otm_put_10: atm_iv - iv_curve[otm_put_10],
otm_call_10: iv_curve[otm_call_10] - atm_iv
}
return {
"iv_curve": iv_curve,
"atm_volatility": round(atm_iv, 2),
"skew": skew,
"iv_rank": compute_iv_rank(atm_iv, iv_history_250d),
"rv_gap": round(atm_iv - realized_vol_20d, 2),
"reading": "IV 偏高,研究卖出波动率结构" if iv_rank > 80
else ("IV 偏低,研究买入波动率结构" if iv_rank < 20
else "IV 中性,暂不做波动率方向性判断")
}
| 曲面形态 | IV Rank | Skew(虚值看跌 IV − 平值 IV) | IV − RV | 解读 | 研究方向(示例) | RV对照期限 | | |---------|---------|--------------------------|---------|------|-------------|---| | 平坦型 | 45%(中位) | −1.2pp(轻微负偏) | +0.8pp | 市场定价中性,无显著错价 | 不交易波动率,回归方向性策略 | 近20日 | | 陡峭负偏 | 72%(偏高) | −6.5pp(避险需求旺) | +4.1pp | 尾部保护被抢贵,整体 IV 抬升 | 研究买入看跌价差替代直接买保险 | 近20日 | | 双峰型 | 88%(高位) | 虚值看涨 IV 反超平值 3pp | +9.3pp | 情绪推动上端 IV 虚高 | 研究卖出虚值看涨的价差结构 | 近20日 |
示例测算:平值 IV 24.5%,标的近 20 日已实现波动率 15.2%,差值 +9.3pp;同合约 IV Rank 88% → 结论为"波动率定价偏贵",可研究卖出波动率结构,但须同步确认两点:① 保证金占用是否 ≤60%;② 未来两周是否有政策会议、指数调仓等可能推高实际波动的事件。
示例|IV − RV 差值的交易阈值校准
| IV − RV 差值 | 历史出现频率 | 后续20日实际波动表现 | 是否达到交易阈值 | 结论 |
|---|---|---|---|---|
| +3pp | 约35%的交易日 | RV 与 IV 基本持平 | 否 | 差值在噪声范围内 |
| +5pp | 约15%的交易日 | 约六成情形 RV 低于 IV | 边缘 | 需结合事件日历判断 |
| +8pp | 约5%的交易日 | 约七成情形 RV 低于 IV | 是 | 可研究卖出波动率结构 |
| +12pp | 约1%的交易日 | 多数情形 RV 显著低于 IV | 是(但需查事件) | 先排查是否有已知事件 |
校准要点:+5pp 这个常用阈值并非通用标准,必须用自身历史数据统计校准。更重要的是——差值极大时往往对应市场已知的事件风险(政策会议、指数调仓、财报),此时"IV 偏贵"很可能是合理的定价,而非错价。
示例|卖出波动率结构的保证金压力情景
| 情景 | 标的变化 | IV 变化 | 保证金比例 | 占用资金(万元) | 是否需追保 |
|---|---|---|---|---|---|
| 常态 | 0% | 0pp | 基准 | 12.0 | 否 |
| 轻压 | −5% | +4pp | 上浮20% | 14.4 | 否 |
| 中压 | −10% | +8pp | 上浮35% | 16.2 | 否(可用资金18万) |
| 重压 | −15% | +15pp | 上浮50% | 18.0 | 临界,需预案 |
测算要点:保证金占用随波动率抬升与标的下跌双向上升,二者叠加时增长最快。建仓时应按"重压情景"预留资金,而不是按常态占用满仓;把常态占用控制在可用资金的60%以内是常见的风控做法。
期权定价:
计算50ETF期权定价:
- 标的价格:2.8元
- 行权价:2.85元
- 到期日:30天后
- 波动率:20%
- 类型:看涨期权
分析策略:
分析牛市看涨价差策略:
- 买入行权价:3.0元,权利金:0.05元
- 卖出行权价:3.2元,权利金:0.02元
- 标的现价:2.9元
波动率曲面分析:
分析当前50ETF期权波动率曲面:
- 标的现价:2.800元
- 合约序列:行权价 2.70/2.75/2.80/2.85/2.90/2.95,剩余 30 天
- 需要输出:IV 曲线、平值 IV、偏斜值、近 250 日 IV 分位、与 20 日已实现波动率的差值
- 同时给出是否存在相对高估/低估合约的提示
组合 Greeks 汇总:
汇总以下组合的 Greeks 敞口:
- 持有 50ETF 现货 10000 份
- 卖出 3.000 行权价看涨 10 张(剩 30 天)
- 买入 2.700 行权价看跌 5 张(剩 30 天)
需要输出:组合 Delta / Gamma / Vega / Theta,并说明 Delta 是否落在 ±5% 目标区间内
压力情景测算:
对上述组合做压力情景测算:
1. 标的 −10%、IV +8pp
2. 标的 −5%、IV +4pp
3. 标的持平、IV −5pp(注意 Theta)
4. 标的 +5%、IV −3pp
每档输出预估损益与保证金占用变化,并标注是否需要追加保证金
| 检查项 | 依据/说明 | 通过标准 | 留痕要求 | | |-------|---------|---------|---| | 交易权限核验 | 期权权限分级与策略动作需匹配 | 权限等级覆盖策略全部腿 | 权限核验记录(含核验时间) | | 适当性匹配 | 客户风险等级与产品风险等级一致 | 无越级推荐 | 适当性测评编号与有效期 | | 持仓限额测算 | 单合约、单账户与组合限额 | 建仓后占用 ≤限额 80% | 限额测算表版本号 | | 保证金压力测算 | 按比例上浮 20%/35%/50% 三档 | 三档情景下均无需追保 | 三档压力测算表 | | 最大亏损约束 | 单策略最大亏损 | ≤账户权益 3% | 最大亏损测算记录 | | Greeks 敞口监控 | Delta/Gamma/Vega/Theta 日报 | 敞口处于预设阈值内 | Greeks日报归档 | | 参数与决议留痕 | 参数来源、策略建议书、下单前检查记录 | 全流程可回溯 | 建议书与检查记录归档 | | 免责表述 | 研究结果仅供参考,不构成投资建议 | 每份输出均含声明 | 输出文件含声明 |
| 版本 | 日期 | 变更摘要 |
|---|---|---|
| 3.0.3 | 2026-10-08 | 新增数据最小化声明与执行边界章节(明确不下单、不查实际保证金余额);收窄触发词并补充中英文非触发清单、适用市场与语言声明(SQP-1/SQP-3);监管动态更新至2026-10-08并新增保证金、持仓限额两条与复核频率列;新增列:变量变动的方向判断、多腿策略到期处理方式、曲面RV对照期限、风控清单留痕要求;新增示例:希腊字母随到期变化、参数口径错误后果、三种看涨结构对比、提前平仓取舍、IV−RV阈值校准、保证金压力情景 |
| 3.0.2 | 2026-09-13 | 新增策略权责矩阵与风控合规检查清单 |
Options trading involves substantial risk and is not suitable for all investors. Losses can exceed initial investment. This skill is for educational purposes only and does not constitute investment advice.