跳至正文
全部策略

策略

吃单流吸收反转,多空策略(单一标的 SOLUSDT.BINANCE USD-M——当极端单边主动 TAKER 流未能 FAILS 推动价格时做反向交易,即被动流动性正在吸收主动交易者;由吃单比率设门槛,2 个参数)

结局: 已放弃

SolTakerFlowAbsorptionReversalLS

回测门槛: - 指标不可靠:不一致:Sharpe 0.52 与 total_return -67.61% 的符号不一致——Sharpe 根据 mtm_equity_curve 序列计算,而收益来自权益曲线。应依据权益曲线进行判断。

假设

一种针对 SOLUSDT.BINANCE USD-M 的 LONG-SHORT、SINGLE-INSTRUMENT、SINGLE-VENUE 均值回归策略,其信号真正 ORTHOGONAL 于价格:激进的 TAKER 买卖失衡(taker_ratio 数据源,已在补充数据集中收集),NOT 任何由价格序列重新计算的指标。核心微观结构洞察 —— ABSORPTION。激进的吃单方订单跨越价差,应朝其方向推动价格。当窗口内吃单流量极度单边而 YET 价格未能随之移动时(主动方未获回报),意味着知情流中的 PASSIVE 流动性正在吸收整个流量。一旦主动方耗尽且一无所获,价格便会 AGAINST 主动方向回归。于是:价格无法跟随的极度激进 BUYING → 买方被吸收 → 做空 SHORT;价格无法下破的极度激进 SELLING → 卖方被吸收 → 做空 LONG。这是 ORDER FLOW 与 PRICE RESPONSE 之间的背离 —— 在机制上区别于动量/趋势(其作用 WITH 流量)以及管线中已有的清算/OI 去杠杆反转(其依据强制平仓数据源)。单一场所 + 单一标的 → 1 小时 K 线与 taker_ratio 数据源在 Layer-3 沙盒中均可同时获得(无跨场所/多腿验证风险;无期权/IV 依赖)。刻意仅设 2 个参数,以抵御日志中大量出现的过拟合死亡。

第 5 次迭代以尽可能小的改动处理回测门槛提出的指标一致性问题:max_notional_frac 1.0 -> 0.35。在 risk_frac=0.01、止损为 1.5-ATR 的情况下,ATR 风险名义头寸在大多数反向交易中超过了毛敞口上限,因此上限起了约束作用,每个仓位都约为实时权益的 100%。这使实现后的权益曲线呈现强烈复利效应(深度、依赖路径的回撤 -> total_return -67.61%),而每根 bar 的盯市收益序列平均略为正值(Sharpe +0.52)——这正是报告所指出的符号不一致。上限不再构成约束后,ATR 风险仓位规模决定名义头寸,两条曲线描述的是同一投资组合。信号、极性、成交量指针、缺口重置或退出逻辑均未改变,因此第 1-4 层仍为绿色。HONEST CAVEAT,这也是建议放弃的原因:缩小仓位只会按比例缩小负期望值,不会将其转为正值。按照要求依据权益曲线判断,该机制会亏损,而且现在这一结论得到三项独立测量的一致支持(完整回测 -67.61%;沙盒 avg_trade_return_pct -0.08%,共 198 笔交易,profit_factor 0.73;一项涵盖 1,842 个事件的研究,其中实际交易的 8 小时反向交易收益为 +0.039%,t=+0.6,即统计上为零且低于约 0.10% 的双边主动成交成本;反向交易 SHORT 方向的部分到 48 小时时显著为负,数值为 -0.797%/t=-3.3)。唯一能超过手续费底线的参数单元(|s|>=2.5,hold_bars=12)是扫描的 35 个单元中表现最佳的单元,最大 |t|=2.5,而纯噪声下的预期约为 2.4,且仅有一个支持年份——因此有意未采用该参数。

在可靠的 883 笔交易 / 2182 天的样本上预期收益为负:avg_trade_return_pct 0.133%(低于 0.15% Binance USD-M 手续费下限),profit_factor 0.895(<1),total_return -25.98%,夏普 -0.097,单笔预期收益 -$29.91。佣金仅占毛收益的 13.3%,因此这是 NOT 手续费脆弱性 —— 吸收反转信号毛收益为负:在 5/6 的日历年份中策略均亏损。前提已被可量化证伪,并通过三种途径验证:沙盒(PF 0.886,夏普 -0.50)、此处完整回测、以及开发者自身的事件研究(在 |signal|>=2.0 门槛下的 1,842 个事件)表明所交易的 8 小时反转幅度为 +0.039%(t=+0.6,统计上为零),无时间梯度且反转-SHORT 腿显著为负(-0.797%,t=-3.3,48 小时)。2 个可调参数无法反转一个低于手续费、PF<1 的信号,且不存在可调向的稳健参数区域(唯一突破手续费下限的格子是开发者明确指出的 best-of-35 噪声格子)。QA 对边际的担忧得到印证。不值得投入 2 小时进行优化。abandon_class=negative_expectancy。

