上交所 / 深交所 · ETF期权(上证50ETF·沪深300ETF等)· 参考计算工具

ETF期权工具箱

适用于上证50ETF、沪深300ETF、中证500ETF等场内ETF期权(欧式、实物交割)的四件工具:策略分析、自定义组合、价格与波动率、保证金测算。所有计算均在本地完成,供教学与推演使用,不构成交易依据。

ETF
期权

期权策略分析

选择一个常见的期权组合策略,工具会围绕当前ETF价格自动生成对应的持仓(行权价与权利金可再调整),并给出到期损益图、最大盈亏与盈亏平衡点。

标的与定价参数
尚未获取实时行情
策略模板
持仓明细可微调行权价 / 权利金 / 手数
类型方向行权价权利金手数
到期损益
盈利区间 亏损区间 当前标的价 S₀
组合希腊字母(当前情景,Σ 各腿 × 方向 × 手数 × 合约单位)

自定义组合计算器

自由添加看涨、看跌或标的ETF持仓腿,组合出任意结构,实时计算到期损益曲线、最大盈亏和盈亏平衡点。

标的参数
辅助定价(可选)
添加期权腿后点击行内「定价」按钮,会按 Black-Scholes(欧式股票期权)模型用以上参数估算权利金,随后仍可手动改成你自己的成交价。
持仓腿
类型方向行权价/建仓价权利金手数到期天数(可选)
到期损益
盈利区间 亏损区间 当前标的价 S₀
组合希腊字母(当前情景,Σ 各腿 × 方向 × 手数 × 合约单位)

期权价格及波动率计算器

基于股票/ETF期权定价的 Black-Scholes(欧式,可含股息率)模型。正向输入波动率求理论价与希腊字母;或反向输入市场价,用二分法反解隐含波动率。

合约参数
尚未获取实时行情
正向:由波动率求价格
反向:由市场价求隐含波动率
隐含波动率
—
按合约代码拉取实时行情 / 官方IV
尚未拉取
拉取后会自动写入行权价 K、剩余天数与期权市场价,并显示交易所发布的隐含波动率与希腊字母,可与左侧模型算出的结果对比。合约代码也可以在「05 实时期权链」标签页点击某一档的「载入」按钮自动获取。隐含波动率字段按新浪接口惯例展示为百分比数值(如 23.45 表示 23.45%),未逐一核对,请以交易所或券商行情为准。
理论价与希腊字母
价格 / 希腊字母 随波动率变化
期权理论价 当前 σ

期权保证金计算器

按上交所/深交所ETF期权(如上证50ETF、沪深300ETF)通行的义务仓开仓保证金公式测算卖方占用保证金。仅用于估算与教学,实际保证金以交易所与期货公司/券商当日公布参数为准(券商通常在交易所标准上再加收一定比例)。

合约参数
尚未获取实时行情
保证金系数
交易所公布的最低标准:上证50ETF、沪深300ETF、中证500ETF等主流ETF期权上市初期均为12%/7%。实际交易中,期权经营机构(券商/期货公司)通常在交易所标准基础上按 (1+M) 上浮收取,请自行核对当前经纪商公告。
测算结果
备兑开仓收益率(静态 / 或有行权)
只适用于「持有标的ETF + 卖出认购期权」的备兑开仓组合,认沽期权没有这两个指标。公式与上交所ETF期权投资者教育材料一致:静态回报率假设到期时标的价格不变、认购未被行权,收益纯粹来自权利金;或有行权回报率假设到期时标的价格达到或超过行权价、被行权按行权价卖出标的,收益=权利金+行权价与买入价的价差。
「从左侧同步」会直接复制左边「标的ETF前收盘价 / 行权价 / 合约前结算价」这三个数字,请确认左侧「期权类型」选的是认购期权 Call——这两个收益率指标只对认购期权成立,同步一个认沽期权的权利金过来算出来的数字没有意义。
公式说明
认购期权虚值 = Max(行权价 − 标的前收盘价, 0) 认沽期权虚值 = Max(标的前收盘价 − 行权价, 0) 认购期权义务仓保证金 = [合约前结算价 + Max(上限系数×标的前收盘价 − 认购虚值, 下限系数×标的前收盘价)] × 合约单位 认沽期权义务仓保证金 = Min[合约前结算价 + Max(上限系数×标的前收盘价 − 认沽虚值, 下限系数×行权价), 行权价] × 合约单位

实时期权链

输入标的ETF代码与到期月份,从新浪财经的公开行情接口拉取当前挂牌合约的实时价格、成交量、持仓量,以及交易所发布的隐含波动率。该接口为非官方公开接口,不保证时效、完整性与准确性,收盘后展示的是最后成交/结算数据,仅供参考,不构成交易依据。

