BtcTakerFlowExhaustionReversalLS1H
假设数
BTC Taker 流耗竭反转策略,多空双向(单一标的 BINANCE USD-M 永续合约,1 小时 K 线,反向操作极端主动方失衡——做空后期 FOMO 买盘/做多恐慌性抛售——区间行情门控,新型 Taker 比率信号,3 参数)
假设数
这是一种LONG-SHORT、基于 BTCUSDT.BINANCE(USD-M 永续合约,1 小时 K 线)的单一标的均值回归策略,驱动因素是 ORDER FLOW 而非价格本身——这是目前没有任何已部署策略使用过的信号输入。策略在每根 K 线上根据 Binance 期货 taker 比率补充数据(备用方案:主动方分类的trade_ticks),计算 taker 买/卖主动方失衡度(taker 买入成交量占比),并在短窗口上进行平滑。核心论点:当主动买盘变得极端且持续(例如 taker 买入占比在平滑窗口内 ≥ 0.68)时,边际市场买方处于后期FOMO/被迫平仓状态,其背后没有新的限价需求支撑——这种主动方耗竭往往可靠地预示着短期回调,因此 FADE 它 SHORT。对称地,极端且持续的 taker-SELL 主动性(占比 ≤ 0.32)意味着恐慌/投降式抛售正涌向逐渐稀薄的挂单——做LONG。这个策略被刻意设计成与本工厂中所有正在失败的策略DIFFERENT的一个族系:它NOT趋势跟随(209死亡的单一状态坟场——它是逆势且跨状态分布的,在流动性向任一方向过度延伸时都能获利),NOT资金费率套利(已饱和且被手续费拖垮的组合策略族系——其优势来自一次0.4–0.6%的反转行情,而非低于一个基点的现金流),NOT一个 N 腿组合(它是单一标的策略,每次往返仅 2 次成交,因此规避了L12的 2N×10 个基点的手续费壁垒),也NOT期权(不存在交易笔数壁垒——极端流动事件每年会触发数十次,可产生数百笔交易以实现可靠的优势测量)。它被限定在NON-TRENDING状态下触发(仅当慢速趋势滤波器显示走平/区间震荡时才进行反向操作),以规避唯一真正的失败模式——极端流动实际上是INFORMED延续而非耗竭。3较少的参数(流动平滑窗口、失衡阈值、离场条件)使其具备抗过拟合能力。
假设数
第 3 次迭代解决了第 -4 层 QA 唯一的失败原因:由于门控条件过于严格而导致的交易匮乏(6 笔交易/363 天)。此次未改动任何机制、导入模块或信号逻辑(这些均已通过第 1-3 层);仅放宽了三项入场/离场限流参数,使策略能够达到约 100 笔交易的可测量下限。entry_z 1.2->0.8 会在更多流动极值上触发,同时仍能超出噪声水平并高于 0.10% 的往返 taker 成本(该假设所指的反转是 0.4-0.6%)。regime_threshold 0.55->0.65 允许更多区间震荡的 K 线通过,使得“区间震荡-AND-极端 z 值”这一组合条件不再叠加稀有性,同时仍排除强趋势行情(即“知情延续”这一失败模式)。exit_z 0.3->0.25 以及 max_hold_bars 24->10 加快了周转速度,使策略更快回到空仓状态,并成倍增加每年的入场窗口数量。滚动 z 分数的尺度不变信号(L5)以及逆势、跨状态分布、单一标的的设计——这些使其区别于趋势/套利/组合/期权坟场的特性——均未改变。
假设数
期望值为负的单一永续合约 taker 流耗竭反向策略,不存在优势,且存在补充数据壁垒(L73/L55)。profit_factor 0.62,total_return -5.29%,夏普比率 -0.71(CI [-1.35, 0.02]),期望值 -$62.6/笔,avg_trade_return_pct 0.0146%(接近零,净亏损);avg_loss > avg_win,且 win_rate 0.447,因此该反向策略站在了流动方向的错误一侧。关键的是,尽管在 2019-2026 时间内有 58,512 根 K 线,ALL 85 笔交易和 100% 的收益都集中在单一约 6 个月的 2026 窗口内,原因是 taker_ratio 补充数据源仅覆盖了近期的一小段时间——annual_returns={2026:-5.32},逐月为 2026-03..08——因此无法构建 3 窗口的滚动前进验证加上 20% 的留出测试。这与本批次中已放弃三次的同类订单流门控单一永续合约特征相同(BtcTakerAggressionPersistence、AvaxTakerAggressorDominance、EthTakerFlowBreakout)。任何参数调整都无法将负的单笔优势转为正值,优化器也无法凭空补足数据源所缺失的日历覆盖范围。不值得再投入 2 小时进行优化。失败模式:fee_edge/no_edge 单一永续合约订单流门控反向策略,且补充数据窗口仅覆盖近期。
实现
基于 BTCUSDT.BINANCE USD-M 永续合约(1 小时 K 线)的多空双向订单流均值回归策略。该策略根据 Binance taker_ratio 补充数据计算平滑后 taker 买入主动方占比的滚动 z 分数;仅在区间震荡(考夫曼效率比较低)状态下,对极端且持续的主动买盘 SHORT(后期FOMO耗竭)以及极端主动卖盘 LONG(恐慌性投降)进行反向操作。离场条件为流动指标恢复正常、1% 硬止损,或时间上限。单一标的,杠杆 1.0,3 个核心可调参数。
验证结果
CLEAN RESTART 2026-09-04 —本次运行的判定历史和学习记录已被移除,并从验证阶段重新启动。此前的放弃源于流水线问题,而非市场问题:Layer-2 测试框架错误绑定了 @staticmethod 辅助函数(已修复),QA 在未经优化的冒烟测试上给出了终局性能判定(已移除——QA 现在仅判定正确性),沙盒超时则源于回测槽位争用(已修复)。假设与策略代码均未改变。请根据代码本身的优劣进行验证;性能问题将由后续的完整回测和优化器来决定。
验证结果
将 taker_lag_seconds 的默认值降低到约 7200-14400 秒,以便过期数据源能够抑制入场。
验证结果
taker_lag_seconds 默认值为 90000(25 小时),因此 _current_fraction 在返回 None 之前,会接受一个最多滞后约 25 小时的 taker_ratio 观测值。这不构成前视偏差(bisect 边界在 K 线 ts_event <= ts_init 处是单侧的),但在数据源出现缺口时,策略会依据一天前的流动读数进行交易。
验证结果
仅当 self._tk_ts[idx] 前进时才追加到 _frac_buf。
验证结果
_current_fraction 无论数据是否更新都会返回最新的观测值,因此在数据源刷新之前,同一个比例值会在每根 K 线上被重复追加到 _frac_buf 中,从而轻微压缩滚动 z 分数基准的标准差。在 1 小时周期下这不构成正确性问题。
回测评审
简洁的单一标的实现(每次往返 2 次成交,没有组合手续费壁垒),带行情状态门控,仅有 3 个核心可调参数——从设计上就具备抗过拟合性
回测评审
订单流信号输入与趋势/套利/组合策略的“坟场”确实存在本质区别
回测评审
净亏损且无优势:profit_factor 0.62,total_return -5.29%,夏普比率 -0.71(CI [-1.35, 0.02]),期望值 -$62.6/笔,avg_trade_return_pct 0.0146%(接近零且为负号)
回测评审
avg_loss($301)超过 avg_win($232),且 win_rate 0.447——该耗竭反向策略系统性地站在了流动方向变化的错误一侧
回测评审
补充数据壁垒(L73):全部 85 笔交易和 100% 的收益都集中在单一约 6 个月的 2026 窗口内(annual_returns={2026:-5.32},逐月为 2026-03..08),原因是 taker_ratio 数据源仅覆盖了 2019-2026 OHLCV 历史数据中最近的一小段——有效样本无法支持 3 窗口的滚动前进验证加上 20% 的留出测试
回测评审
commission_pct_of_gross 47%——在优势为负之前,手续费加上市场冲击已经吞噬了毛收益的一半
回测评审
与零存活率的单一永续合约订单流门控类别(BtcTakerAggressionPersistence、AvaxTakerAggressorDominance、EthTakerFlowBreakout 均已放弃)以及 L55 子-1.15-PF 单一标的反向类别相符
回测评审
6 个月(仅 2026)
回测评审
多年期
Iteration History
验证失败(第 3 层 —— 沙盒回测):未产生任何交易
使用的 K 线类型:BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL,已处理 K 线数:8729
诊断信息:在评估的 8679 根 K 线中,should_enter() 返回了 side 共 0 次 -> 你的 ENTRY CONDITION 从未触发。请放宽入场逻辑/阈值。
请确保你的策略在给定的数据和参数下能够产生交易。
Iteration History
验证失败(第 4 层 —— QA 复核):
- 入场门控触发得过于稀少,无法产生可测量的结果。沙盒在 363 天内仅产生了 6 笔交易(约 6 笔/年)。该复合门控要求同时满足:(a) RANGING 状态(考夫曼效率比 < regime_threshold),(b) taker 买入占比的滚动 z 值达到极端水平(|z| >= entry_z=1.2),以及 (c) 策略处于 FLAT 状态,随后最多持仓 24 根 K 线——因此即使 z 值经常穿越该区间,真正的入场信号也很少见。这正是 L16 的失败模式(“BTC 4 小时主动方失衡 16 笔交易”、“BTC taker 比率 16 笔交易”),此处同样 WORSE(6 笔交易)。即便进行多年期回测,以这样的速率也远低于约 100 笔的可测量下限。该假设自身的论证依据(“每年触发数十次,产生数百笔交易以实现可靠的优势测量”)与仅 6 笔交易的结果直接矛盾。
- 由于结果仅基于 6 笔交易,所有主要指标都不具备诊断价值:夏普比率为 0.84,但 sharpe_ci_low -1.08(CI 跨越零值),profit_factor 10.26 以及 win_rate 0.667 都是基于 6 个样本得出的,return_skew 7.23 / 峰度 94.8,且 avg_win $300 相对于 avg_loss $58——单笔 largest_win $662 就承载了全部正收益(+1.08%)。这些都不能作为优势存在的可信证据。这是上述交易笔数问题的直接结果,而非一个独立的缺陷。
Iteration History
验证失败(第 4 层 —— QA 复核):
- 核心优势为负且低于手续费,证伪了假设的核心主张。该假设声称反向操作捕捉的是一次“0.4-0.6% 反转行情”;而沙盒测得的是 avg_trade_return_pct -0.025%——为负值,且比该主张和 0.15% 期货手续费下限都低一个数量级。以下证据证实这是真实的无优势(而非仅仅是噪声):profit_factor 0.518,夏普比率 -1.53(CI [-2.73, +0.07]),win_rate 0.50,且收益风险比为 INVERTED(avg_loss $338 ~= 2x avg_win $175),omega_ratio 0.35。关键的是,这一现象出现在 BECAUSE 第 -3 次迭代放宽阈值(entry_z 1.2->0.8,regime_threshold 0.55->0.65)增加交易数量之后:新增的入场信号触发于更弱的流动极值,这些极值并未 NOT 出现反转,从而将平均优势拉向负值。这是直接证据,表明 taker 流耗竭信号不存在能覆盖成本的反转 alpha——极端主动买卖失衡的 K 线在这些阈值下并不会系统性地均值回归。
- 交易笔数仍低于可测量下限。第 -3 次迭代在 363 天内将交易笔数从 6 提高到 26(约 26 笔/年),但这仍远低于区分优势与噪声所需的约 100 笔下限(L16;同类的 BTC 主动失衡/taker 比率尝试在 16 笔交易时便宣告失败)。在 26 笔交易、偏度 -4.83、峰度 43 的情况下(单笔 -$945 的亏损占主导),各项指标仍以噪声为主——夏普比率 CI 的区间跨越 -2.73 到 +0.07。开发者陷入两种都失败的境地:收紧门槛 -> 不可测量(6 笔交易),放宽门槛 -> 勉强可测量但优势为负(26 笔交易,-0.025%/笔)。两者均告失败。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。