实现

在 SOLUSDT.BINANCE USD-M 上进行 1 小时多空均值回归,对未能跟随价格的极端单边主动 TAKER 成交量进行反向交易(吸收)。信号 = -(flow_z - move_z) * tanh(|flow_z|/flow_scale),其中 flow_z 是窗口化主动买卖失衡的 z 分数(合并 taker_ratio 和指标数据流,时点正确,缺口重置),move_z 是 SAME 窗口内价格收益的 z 分数。激进买入被吸收时做空,激进卖出被吸收时做多。ATR 止盈/止损,加上 hold_bars 时间止损;仓位采用 ATR 风险规模,权益毛名义敞口上限为 35%。

验证结果

仅供参考。让完整历史区间的全量回测量化优势;分析师再根据真实数据决定优化、迭代或放弃。

沙盒中的每笔交易优势低于期货手续费底线(avg_trade_return_pct 0.085% < 0.15%),开发者的事件研究也发现,实际持有期限的反向交易收益无法与零区分。信号、极性和仓位规模均正确——问题在于吸收优势本身可能并不存在于 SOL 主动成交量数据中。

沙盒显示期望收益为负:avg_trade_return_pct 0.085%(低于 Binance USD-M 的 0.15% 手续费底线),共 481 笔交易,profit_factor 0.886、Sharpe -0.50、total_return -14.3%。开发者自己的事件研究(实时门槛下共 1,842 个事件)显示,实际交易的 8 小时反向交易收益为 +0.039%(t=+0.6)——统计上为零,且低于约 0.10% 的双边主动成交成本——没有持有期限梯度,六个时期中只有一个单独显著,反向交易 SHORT 方向的部分结构性为负(在 48 小时为 -0.797%,t=-3.3)。在 1-24 小时持有期限下,SOL 主动成交量中似乎不存在吸收后反转。这是对机制/优势的疑虑,而非编码缺陷;应由全量回测和分析师在优化前确认。开发者建议基于优势理由放弃,证据在分析师阶段也支持该建议——但这不是正确性失败,因此不会在此阻止。

回测评审

夏普
-0.10
总收益率
-25.98%
最大回撤
31.53%
总交易数
883
胜率
50.2%
盈利因子
0.89

信号确实与价格正交(主动成交量与价格响应),仅涉及单一标的和单一交易场所,实现清晰,并通过了第 1-4 层

有意采用 2 个参数,以抵御过拟合;多空均衡(455/428 笔交易);样本可靠(2182 天内共 883 笔交易)

avg_trade_return_pct 0.133% BELOW 0.15% Binance USD-M 手续费下限 —— 单笔交易边际无法覆盖成本

profit_factor 0.895(<1)且 total_return -25.98%——即使仅计入 13.3% 的佣金拖累,毛收益仍为负,因此这是缺乏优势,而非手续费脆弱性

Sharpe(-0.097)、Sortino(-0.069)、CAGR(-6.26%)均为负;在 6 个日历年中的 5 年亏损(2023 -4.1、2024 -8.3、2025 -11.0、2026 -7.6)

开发者自己的事件研究(1,842 个事件)显示,实际交易的 8 小时反转幅度为 +0.039%(t=+0.6,统计上为零),不存在期限梯度;反转-SHORT腿在 48 小时显著为负(t=-3.3)——在 SOL 的吃单流中,1-24 小时期限下并不存在吸收后的反转。

开发者和 QA 均独立基于优势理由建议放弃

分析

回测门槛: - 指标不可靠:不一致:Sharpe 0.52 与 total_return -67.61% 的符号不一致——Sharpe 根据 mtm_equity_curve 序列计算,而收益来自权益曲线。应依据权益曲线进行判断。

迭代历史

