# Options Trading Strategies ## 0. BS_WhalleyWilmott.py - Whalley-Wilmott 期权对冲策略 ### 策略概述 这是一个基于 Black-Scholes 模型的场外期权对冲策略,采用 Whalley-Wilmott 阈值方法进行动态对冲。该策略通过计算期权的 Delta 值并根据阈值条件进行股票仓位调整,以对冲期权风险。 ### 核心交易逻辑 #### 1. 初始化设置 - **标的证券**: 默认为 '002724.XSHE' - **执行价格倍数**: K=1 (平价期权) - **合约期限**: T=30天 - **无风险利率**: rf=0.09 (9%) - **波动率**: 基于过去365天的历史数据计算 - **名义本金**: 账户现金的95.24% (1/1.05) #### 2. 对冲触发机制 策略采用 Whalley-Wilmott 阈值方法,只有当 Delta 变化超过特定阈值时才进行对冲交易: **阈值计算公式**: ``` wwt = (3/2 * a / risk_tolerance)^(1/3) 其中: a = exp(-rf*τ/365) * trading_cost * S * gamma^2 ``` **参数设置**: - 风险容忍度 (risk_tolerance): 5 - 交易成本 (trading_cost): 0.00055 (0.055%) #### 3. 交易时间安排 **第一天 (建仓日)**: - 计算初始 Delta 值 - 建立对应的股票仓位: `仓位 = (名义本金/期初价格) * Delta` - 仓位调整为100股的整数倍 **中间交易日**: - 跳过开盘第一分钟 (9:30) 避免价格异常 - 实时监控当前 Delta 与上次 Delta 的差异 - 当差异超过 Whalley-Wilmott 阈值时,调整股票仓位 - 处理分红拆股事件,相应调整期初价格 **到期日**: - 清空所有股票仓位 #### 4. 关键计算函数 **Delta 计算**: ```python d1 = (ln(S/(S0*K)) + (rf + σ²/2)*(τ/365)) / (σ*√(τ/365)) delta = N(d1) # 标准正态分布累积函数 ``` **Gamma 计算**: ```python gamma = φ(d1) / (S * σ * √(τ/365)) # φ为标准正态分布密度函数 ``` **波动率计算**: - 使用过去365天的日收盘价 - 计算对数收益率的标准差 - 年化处理 (乘以√250) #### 5. 风险管理特点 1. **动态对冲**: 不是连续对冲,而是基于阈值的离散对冲,降低交易成本 2. **成本优化**: Whalley-Wilmott 方法在对冲效果和交易成本之间找到最优平衡 3. **事件处理**: 自动处理分红拆股等公司行为对期权参数的影响 4. **仓位管理**: 仓位调整为100股整数倍,符合实际交易要求 #### 6. 适用场景 - 场外期权做市商的风险对冲 - 结构化产品的 Delta 中性策略 - 期权组合的动态风险管理 #### 7. 注意事项 - 策略假设期权为欧式期权,到期前不会被提前行权 - 波动率使用历史波动率,可能与隐含波动率存在差异 - 交易成本设置需要根据实际券商费率调整 - 适合流动性较好的标的证券 ### 参考资料 - 原始策略来源: 聚宽文章 "场外期权对冲策略回测框架-(以Whally-Wilmott为例)" - 作者: 颖硕 - 链接: https://www.joinquant.com/post/14348 # 加百利分享 ## 1. 聚宽平台期权数据获取与绘图 ### 核心功能: - **数据获取**: 从聚宽平台获取50ETF期权的历史交易数据 - **数据分析**: 分别统计认购期权(Call)和认沽期权(Put)的成交量和成交金额 - **可视化展示**: 绘制认购/认沽期权的成交量和成交金额对比图表 - **应用场景**: 期权市场情绪分析、Put/Call比率研究、市场活跃度监控 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/aa77127d7eccdaa699de7e87977f35dc) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E6%9C%9F%E6%9D%83%E6%95%B0%E6%8D%AE%E8%8E%B7%E5%8F%96%E4%B8%8E%E7%BB%98%E5%9B%BE.ipynb) ## 2. 获取期权数据,列出符合要求的合约 ### 核心功能: - **合约筛选**: 根据到期日、行权价、期权类型等条件筛选期权合约 - **数据查询**: 使用聚宽期权数据库查询符合条件的期权合约信息 - **信息展示**: 列出合约代码、交易代码、行权价、到期日等关键信息 - **应用场景**: 期权策略构建前的合约选择、期权链分析 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/a8f4ad443448f4246260ea221c3d77ea) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E8%8E%B7%E5%8F%96%E6%9C%9F%E6%9D%83%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%88%97%E5%87%BA%E7%AC%A6%E5%90%88%E8%A6%81%E6%B1%82%E7%9A%84%E5%90%88%E7%BA%A6.ipynb) ## 3. 绘制期权损益分析图 ### 核心功能: - **损益计算**: 计算不同期权策略在不同标的价格下的损益情况 - **图表绘制**: 绘制期权策略的损益曲线图(Payoff Diagram) - **盈亏分析**: 标识盈亏平衡点、最大盈利/亏损点 - **应用场景**: 期权策略风险收益分析、策略比较、投资决策支持 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/ed821dbf617e69a9e9568b4b34bae458) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E7%BB%98%E5%88%B6%E6%9C%9F%E6%9D%83%E6%8D%9F%E7%9B%8A%E5%88%86%E6%9E%90%E5%9B%BE.ipynb) ## 4. 股指ETF期权T型报价 ### 核心功能: - **T型报价**: 以T型表格形式展示50ETF期权的买卖报价 - **实时数据**: 获取期权的最新买一价、卖一价、成交价等信息 - **分类展示**: 按行权价分类,同时显示认购和认沽期权报价 - **应用场景**: 期权交易决策、价差分析、流动性评估 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/a5a968ed72f2b827c051d337b0d74d04) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E8%82%A1%E6%8C%87ETF%E6%9C%9F%E6%9D%83T%E5%9E%8B%E6%8A%A5%E4%BB%B7.ipynb) ## 5. 商品期权T型报价代码 ### 核心功能: - **商品期权报价**: 获取商品期权(如豆粕、白糖等)的T型报价表 - **多品种支持**: 支持不同商品期权品种的报价查询 - **价格展示**: 显示期权的理论价值、实际报价、隐含波动率等 - **应用场景**: 商品期权交易、套利机会识别、波动率分析 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/625edad0050315dcc2df540cd462df60) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E5%95%86%E5%93%81%E6%9C%9F%E6%9D%83T%E5%9E%8B%E6%8A%A5%E4%BB%B7.ipynb) ## 6. 50ETF-期权-备兑认购策略 ### 核心交易逻辑: - **持仓构建**: 持有50ETF现货 + 卖出虚值认购期权 - **合约选择**: 优先选择略虚值的认购期权(行权价>现价) - **调仓规则**: 当行权价低于现价95%时平仓原期权,重新开仓虚值期权 - **到期处理**: 到期前1天移仓换月至次月合约 - **收益来源**: 赚取期权权利金 + 标的资产增值(有上限) ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/2b40f724dcea54aaa06419a46517f3db) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/50ETF-%E6%9C%9F%E6%9D%83-%E5%A4%87%E5%85%91%E7%9C%8B%E6%B6%A8%E7%AD%96%E7%95%A5.ipynb) ## 7. 50ETF-备兑认购策略-改进版 ### 核心交易逻辑: - **动态调整**: 在传统备兑策略基础上增加动态调仓机制 - **风险控制**: 设置止损条件,当亏损达到一定比例时主动平仓 - **收益优化**: 根据市场波动率调整期权选择标准 - **时间管理**: 优化到期日管理,避免临近到期的时间价值损失 - **适应性强**: 能够适应不同市场环境下的波动特征 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/22955d161ec0a36d836a0e4f13fe66d7) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/50ETF-%E5%A4%87%E5%85%91%E7%9C%8B%E6%B6%A8%E7%AD%96%E7%95%A5-%E6%94%B9%E8%BF%9B%E7%89%88.ipynb) ## 8. 豆粕-备兑认购策略 ### 核心交易逻辑: - **商品应用**: 将备兑认购策略应用于豆粕期货市场 - **持仓结构**: 持有豆粕期货多头 + 卖出豆粕认购期权 - **合约管理**: 跟踪豆粕主力合约变化,及时调整持仓 - **季节性考虑**: 结合豆粕的季节性供需特点调整策略参数 - **风险特点**: 商品期货波动率通常高于股指,需要更严格的风险控制 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/4bf820b677d7d774f54c122460533b2e) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E8%B1%86%E7%B2%95-%E5%A4%87%E5%85%91%E7%9C%8B%E6%B6%A8%E7%AD%96%E7%95%A5.ipynb) ## 9. 商品主力合约-备兑认购策略 ### 核心交易逻辑: - **多品种适用**: 适用于各种商品期货的备兑认购策略框架 - **主力合约跟踪**: 自动识别和切换到成交量最大的主力合约 - **动态对冲**: 根据商品期货的高波动特性调整对冲频率 - **保证金管理**: 考虑期货保证金制度,优化资金使用效率 - **品种轮动**: 可在不同商品间轮动,寻找最佳投资机会 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/e306e04ca7a0c557f759487e8d252c65) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E5%95%86%E5%93%81%E4%B8%BB%E5%8A%9B%E5%90%88%E7%BA%A6-%E5%A4%87%E5%85%91%E7%9C%8B%E6%B6%A8%E7%AD%96%E7%95%A5.ipynb) ## 10. 商品主力合约-备兑认沽策略 ### 核心交易逻辑: - **反向策略**: 持有现金 + 卖出虚值认沽期权,等待标的下跌时以折价买入 - **现金管理**: 预留足够现金以备行权时购买标的资产 - **跌幅获利**: 在标的价格下跌过程中赚取期权权利金 - **底部建仓**: 通过行权在相对低位建立多头仓位 - **适用环境**: 适合在预期标的将在区间震荡或温和下跌时使用 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/d4272cd0fac2981438b0f3f410bf6180) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E5%95%86%E5%93%81%E4%B8%BB%E5%8A%9B%E5%90%88%E7%BA%A6-%E5%A4%87%E5%85%91%E7%9C%8B%E8%B7%8C%E7%AD%96%E7%95%A5.ipynb) ## 11. 领口认购策略-商品主力合约 ### 核心交易逻辑: - **三腿组合**: 持有标的多头 + 卖出虚值认购期权 + 买入虚值认沽期权 - **风险限制**: 通过买入认沽期权为下跌风险设置保护下限 - **收益优化**: 卖出认购期权降低保护成本,形成有限收益区间 - **成本控制**: 认沽期权保护费用部分由认购期权权利金抵消 - **适用场景**: 温和认购市场,既要保护下跌风险又要控制保护成本 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/bec4688fd7998652edfd929a4ef1f4df) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E9%A2%86%E5%8F%A3%E7%9C%8B%E6%B6%A8%E7%AD%96%E7%95%A5-%E5%95%86%E5%93%81%E4%B8%BB%E5%8A%9B%E5%90%88%E7%BA%A6.ipynb) ## 12. 领口认购策略-50ETF ### 核心交易逻辑: - **ETF应用**: 将领口策略应用于50ETF,利用其高流动性优势 - **精确定价**: 利用50ETF期权的活跃交易获得更精确的期权定价 - **灵活调整**: 可根据市场情况灵活调整上下限保护区间 - **成本效益**: 在50ETF相对稳定的波动环境下优化成本收益比 - **风险管理**: 为50ETF投资组合提供有效的风险管理工具 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/a99630091b24414da149e715ae6186f2) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E9%A2%86%E5%8F%A3%E7%9C%8B%E6%B6%A8%E7%AD%96%E7%95%A5-50ETF.ipynb) ## 13. 卖出跨式策略-50ETF ### 核心交易逻辑: - **双向卖出**: 同时卖出相同行权价的认购和认沽期权 - **波动率交易**: 赚取时间价值衰减,适合低波动率环境 - **区间获利**: 当标的价格在一定区间内震荡时获得最大收益 - **风险特征**: 潜在亏损无限,需要严格的风险控制 - **最佳环境**: 预期标的将在当前价格附近窄幅震荡 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/73a7f044b73242b136c8c840ef7f1748) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E5%8D%96%E5%87%BA%E8%B7%A8%E5%BC%8F%E7%AD%96%E7%95%A5-50ETF.ipynb) ## 14. 卖出跨式策略-商品主力合约 ### 核心交易逻辑: - **商品适配**: 将跨式策略应用于波动性更高的商品期货市场 - **波动率管理**: 需要更谨慎地评估商品期货的波动率水平 - **保证金考虑**: 商品期货的保证金制度影响策略的资金效率 - **季节性因素**: 考虑商品的季节性供需变化对波动率的影响 - **风险加大**: 商品期货的高波动性使得风险控制更加重要 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/dc14876fee244d726f18c652eb44c7d7) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E5%8D%96%E5%87%BA%E8%B7%A8%E5%BC%8F%E7%AD%96%E7%95%A5-%E5%95%86%E5%93%81%E4%B8%BB%E5%8A%9B%E5%90%88%E7%BA%A6.ipynb) ## 15. 买入日历价差策略-商品期货 ### 核心交易逻辑: - **时间价差**: 卖出近月期权 + 买入远月期权,利用时间价值衰减差异 - **波动率套利**: 利用不同到期日期权的隐含波动率差异获利 - **有限风险**: 最大亏损限于支付的净权利金 - **最佳时机**: 适合在预期标的价格将在短期内保持相对稳定时使用 - **到期管理**: 需要在近月期权到期前主动管理仓位 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/af07500292294804acd19f7f0f5b23e4) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E4%B9%B0%E5%85%A5%E6%97%A5%E5%8E%86%E4%BB%B7%E5%B7%AE%E7%AD%96%E7%95%A5-%E5%95%86%E5%93%81%E6%9C%9F%E8%B4%A7.ipynb) ## 16. 买入日历价差策略-50ETF ### 核心交易逻辑: - **ETF优势**: 利用50ETF期权链的完整性和流动性优势 - **精细操作**: 可以更精确地选择最优的时间价差组合 - **成本控制**: 在相对稳定的ETF环境下控制策略成本 - **收益稳定**: 适合追求稳定收益的投资者 - **风险可控**: 最大风险明确,适合风险偏好较低的投资者 ### 参考资料: - [原始策略来源](https://www.joinquant.com/view/community/detail/0d2479d4f374fce4a4b900f2c77d3ba3) - [研究网址](https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Options/%E4%B9%B0%E5%85%A5%E6%97%A5%E5%8E%86%E4%BB%B7%E5%B7%AE%E7%AD%96%E7%95%A5-50ETF.ipynb) # 书生分享 ## 1. 卖沽ETF,卖购备兑策略 ## 1. 深度实值买购和卖购组合的牛差策略 **文件名**: `deep_itm_bull_spread_strategy.py` ### 核心交易逻辑: 1. 虽然是深度实值和卖购的组合,但是深度实值的本质是替代持仓ETF。所以在资金收益计算的时候要分成两个账户,一个是深度实值买购相关交易的收益情况,另一个则是卖购的收益情况。 2. 开仓选择: - 卖购标的选择: - 做卖购的一般是平值,也就是如果标的ETF是2.828,那么2.85和2.828的差是-0.022,2.8和2.828的差则是0.028,这里算绝对值就好。也就是说2.85更接近,那么就选择这个作为卖购的标的 - 其次是考虑权利金也就是当前这个期权的价格,先检查当前月的这个标的,如果价格小于0.03那么就看下个月的,下个月则最少是0.05以上的。 - 买购标的的选择: - 做买购的一般是深度实值,也就是要找时间价值非常小,需要小于0.01. - 在前面这个条件的基础上,找行权价和标的价格最接近的 - 月份和卖购的一致 - **重要**:如果没有符合时间价值要求的深度实值期权,则不开仓 3. 开仓后记录:下面公式是帮助理解,实际记录只需要记录结果 - 标的名称 (标的编号):300ETF (510300) - 开仓时标的的价格:4.032 - 买购标的及价格:3.7, 0.3327 - 卖购标的及价格:4.0, 0.0614 - 张数:80 - 单张最大盈利:$(4.0-3.7-0.3327+0.0614)*10000=287$ - 最小盈利(这里重点记录卖购):$0.0614*10000=614$ 4. 平仓选择: - ETF 大涨,牛差组合接近到期最大盈利: - 全部平仓,向上进行移仓 - 平掉当前的卖购和买购组合(买入行权价K1+卖出行权价K2) - 开仓一个更高行权价的卖购和买购牛差组合(买入行权价K3+卖出行权价 K4,其中 K3>K1;K4>K2) - 月份选择:如果距离当前月合约结束还有n天及以上的时间(阈值暂定20)还可以选择当月,这里同时检查行权价是否满足条件;否则就选择下个月 - ETF下跌: - 当ETF下跌时,且卖购权利金剩余低于0.005,则平仓当前组合 - 重新按照原始标准选择下个月的合约开仓 - 合约快到期了: - 合约到期7个交易日内就开始考虑平仓,最晚提前2个交易日 - 准备开下个月的新仓 5. 加仓选择: - 假设当前开仓的是4.0左右的情况,做了一组牛差,等到跌到3.8 (这里窗口阈值设定为0.2)的时候会再开仓一组牛差。 - 这里的重点是记录开额外组牛差的ETF标的价格是多少,等到市场重新涨到这个价格之后,这组额外的牛差可以在牛差最大盈利或者卖购盈利基本达成的时候进行平仓,也就是这一组不再会进行开仓。 6. 设定阈值: - 一组张数:30 - 最小权利金:`{'沪深300ETF':0.03, '上证50ETF':0.05, '创业板ETF':0.03}` - 最少开仓日期(距离到期日):20天(交易日) - 买购时间价值阈值:0.01 - 卖购平仓权利金阈值:0.005 - 合约到期移仓日期最大:7天(交易日) - 合约到期移仓日期最小:2天(交易日) - 加仓窗口阈值:`{'沪深300ETF':0.2, '上证50ETF':0.1, '创业板ETF':0.15}` - 加仓次数上限:2 - 接近最大盈利平仓阈值: 95%