跳至正文
全部策略

策略

Deribit BTC 周度期权的周末日历时间 Theta 收割——做空约 3%-OTM 宽跨式,周五 09:00 UTC 开仓,周一 08:00 UTC 平仓(加密货币周末实现波动率低于按日历时间定价的隐含波动率;跨场所 BTCUSDT.BINANCE 1H 参考/止损腿,无 IV 门槛,3 个参数)

结局: 已放弃

BtcDeribitWeekendOtmStrangleCalendarThetaHarvest1H

结局总结

该策略的第 3 次迭代终于解决了行权价选择中的前视问题(将 dte_target 移至 8,使行权价根据周四收盘价取整;该价格在周五 09:00 入场前已知),并得出了干净的回测结果:跨越 101 个周末周期的 202 个空头腿,胜率 67.3%,盈利因子 1.279,夏普比率 1.585,在 732 天内收益为 +2.18%,且三个日历年均为正收益。随后,回测审查分析师发现,表面盈利依赖于佣金计算错误——引擎将 Deribit 的 0.03% 按权利金而非标的资产计算,报告称在 $4.94M 标的名义金额上仅产生 $0.0004 佣金,真实费用因此被低估约 70x。根据实际成交记录重新计算,场所真实费用为 $2,966,而毛利润为 $4,355,扣除后每年约剩 0.35%,且尚未计入任何买卖价差;每腿 0.0839% 的标的资产边际低于 0.10% DERIBIT 门槛,仅为 1.4x 往返成本。该运行在 BACKTEST_REVIEW 时被放弃,因此未进行优化、分析师审查或风险审查;分析师指出了费用模型错误,也指出周末衰减效应本身确实存在,但对于四次跨越结构而言规模太小。

假设

一项针对 DERIBIT BTC 周度期权的 MARKET-NEUTRAL、CROSS-VENUE、CALENDAR-GATED 短波动率策略,仅使用 BTCUSDT.BINANCE 1-HOUR 永续 K 线作为参考/止损腿。该机制 NOT 是 VRP/IV 排序收割(该类策略已在 ETH/BTC Deribit 上运行,并被明确规避):它是 CALENDAR-TIME 与 CLOCK-TIME 的失配。上市期权的时间价值按日历日衰减,但加密货币已实现波动率在周六/周日可测量地更低(机构交易台、CME、TradFi 对冲流量及大部分现货交易量均缺席)。一个在周五至周一窗口内仅 SHORT 权利金的仓位,将针对结构上低于按比例隐含波动率的周末已实现方差收割两个日历日的 theta,然后整周保持持平。NO IV 过滤器,NO 趋势过滤器,NO 制度门控——入场是纯粹的日历规则,这正是其难以过拟合的原因。FEE ARITHMETIC:约 7 天 BTC 期权于约 45% IV → 现货 7 天 sigma 6.2%;约 3%-OTM 跨式策略每条腿成本约为现货的 1.4%(一对约 2.8%);持有 3 个日历日(共 7 天)消耗约 25-28% 价值 = GROSS theta 约为标的本金的 0.70-0.78%;若周末已实现波动率按约 0.8x 计价,gamma 账单吃掉约 60-65%,剩余 EXPECTED NET 每周期约 0.25-0.35%,相对约 0.12% 的 Deribit 往返(2 条腿开仓+平仓)= 2.1-2.9x 成本。平值行权价是刻意选择的:Deribit 按 UNDERLYING 本金收费,因此远 OTM 跨式策略在结构上费用必死。每年约 52 个周期,694 BTC 到期目录可追溯至 2018。DEVELOPER NOTE:在 __init__ 中构建到期→行权价表 ONCE 并使用二分查找——此前的 BTC Deribit 期权假设在第-3 层沙盒超时中因每根 K 线期权链重新扫描而失败。

迭代 3 从迭代-2 代码出发,做出两处定向修改;所有通过第 1-3 层的内容(导入、类结构、连续区间信号、避免已知 Deribit 时钟超时的 O(1) 周期窗口、日历锚定的周五 09:00 -> 周一 08:00 计划、无冒烟路径规则)均按字节保留。(1) THE RESIDUAL LOOK-AHEAD IS REMOVED AT THE SOURCE。QA 的迭代-1 关键问题是一项前瞻性入场 FILTER;迭代 2 删除了该过滤器但留下了产生它的污染。src/data/option_chain.discover_deribit_chain 从 Deribit DAILY 根 K 线的 _price_at(entry_stamp) 中选取每条腿的行权价,而 Deribit 的 TradingView 图表 tick 是 OPEN 戳记的——因此在 dte_target=7 的情况下,入场戳记(上上周五 08:00 UTC)解析为戳记为周五 00:00 的 K 线,其 CLOSE 是周五 23:59。样本中的每个行权价因此均围绕一个直到周五 09:00 入场后约 15……展开收起