标的与到期月份
尚未拉取
科创50ETF/创业板ETF/深证100ETF 的品种分类名与是否真实挂牌期权未逐一验证;深证100ETF 目前可能并无对应场内期权。若「获取到期月份」失败,可尝试其他分类名写法,或直接在「手动输入到期月份」中填入已知的 YYYYMM。
标的实时行情
状态
尚未拉取
隐含升贴水(认购-认沽平价 Put-Call Parity)
状态
尚未计算
用同一到期月份里每一档「行权价相同的认购/认沽」反推隐含远期价 F = K + (认购价−认沽价)×e^(rT), 再和标的现价 S₀ 比较:F 高于 S₀ 叫「升水」,低于叫「贴水」,反映的是期权市场price进的分红预期/资金成本,不代表 标的本身会涨跌。取所有有效档位的平均值,剔除买一/卖一价缺失(无成交挂单)的档位。
期权链0 档
认购 CALL 行权价 认沽 PUT
载入最新价买一/卖一成交量持仓量隐含波动率 K 隐含波动率持仓量成交量买一/卖一最新价载入
选择标的与到期月份后点击「刷新期权链」
隐含波动率微笑曲线0 个有效点
认购隐含波动率 认沽隐含波动率 标的现价 S₀
横轴是行权价,纵轴是交易所发布的隐含波动率(%)。正常情况下曲线大致呈"微笑"或"斜笑"形状——虚值认沽的隐含波动率往往比平值更高,反映市场对下跌尾部风险定价更贵;如果曲线明显扭曲或某几个点跳空,多半是那几档太不活跃、最新成交价是很久以前的旧价,仅供参考。

期权筛选器

选一个标的、勾选一个或多个到期月份,一次性拉取这些月份的全部合约,再按类型/价内价外/成交量/持仓量/剩余天数/卖方年化收益率筛选、按任意列排序。结果表会给每一档合约算一个「卖方年化收益率」——认沽按义务仓保证金占用计算(同「04 期权保证金计算器」的公式),认购按备兑(已持有标的ETF)的持仓成本计算,思路参考了常见的 Sell Put/Sell Call 收益率扫描工具。下方还会给出每个到期月份的隐含升贴水期限结构(认购-认沽平价)。数据源与「05 实时期权链」相同(新浪财经公开接口),同样不保证时效与准确性。

标的与到期月份
请先点击「获取到期月份」,或在下方手动输入。
尚未拉取
筛选条件
筛选/排序都是在已拉取的数据上本地计算,不会重新请求接口——改完条件立即生效。
卖方策略要点 & Greeks 速查
卖认沽(Sell Put,义务仓):本质是「愿意在行权价接盘标的ETF,先收一笔权利金」。到期时标的价>行权价,权利金全部落袋;标的价<行权价,大概率被行权,需按行权价买入标的(实际持有成本≈行权价−权利金)。适合本来就想在更低价位建仓、且愿意承担继续下跌风险的人。常见筛选思路:Delta 绝对值 0.2-0.3(大致对应 20%-30% 到期实值概率)、隐含波动率偏高时卖出更划算、剩余天数别太短(Theta 占比才够)。

卖认购(Sell Call,备兑):前提是已经持有对应数量的标的ETF,本质是「愿意在行权价卖出手里的份额,先收一笔权利金」。到期时标的价<行权价,权利金落袋、份额继续持有;标的价>行权价,份额大概率被要求按行权价卖出(等于提前"止盈"在行权价+权利金的位置,放弃更高的上涨空间)。行权价通常设在现价的 105%-110%,年化收益率越高,愿意放弃的上涨空间通常也越小,是个权衡。

Greeks 速查:Delta——标的价格变动 1 元,期权价格大致变动多少(也常被当作「到期实值概率」的粗略估计);Gamma——Delta 随标的价格变化的快慢;Theta——每天因时间流逝损失(对买方)/获得(对卖方)的价值;Vega——隐含波动率每变动 1% ,期权价格变动多少;隐含波动率(IV)——期权价格反推出的市场对未来波动的预期,IV 越高权利金越贵,对卖方越有利但也意味着市场预期波动更大。
这里的「卖方年化收益率」是简化估算,没有考虑:到期前标的价格路径中途被提前平仓/换仓的情况、除权除息、保证金随行情变动而追加、以及权利金买卖价差(用的是最新成交价,不是买一/卖一)。仅供筛选参考,不构成投资建议,下单前请自行核对券商当日的保证金占用和可用资金。
隐含升贴水期限结构
到期月剩余天数标的现价隐含远期升贴水升贴水%有效档位
拉取数据后显示
筛选结果0 条
标的到期月类型行权价距行权%最新价买一/卖一成交量持仓量隐含波动率Delta剩余天数保证金/持仓成本卖方年化收益率载入
设置好标的与到期月份后点击「拉取并筛选」

压力测试

对「01 策略分析」或「02 自定义组合」里当前配置的持仓,做标的价格 × 波动率的双因子情景矩阵测算,另外附几个常见极端情景的速览。全部是在已有的 Black-Scholes 重新估值引擎上做的纯前端计算,不需要额外拉行情,切到这个标签页前先在对应工具里把持仓配置好。

持仓来源
尚未加载
情景参数
尚未运行
矩阵里的每一格,都是把标的价改成 S₀×(1+价格冲击%)、把波动率改成「持仓的波动率 + 波动率冲击(百分点)」,代入同一套 Black-Scholes 重新估值引擎,算出在「距今天数」那一天的组合浮动盈亏——和「距今天数」滑块用的是同一个函数,唯一区别是这里一次性算一整个网格,而不是沿标的价格画一条曲线。
当前组合希腊字母(未加冲击)
状态
尚未运行
情景速览
情景标的价波动率距今天数浮动盈亏占期初权利金净额
点击「运行压力测试」后显示
情景矩阵(行=价格冲击,列=波动率冲击)
设置好参数后点击「运行压力测试」