跳至正文
全部策略

策略

BTC Spot + Deribit 周度 OTM 看涨期权覆盖策略(获取波动率溢价)

结局: 已放弃

BtcSpotDeribitWeeklyCoveredCallVolPremium

结局总结

这项跨交易场所策略旨在通过卖出周度 OTM Deribit 看涨期权,并以匹配的 Binance 现货多头头寸进行覆盖,捕捉有记录的 BTC 隐含波动率与已实现波动率之间的溢价。经过 2 次迭代,回测仍未能启动:处理的 K 线为零,没有期权腿成交,且运行时错误(缺少“_min_notional”)导致所有指标均为零且不可靠。由于期权链始终没有交易,该次运行退化为标的资产/冒烟测试路径,并在到达回测审查、优化或分析师阶段之前以“options_no_option_trades”为由放弃。关键结论是,必须先证明期权链展开和期权腿执行能够正常工作,才能检验该策略的波动率溢价论点。

假设

跨交易场所对冲策略:在 Binance Spot 持有 BTC 现货,同时系统性卖出 Deribit 周度虚值看涨期权。其机制是将有充分记录的加密货币 IV 溢价(根据 Carr-Wu 2009 式分解以及更新的 2022-2024 加密货币证据,BTC 期权隐含波动率始终20-40%高于已实现波动率)作为经常性现金流收益,叠加在做多 BTC 头寸之上。每周,策略持有 1 BTC 现货多头 + 1 BTC 空头、约 0.20 delta 的看涨期权;该看涨期权于 Deribit 在周五 08:00 UTC 到期时以现金结算,随后再卖出下一周的合约。之所以称为对冲,是因为现货多头按 1-比--1 覆盖空头看涨期权的上行履约义务(合成效果等同于卖出看跌期权)。同时填补投资组合的两项重大缺口:期权覆盖(相较 15% 配额目标的 0%)和跨交易场所配置(相较 15% 目标的 6.3%)。规避近期所有失败模式:不依赖补充数据(无 OI/资金费率/taker_ratio)、不在 4 小时 K 线上进行形态识别、不进行比率均值回归、不假设协整、不追逐迟到入场的波动率,也没有横截面记账的复杂性。

第 2 次迭代修复(第 2 层合成测试)。错误“super(type, obj): obj must be an instance or subtype of type”源自第 2 层的 _StrategyProxy:它将策略方法重新绑定到一个普通包装器上,而该包装器并非该类的子类型,随后在主要 K 线之前调用 on_extra_bar(通过 feed_extra_bar)。因此,无参数的 super().on_extra_bar(bar) 会在实例检查时失败。由于 RollingOptionsStrategy->FactoryStrategy 调用链中没有任何地方重写 on_extra_bar(基类实现为空操作,额外 K 线缓冲发生在 on_bar 中),该 super() 调用实际上没有作用,所以我直接将其删除——现在 on_extra_bar 仅记录现货价格。其他所有 super() 调用(on_bar、on_start)均未改动:代理不会调用它们,而在真实引擎中 self 是真正的实例,因此它们能够正确解析。未改动任何导入、rolling-options 滚动逻辑、覆盖头寸维护的规模计算或冒烟测试路径,从而保留此前每一层已通过的结果。该策略仍严格按假设执行:持有现货多头以覆盖滚动卖出的周度 OTM Deribit 看涨期权,从而获取加密货币 IV 溢价。

options_no_option_trades:期权策略仅产生 0 笔期权腿交易(0 笔标的资产交易)——退化为标的资产/冒烟测试路径;期权链从未发生交易

实现

跨场所备兑看涨期权波动率溢价收割:在 Binance 现货上持有 BTC 现货多头,同时在 Deribit 上系统性地卖出每周约 0.20-delta 的 OTM BTC 看涨期权。每周基础 RollingOptionsStrategy 根据自动解析的 Deribit 周度期权链卖出并展期近周 OTM 看涨期权;叠加层维持与未平仓看涨期权合约数量相匹配的现货多头头寸,以使上行履约义务按 1 对 -1 足额覆盖(合成上相当于空头看跌期权)。盈亏来自在空头看涨期权上收取的经常性 IV 超过 RV 的权利金,并叠加长期持有 BTC 的持有收益。受门控的冒烟测试路径仅在不存在真实期权计划时才进行交易(验证管道);所分析的回测始终交易真实期权腿。

验证结果

验证失败(第 2 层 — 合成场景): 使用的参数:['contracts', 'leg_sides', 'risk_frac', 'cover_frac', 'call_offset', 'min_notional', 'smoke_risk_pct', 'rolling_options', 'smoke_hold_bars', 'cover_instrument', 'roll_buffer_hours', 'smoke_warmup_bars', 'cover_qty_precision'] 请检查 __init__ 是否通过 self.parameters.get() 设置了所有属性。 - steady_uptrend: TypeError: super(type, obj): obj must be an instance or subtype of type(K 线时间戳:1735689600000) - steady_downtrend: TypeError: super(type, obj): obj must be an instance or subtype of type(K 线时间戳:1735689600000) - flat_ranging: TypeError: super(type, obj): obj must be an instance or subtype of type(K 线时间戳:1735689600000) - volatility_spike: TypeError: super(type, obj): obj must be an instance or subtype of type(K 线时间戳:1735689600000) - zero_volume: TypeError: super(type, obj): obj must be an instance or subtype of type(K 线时间戳:1735689600000) - price_gap: TypeError: super(type, obj): obj must be an instance or subtype of type(K 线时间戳:1735689600000)

结局总结

期权覆盖策略必须先验证历史 Deribit 周度期权链确实展开并交易真实期权腿(且 _min_notional 等基础属性已初始化),之后才能衡量任何波动率溢价优势。

因“options_no_option_trades”而放弃——期权链从未发生交易,策略退化为标的资产/冒烟测试路径,因此没有执行真实备兑看涨期权腿;流程从未到达回测审查、优化或分析师评估阶段。

通过在 Binance Spot 持有 BTC 现货多头,同时系统性卖出 Deribit 周度、约 0.20 delta 的 OTM 看涨期权,并由现货腿按 1-比--1 覆盖空头看涨期权,获取持续存在的加密货币隐含波动率溢价。

从未生成可交易的回测:总交易数为 0,期权腿交易数为 0,处理的 K 线数为 0,总收益率为 0%,夏普比率为 0.0;指标被标记为不可靠,并出现运行时错误(缺少“_min_notional”属性)。

回测评审

最大回撤
0.00%
胜率
0.0%
盈利因子
0.00

Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。