迭代 3 从迭代-2 代码出发,做出两处定向修改;所有通过第 1-3 层的内容(导入、类结构、连续区间信号、避免已知 Deribit 时钟超时的 O(1) 周期窗口、日历锚定的周五 09:00 -> 周一 08:00 计划、无冒烟路径规则)均按字节保留。(1) THE RESIDUAL LOOK-AHEAD IS REMOVED AT THE SOURCE。QA 的迭代-1 关键问题是一项前瞻性入场 FILTER;迭代 2 删除了该过滤器但留下了产生它的污染。src/data/option_chain.discover_deribit_chain 从 Deribit DAILY 根 K 线的 _price_at(entry_stamp) 中选取每条腿的行权价,而 Deribit 的 TradingView 图表 tick 是 OPEN 戳记的——因此在 dte_target=7 的情况下,入场戳记(上上周五 08:00 UTC)解析为戳记为周五 00:00 的 K 线,其 CLOSE 是周五 23:59。样本中的每个行权价因此均围绕一个直到周五 09:00 入场后约 15 小时才可知的价格居中,悄然将跨式策略围绕周五收盘价重新定位,并降低了被周五下午行情击穿的概率。策略内没有任何门控可以清洗这一点。将 rolling_options.dte_target=8 设置可将计划戳记回退一天到周四 08:00 UTC,因此网格围绕周四日线收盘价取整——自周五 00:00 起公开,严格早于入场。TRADE 在每个预先注册的方面均未更改:仍为约 3%-OTM BTC 周度跨式策略,仍于周五 09:00 UTC 以约 7 DTE(6.96d)开仓,仍于周一 08:00 UTC 平仓;入场时刻由 K 线自身的 UTC 工作日/小时门控固定,而非由计划戳记固定,距该戳记的延迟仅为 25 小时而非 1 小时(入场窗口现在从入场时刻起算,而非从戳记起算,故这两个常量不再相互作用)。(2) BOTH-LEGS-OR-NEITHER IS NOW ENFORCED AFTER THE FILL,不仅在它之前。基础模板可能默默丢弃一次入场(dropped_no_market / dropped_entry_inflight),这将留下代码自身不变量所禁止的恰恰是裸卖出期权;在入场后的下一根 K 线,策略现在统计已开仓的腿头寸,如果部分而非全部腿已成交,则平掉剩余头寸并放弃该周期(在 on_stop 摘要中计为 naked_leg_aborts)。参数面仍为两个可调参数,_param_bounds 声明的正是代码所应用的两个夹具。备案说明:QA 此前关于引擎按权利金而非标的本金收取 Deribit 0.03% 的 edge_concerns,以及 avg_trade_return_pct 按权利金本金而非标的本金计量的观点,是无法在策略内部修复的期权基础设施计量问题——分析师应按标的本金重新表述每周期回报。

产出数据:total_commission = $0.0004(commission_pct_of_gross = 0.0)按 $4,943,734 标的本金计——引擎对 PREMIUM 而非 UNDERLYING 收取 Deribit 0.03%(上限未触及),将真实账单低估约 70x,且该低估即全部利润空间。按实际成交磁带重新计算:场所真实佣金 $2,966 对应毛 PnL $4,355,剩余净额 $1,389 = +0.69%,在 $200,000 规模(约 0.35%/年)的账户上历时 732 天,且未建模的期权买卖价差(202 条腿 × 2 次成交于 $61,452 入场权利金,约 $2.5k,按 2%/次成交计)将其转为负值。按费用可比口径,每条腿优势为标的的 0.0839%,相对每条腿 0.06% 的往返及 0.10% DERIBIT 底限——为 1.4x 的成本比率,而非预先注册的 2.1-2.9x。优化无法弥合此差距:notional_pct 同比例放大 PnL 与佣金,故该比率规模不变,breach_band_pct 仅修剪尾部。QA 的优势关切得到确认并被量化,而非被驳倒。致研究主管的说明:周末日历衰减效应本身在此样本上 IS 是真实的(每条腿均值 +0.084%,PF 1.28,67% 胜率,于 2024、2025 和 2026 中均为正)——它仅仅是约 1.4x 一笔每个周期支付四次的往返。任何重访都需要一种每单位收割 theta 按 Deribit 标的本金佣金支付次数远更少的结构(例如每周一次入场/退出而非四次期权成交),而非对这一个结构的重新调参。另应独立在引擎中修复:Deribit 佣金应按标的本金计费并设 12.5%-of-premium 上限,否则每个短权利金期权假设都会继续读为盈利。

