# 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. **牛差组合策略**:深度实值买购期权 + 平值卖购期权 系统通过严格的期权筛选条件,寻找最优的牛差组合机会。 ### 核心交易逻辑 #### 1. 策略机制 - **专注牛差策略**:只执行牛差组合策略,寻找最优的深度实值买购期权 - **严格筛选**:通过严格的期权筛选条件确保策略质量 #### 2. 开仓选择标准 **卖购期权选择**: - 筛选虚值期权(行权价 > ETF价格) - 选择最接近ETF价格的虚值期权(行权价最小的虚值期权) - 当月期权权利金要求:下月阈值×0.6(沪深300ETF≥0.018,上证50ETF≥0.03,创业板ETF≥0.018) - 下月期权权利金要求:沪深300ETF≥0.03,上证50ETF≥0.05,创业板ETF≥0.03 - 下月期权指到期日在下个自然月的所有期权 - 最少距离到期日15天(交易日) - 如果当月无虚值期权,则尝试下月期权 **深度实值买购期权选择**: - 行权价必须低于当前ETF价格(实值期权) - 时间价值必须小于0.015 - 选择行权价最接近ETF价格的期权 - 必须与卖购期权到期月份一致 #### 3. 开仓机制 **牛差策略开仓条件**: - 存在符合条件的深度实值买购期权 - 存在符合条件的平值卖购期权 - 两个期权必须到期日一致 #### 4. 盈利计算 **牛差组合策略**: - 单张最大盈利 = (卖购行权价 - 买购行权价 - 买购权利金 + 卖购权利金) × 10000 - 最小盈利 = 卖购权利金 × 10000 #### 5. 平仓条件 **时间平仓**: - 距离到期日≤7个交易日时强制平仓 **盈利平仓**: - ETF价格≥卖购行权价时,达到最大盈利的83% **权利金平仓**: - ETF价格<卖购行权价时,卖购权利金剩余<0.005 #### 6. 加仓机制 **加仓条件**: - ETF价格下跌至加仓触发价位 - 加仓窗口阈值:沪深300ETF: 0.2,上证50ETF: 0.1,创业板ETF: 0.15 - 最大加仓次数:2次 #### 7. 资金管理 **动态合约数量计算**: - 根据分配资金和保证金要求动态计算合约数量 - 牛差组合保证金 = 行权价差 × 合约单位 + 30元优惠 **多标的资金分配**: - 支持多个ETF标的同时运行 - 默认资金分配:上证50ETF 50%,沪深300ETF 30%,创业板ETF 20% - 总资金使用上限:80% #### 8. 数据记录与监控 **交易记录**: - 完整的开仓/平仓交易记录 - 牛差策略标识 - 盈亏分析和归因 **持仓监控**: - 每日持仓状况记录 - 浮动盈亏实时计算 - 牛差策略持仓统计 **账户汇总**: - 多标的账户资金汇总 - 已实现/未实现盈亏分离 - 收益率和风险指标计算 ### 配置参数 ```python { 'contract_size': 30, # 默认合约数量(动态调整) 'min_premium': {'510300': 0.03, '510050': 0.05, '159915': 0.03}, # 下月期权权利金阈值 'min_days_to_expiry': 15, # 最少开仓距离到期日 'call_time_value_threshold': 0.015, # 深度实值期权时间价值阈值 'put_close_premium_threshold': 0.005, # 卖购平仓权利金阈值 'max_days_before_expiry': 7, # 到期平仓最大天数 'min_days_before_expiry': 2, # 到期平仓最小天数 'add_position_threshold': {'510300': 0.2, '510050': 0.1, '159915': 0.15}, 'max_add_positions': 2, # 最大加仓次数 'max_profit_close_threshold': 0.83, # 83%最大盈利平仓 # 注意:当月期权权利金阈值 = 下月阈值 × 0.6 } ``` ### 适用场景 1. **牛市震荡行情**:牛差策略获取有限上涨收益 2. **资金规模化管理**:多标的分散投资 3. **风险控制要求**:严格的开仓条件和止损机制 ### 系统架构 - **DeepITMBullSpreadStrategy**:单标的策略核心类 - **MultiUnderlyingBullSpreadManager**:多标的管理器 - **StrategyConfig**:策略配置管理 - **StrategyType**:策略类型枚举(BULL_SPREAD) ### 功能特点 1. **专注牛差策略**:专门针对牛差策略进行优化 2. **严格筛选标准**:确保只有高质量的期权组合才会开仓 3. **精确盈亏计算**:准确计算牛差策略的盈亏情况 4. **完整数据追踪**:详细记录所有交易过程 5. **风险控制**:多层次的风险控制机制 6. **资金管理**:动态调整合约数量,优化资金使用效率