策略
BTC Deribit 周度方向性 DEBIT VERTICAL 价差,受日线趋势信号过滤(通过看涨/看跌垂直价差做多/做空、跨交易所信号、风险可定义、2 参数)
结局: 已放弃
BtcDeribitWeeklyDebitVerticalDailyTrend
结局总结
BtcDeribitWeeklyDebitVerticalDailyTrend 旨在通过采用该工厂中已存活的唯一机制——日 BTC 趋势——并将其封装为具有限定风险的 Deribit 周度借方垂直价差,以填补语料库的期权和跨场所缺口,其中短腿为长腿的 theta 提供融资,最大损失被净借方封顶。在三轮迭代中,作者反复削减腿数(365 天 x 6 阶 = 312 条腿,然后 182 天 x 4 阶 = 104 条腿)以适配沙盒预算,甚至记录了精简的 2 阶阶梯将使 width_atr 参数实际上失效。它仍超出 600 秒的第-3层挂钟时间,并在验证循环中被放弃,因此从未产生任何回测、优化或分析师裁决。此次运行是对期权链回测的基础设施上限的记录,而非对交易论点的判断。
假设
在 Deribit BTC 周权上的一组 CROSS-VENUE、LONG-SHORT、DEFINED-RISK 方向性期权叠加策略。这同时刻意填补语料库中两个最大的结构性缺口:OPTIONS 场所(BINANCE_OPTIONS+DERIBIT 合计 ~6%,对比 ≥15% 目标,基本上零存活者)和 CROSS-VENUE(6.9% 对比 ≥15%)。它既 NOT 一个做空波动率的 VRP 结构(这些结构反复以 risk_reject/no_edge 的比例阵亡:BTC/ETH delta 对冲跨式、做空宽跨式、现金担保卖权),也 NOT 一个直接买入溢价的跨式/OTM 买入(这些会持续亏损 theta 并以 no_trades/no_edge 的比例阵亡)。相反,它表达了在该工厂中实际存活的 ONE 机制——在 BTC 上的日时间框架方向性趋势(参见论文阶段 BTC/ETH/ADA 双时间框架动量存活者)——但将其封装为 DEBIT VERTICAL SPREAD,使短腿为长腿的 theta 提供融资,且最大损失被净借方封顶。信号来自 BTCUSDT.BINANCE USD-M 永续合约日 K 线(存活者使用的深入、干净的价格序列);执行在 DERIBIT BTC 周权(最具流动性的加密期权链——此处特别要求 BTC,因为只有 BTC 周权链的行权价足够紧凑,使 BOTH 腿的垂直价差能在不因价差成本侵蚀优势的情况下成交;离 ATM 的 ETH 周权垂直价差显著更宽)。不进行连续 delta 对冲(那正是使 covered call 和跨式尝试超时的原因)——仓位每周开仓一次并持有至到期,因此每根 K 线的工作量为 O(1)。仅两个参数(趋势回看期、以 ATR 单位计的价差宽度),选取它们以避免前推检验/留存样本拟合噪声。
迭代 3 改变了 ONLY 所报告的第-3层 sandbox_timeout 的要求:SIZE OF THE RESOLVED OPTION CHAIN。第1、1.5 和 2 层保持绿色,因为 Python 代码主体与迭代 2 字节级别一致,仅模块文档字符串不同——未触及任何导入、信号、仓位、开仓、展期或风控逻辑。在此主机上、按照沙盒实际运行负载(负载均值 ~55)测得的诊断结果:40 个 Deribit BTC 日期权腿在 catalog.instruments() 中耗时 81.7 秒,加上批量化 catalog.bars() 调用 93.2 秒(约 175 秒),探针仅在 9 分钟的挂钟时间内消耗了 CPU 秒中的 31 秒——属于腿数 I/O 成本,而非逐根 K 线的策略计算(在有界双端队列上仅是少量浮点运算)。今日同机的语料库旁证:同一类 Deribit 周权运行在 208 条日腿时超时,在 154 时通过;迭代 2 申请了 312-318。因此 腿数 = (lookback_days/7) x rungs_per_cycle 是唯一的调节杠杆,迭代 3 从两端削减:阶梯从每侧 3 阶降至 2(ATM + ~3.5% OTM),且 lookback_days 由 365 变为 182,即 26 周周期 x 4 阶 = ~104 条腿(为迭代 2 的三分之一,也低于此已知可通过上限的 154 条腿配置的三分之一)。26 结构 = ~52 个腿仓位,高于 30 笔交易的日策略样本下限,但低于假设的预注册 80——另一种选择(更多周期)将导致运行完全不产生数字,这正是最近两次迭代的结果。HONEST CONSEQUENCE,特意标记:每侧仅有一个 OTM 阶,因此每周每个方向恰好只有一个挂牌垂直价差,所以 width_atr 计算其目标宽度但不再在候选短执行价之间选择——对 width_atr 的敏感性扫描将呈平坦,而约束性宽度为阶梯的 3.5% 货币性(典型 BTC 周波动率下约 1.8 倍日 ATR,即参数的默认值)。选择代码未更改,可推广至任何 ≥2 的阶数,因此一旦挂钟预算允许,即可恢复第三阶。_param_bounds 仍映射代码中的每个约束。
verification_loop:sandbox_timeout:验证失败(第 3 层——沙盒回测):冒烟测试在约 20000 根 K 线的窗口(BTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL 的 2400 天)上超过了 600 秒的墙钟时间限制。这几乎总是意味着每根 K 线的工作量会随历史长度增长——例如反复扫描完整的资金费率/补充数据序列,或在每根 K 线上于 calculate_signal()/on_bar() 内重建列表并调用 min()/sorted()。在 __init__ 中预先计算排序后的时间戳数组 ONCE 并使用 bisect,或按时间戳缓存查询结果,使每根 K 线的开销为 O(log n) 而不是 O(n)。
实现
在 BTC 上进行跨交易所、可定义风险的多空周度期权叠加策略。以 BTCUSDT.BINANCE 1-DAY 收盘价计算波动率归一化的 30 日动量 t 统计量来确定方向;每个 Deribit 周度 BTC 周期仅表达一次观点,采用垂直 DEBIT价差——看涨:买入约 ATM 行权价的看涨期权/卖出约 3.5% OTM 行权价的看涨期权;看跌:买入约 ATM 行权价的看跌期权/卖出约 3.5% OTM 行权价的看跌期权。两条腿在同一根 K 线上提交(绝不裸卖期权),于该周期入场时(到期前 7 天)建仓并持有至到期,按滚动计划在结算前 24 小时平仓。空头腿为多头腿的 theta 提供融资,并将最大亏损限制在净支出;仓位规模器恰好按该金额承担风险(合约数 = 权益 * risk_frac / net_debit)。两个经济参数:trend_lookback_days(动量周期)和 width_atr(以日线-ATR单位计的目标行权价宽度)。不做 delta 对冲,不提前退出;每根 K 线的工作量为 O(1)。历史 Deribit 周度 BTC 链在运行前通过 parameters['rolling_options'] 解析,并以期权腿和滚动计划的形式注入;若期权链不可用,运行将明确报错——不会回退到标的资产。
验证结果
sandbox_timeout:验证失败(第 3 层——沙盒回测):冒烟测试在约 20000 根 K 线的窗口(BTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL 的 2400 天)上超过了 600 秒的墙钟时间限制。这几乎总是意味着每根 K 线的工作量会随历史长度增长——例如反复扫描完整的资金费率/补充数据序列,或在每根 K 线上于 calculate_signal()/on_bar() 内重建列表并调用 min()/sorted()。在 __init__ 中预先计算排序后的时间戳数组 ONCE 并使用 bisect,或按时间戳缓存查询结果,使每根 K 线的开销为 O(log n) 而不是 O(n)。
结局总结
对于多腿期权策略,沙盒成本由逐腿的目录 I/O(合约与 K 线加载)主导,而不是逐根 K 线的 Python 计算,因此腿预算——周期数 x 阶数——必须在可测量任何优势之前就被调整到能通过挂钟时间上限的规模。
在第 3 次迭代后,该策略在验证环节因第 -3 层沙盒超时而被放弃——冒烟回测在约 20,000 根 K 线(2400 天)的 BTCUSDT.BINANCE 1-DAY 窗口上超过了 600 秒的墙钟时间限制;回测审查、优化、分析师审查和风险审查均未进行。
一种跨交易所、风险可定义的方向性期权叠加策略,在 BTCUSDT.BINANCE 永续合约 K 线上生成每日波动率归一化动量信号,并在 DERIBIT 上通过 BTC 周度看涨或看跌借方垂直价差表达该信号,持有至到期,仅使用两个经济参数(趋势回看周期和以 ATR 单位计的价差宽度)。
不存在任何业绩数字:回测报告为空,也未生成优化报告,因为该策略始终未能通过验证。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。