实现

在 Deribit BTC 周度期权上执行日历时间 theta 收割策略。每周五 09:00 UTC(每周结算后一小时,此时新的前周合约已挂牌并报价),策略在第 FOLLOWING 个周五(08:00 UTC)到期的周度期权上 SELLS 一个约 3%-OTM 的跨式宽套(strangle)——卖出一份行权价高于现货约 3% 的看涨期权,以及一份行权价低于现货约 3% 的看跌期权,持仓约 6.96 天——并在周一 08:00 UTC 回补双腿,本周余下时间保持空仓。不使用 IV 过滤器、不使用 IV 排名门槛、不使用趋势/制度过滤器、不使用行权价-货币性过滤器:入场规则为从该 bar 自身 UTC 工作日/小时读出的纯日历规则,凡是排期上能产生结构有效跨式宽套的每一周都会交易。BTCUSDT.BINANCE 1-HOUR 永续合约 bar 作为跨交易所参考时钟与止损腿,且 NEVER 被交易;唯一交易的工具为由滚动期权链扩展器解析得到的两条 Deribit 期权腿。迭代 3 将 rolling_options.dte_target 设置为 8,以便扩展器从一根 DAILY K 线中选取每周的行权价网格,该 K 线收盘价在周五 09:00 入场之前 BEFORE 公开(交易时间本身不变,由该 bar 的 UTC 时间戳钉住)——最后一处残余的前瞻性偏差在源头被消除。风险控制:每条腿按底层资产等值 notional_pct 的权益规模建仓;两条腿要么同时入场要么都不入场,且不变量在成交后 AFTER 重新检查,以确保被静默丢弃的订单永远不会留下裸露的空头期权;若 Binance 小时收盘价相对观察到的 ENTRY 现货波动超过 breach_band_pct,结构存续期间两条腿立即平仓;且滚动缓冲区在结算前 72 小时关闭任何仍开仓的头寸。两个可调参数(notional_pct、breach_band_pct),均为在 _param_bounds 中声明的边界。

验证结果

lookback_days=730 将已解析的合约链限制为最近 2 年,无论回测窗口如何(约 104 个周期,单一市场状态);WF 个窗口和留出集都位于该切片范围内。

入场后的首根 K 线会执行一次成交后双腿同时成交或均不成交检查(无条件设置 rec['checked']=True);如果此时两笔都尚未成交(n_open==0),检查就不会再次运行,因此较晚才成交的单腿可能会被裸露持有。

裸卖宽跨式组合唯一的尾部风险控制,是依据另一交易所永续合约的小时收盘价区间设置的止损;每个周期的最坏情况不受 breach_band_pct 限制。

_leg_size 四舍五入到 2 位小数(例如 0.25 BTC),但 Deribit BTC 期权按 0.1 张合约为增量交易——回测与实盘的规模不匹配。

经济性必须按 UNDERLYING 名义本金重新表述。引擎将 Deribit 期权建模为线性-USD CurrencyPair,使用 USD 权利金 bar,并按数量 x PREMIUM 收取 0.03%;而 Deribit 按 UNDERLYING 名义本金的 0.03% 收费(上限为权利金的 12.5%)——对于约 3%-OTM 的周度期权(权利金约为现货的 1.4%),回测收取的费用约为交易所真实佣金的 1/70 分之一(commission_pct_of_gross = 0.0,total_commission = 0.0004 可证实这一点)。avg_trade_return_pct 7.58% 是占 PREMIUM 名义本金的百分比;换算后,每条腿约为标的名义本金的 0.11%,每个 2 腿周期约为 0.21% GROSS,而交易所真实往返费用约为 0.12%,因此每周期净收益约为 0.09%,即比预先登记的 0.25-0.35% 低 2.5-3x,且尚未计入未建模的期权买卖价差。收益形态符合预期的卖波动策略(avg_loss 236 > avg_win 147,max_drawdown 0.73),而 730 天的链数据回看中没有出现 2020/2021 级别的周末冲击,因此左尾可能采样不足。

回测评审

夏普
1.58
总收益率
2.18%
最大回撤
0.73%
总交易数
202
胜率
67.3%
盈利因子
1.28