验证失败(第 4 层 —— QA 审查): - 吸收反转边际在沙盒中稳定为负 —— 该机制的首次真实回测决定性亏损。total_return -26.7%,PF 0.71,夏普 -1.39(CI [-2.99, 0.18], PSR 0.043),win_rate 0.51,avg_loss $977 对 avg_win $670(净值为负),超额收益 -0.21,偏度 -1.05 / 峰度 15.6,样本量为 196 笔交易,metrics_reliable=TRUE。avg_trade_return_pct 为 -0.096% —— NEGATIVE 且低于 0.15% 期货下限,因此在回撤前单笔交易边际无法覆盖成本。方向性正确(已验证:激进的卖单被吸收 → BUY,激进的买单被吸收 → SELL,由流量解释的价格变动净值为约 0 且未被反向交易),因此这是边际缺失/为负的问题,而非缺陷:在 SOL 上,做空未能推动价格的单边吃单流并不会反转 —— 总体而言,主动方是对的而非被吸收。 - 即便边际为正,吃单流量覆盖缺口仍会损害管线。SOLUSDT 吃单序列在 2021-12→2024-01 期间密集,然后出现 759 天的缺口,之后在 2026-02+ 恢复(开发者已验证),因此 2024-2025 不携带流量,策略在该区间持平。缺口内的滚动前推窗口产生零笔交易且无 OOS 夏普;15 天的样本外测试仅依赖于 2026 尾部。与兄弟策略 OI 存在相同的覆盖问题,不过此处停下来的主要原因是边际为负。

验证失败(第 4 层——QA 审查): - 沙盒和开发者自己的事件研究均确认费用/优势可行性不成立。沙盒 avg_trade_return_pct = -0.08%,基于 198 笔交易(total_return -25.8%,profit_factor 0.73,夏普比率 -0.99),也就是说每笔交易的优势为 NEGATIVE,远低于 0.15% 的期货往返交易费用底线。开发者在实时 |signal|>=2.0 门槛下,对这一完全相同的吸收信号进行了 1,842 个事件的复现:在实际交易的 8h 持有期上,反向交易收益为 +0.039%(t=+0.6)——统计上为零,且低于约 0.10% 的主动成交费用。持有期表现没有单调梯度(仅在 12h 有波动,到 48h 时显著转负 -0.353% t=-2.2);反向交易的 SHORT 腿亏损 -0.797%(t=-3.3),与 SOL 漂移相反,这对多空假设是致命的。唯一能覆盖费用的配置(|s|>=2.5,持有=12,+0.305% 毛收益)是从 -35 个单元中挑出的最佳噪声单元(最大 |t|=2.5,纯噪声下预期约为 2.4),而且已正确地 NOT 调参。吸收均值回归机制在 SOL 数据的 1-24h 持有期上并不存在。

验证失败(第 4 层——QA 审查): - 手续费/优势可行性失败——再次确认,第 3 次迭代在功能上与第 1-2 次迭代完全相同(所有可执行行和参数均未改变;仅添加了一个文档字符串区块,记录最终一致的放弃结论)。沙盒 avg_trade_return_pct = -0.08%,共 198 笔交易(total_return -25.8%、profit_factor 0.73、Sharpe -0.99):每笔交易优势为 NEGATIVE,远低于 0.15% 的期货双边手续费底线。开发者基于完整合并成交量序列进行的 1,842 个事件研究确认,实际交易的 8 小时持有期限反向交易收益为 +0.039%(t=+0.6)——统计上为零,且低于约 0.10% 的主动成交成本。持有期限收益曲线没有单调梯度(仅在 12 小时出现一个波峰,到 48 小时时,收益显著为负:-0.353%,t=-2.2);只有 2023 是单独显著的时期,而反向交易 SHORT 方向的部分相对于 SOL 漂移亏损 -0.797%(t=-3.3)——这对对称多空假设是致命的。在 1-24 小时持有期限下,SOL 数据中不存在吸收均值回归机制;这无法通过代码修复。唯一能覆盖手续费的配置(|s|>=2.5、持有=12、+0.305% 毛收益)是噪声中的最佳单元(共 -35 个,最大 |t|=2.5,噪声下预期约为 2.4),因此正确地没有进行调优。

验证失败(第 1 层——配置):config.instrument_id 和 config.bar_type 为 REQUIRED(得到 instrument_id=None、bar_type=None)。请将二者都设为假设所用的标的,例如 instrument_id='BTCUSDT.BINANCE'、bar_type='BTCUSDT.BINANCE-4-HOUR-LAST-EXTERNAL'。

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