代码精确实现了预先注册的机制:101 个周末周期 / 202 条空头腿(101 张看涨 + 101 张看跌),周五 09:00 UTC 入场,162 条(共 202 条)腿在周一 08:00 UTC 日历戳记退出,其余在现价区间止损上退出。机制无失配。

周末日历时间衰减效应可测量地存在,但幅度很小:在 UNDERLYING 名义金额上,每条腿平均为 +0.0839%,盈利因子为 1.28,胜率为 67.3%,且三个日历年均为正。

样本量充足且可靠(202 条腿,732 天),每根 K 线的计算成本也没问题(运行 208s,无超时)。

该结构的佣金核算存在严重错误,而且这一点影响核心结论:total_commission = $0.0004,commission_pct_of_gross = 0.0,而交易的标的资产名义金额为 $4,943,734。引擎将 Deribit 期权建模为线性-USD货币对,并按 PREMIUM 的 0.03% 收费;Deribit 则按每边 UNDERLYING 的 0.03% 收费(权利金的 12.5% 上限未触发:实际每边 $1,483,上限为每边 $7,681)。场所真实佣金 = $2,966。

相对于 $4,355 的毛 PnL,这些真实手续费吞噬了 68% 的优势,剩余 $1,389 = +0.69%,这是在 $200,000 的资金规模上两年累计的金额(约 0.35%/年)。完全没有对期权买卖价差建模;按每次成交保守估计为权利金的 2%,在 61,452 的入场权利金上,202 条腿 x 2 次成交,成本约为 $2.5k,也就是说超过了全部剩余净收益。按交易场所真实情况计算的期望收益为零至负值。

按可比费用口径计算的每笔交易数据为标的资产的 0.0839%,低于 0.10% 的 DERIBIT 门槛,且每腿往返成本为 0.06%——毛收益与成本之比为 1.4x,而假设预注册值为 2.1-2.9x。每周期实现净收益约为 0.048%,而承诺值为 0.25-0.35%。

报告标题中的单位具有误导性:total_return 2.1775 是 +2.18%(权益 200,000 -> 204,355),max_drawdown 0.7338 是 0.73%,而 avg_trade_return_pct 7.58% 是占 PREMIUM 名义金额的百分比,约为 90x 手续费可比数字。即使在修正手续费之前,该策略在经济上也无足轻重。

这两个可调参数都无法解决问题。notional_pct 会以相同比例缩放盈亏和佣金(两者都与标的名义金额呈线性关系),因此毛收益与成本之比不随规模变化;breach_band_pct 只能削减尾部风险。不存在能通过优化将每腿 0.0839% 提高到成本以上的参数范围。

迭代历史

验证失败(第 4 层 — QA 审查)[类别=code_defect]:

结局总结

在该样本中,周末日历衰减效应确实存在,但任何后续尝试都必须采用一种结构,使每单位已获取 theta 所支付的 Deribit 标的名义金额佣金次数大幅减少——每周期四次期权跨越会耗尽这种规模的边际,无论参数如何设置。

回测审查分析师在优化前返回了 `abandon`,发现报告中的佣金是计算伪象——标的名义金额为 $4,943,734 时,佣金仅为 $0.0004 的 total_commission,这是因为引擎按权利金而非标的资产收取 Deribit 的 0.03%。重新计算后,场所真实费用为 $2,966,毛利润为 $4,355,剩余 $1,389(约每年 $0.35%);未建模的期权买卖价差(约 $2.5k)会使其转为负值,而两个可调参数均无法解决这一点,因为 notional_pct 会以相同比例缩放盈亏和佣金。

通过卖出约 3%-OTM 的 Deribit BTC 周度宽跨式,收割日历时间与时钟时间之间的不匹配:每周五 09:00 UTC 开仓,周一 08:00 UTC 平仓,在实现波动率结构性较低的周末收取两个日历日的 theta,并使用 BTCUSDT.BINANCE 1H K 线作为参考/止损腿。

回测在 732 天内运行了 202 个期权空头腿(101 个看涨期权 + 101 个看跌期权,101 个周末周期),胜率为 67.3%,盈利因子为 1.279,夏普比率为 1.585,报告的总收益为 2.1775(在 $200,000 资金规模上为 +2.18%)。按可比费用口径计算,每腿边际仅为标的名义金额的 0.0839%,低于 0.10% DERIBIT 门槛,仅为每腿 0.06% 往返成本的 1.4x,而预注册值为 2.1-2.9x。

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