策略
SOL USD-M 主动成交流背离反转,多空(单一标的 BINANCE 永续合约,1h K线 + 多年主动买入/卖出量 metrics 数据源,反向交易订单流 REFUSES 不予确认的价格极值,3 个参数)
结局: 已放弃
SolTakerFlowDivergenceReversalLS
结局总结
SolTakerFlowDivergenceReversalLS 在波动率更高的 SOL 上重启了订单流反转思路,使用主动买入/卖出量 metrics 数据源,对 CVD 未能确认的 1h 价格极值进行反向交易,并刻意放宽门槛,以摆脱其同类策略 BtcSmartMoneyCrowdDivergence 只有 16 笔交易、无法达到可测量性要求的困境。交易笔数目标实现了——真正的非价格数据源触发了 2,304 个信号——但结果只证实了反转策略没有优势:盈利因子为 0.769,每笔交易 -0.10%,且每年均为负。雪上加霜的是,该策略以约 2.4x 名义敞口运行(position_frac 0.5 × 杠杆),因此 2023-05 出现的 -1638% 个月(收益偏度 -11,峰度 487)在 2023-03-31 将账户彻底强平。审查者因其存在根本性缺陷而放弃该策略——它属于已失效的单一标的订单流反转策略,其负收益特征加上过高杠杆注定导致爆仓,调参只能改变爆仓时间。
假设
一种基于真实 LONG-SHORT、仅针对单一标的、原生于加密货币的 ORDER-FLOW 策略,应用于 SOLUSDT.BINANCE(USD-M 永续合约,1 小时 K 线),建立在一项真正的 NON-PRICE 数据依赖之上,而目前没有已部署策略使用该数据:Binance 期货主动买入/卖出 VOLUME 指标数据流(通过 BinanceVisionCollector 的“metrics”CSV 多年采集)。每根 1 小时 K 线收盘时,我都会维护滚动累计主动买入差额 CVD = 最近 L 根 K 线中(taker_buy_volume - taker_sell_volume)的总和。可交易的洞见是主动成交流 DIVERGENCE:当价格冲向局部极值,但本应伴随真实走势的主动订单流缺失或反转时,这一极值难以持续,价格会回归。这明确属于纯 NOT OHLCV(L30)——CVD 是一个无法从价格推导的独立序列——NOT 资金费率方向(L13)、NOT 套息(L28)、NOT 期权(L29)、NOT 强平(L3)、NOT 横截面篮子(L12)、NOT 跨交易所套利(L1)、NOT Hyperliquid(L11)。刻意将参数数量控制在 3,以避免落入过拟合的坟场;策略设计为在 SOL 历史数据期间触发约 150-350 次,使交易次数超过可测量下限(避免近期同类策略 BtcSmartMoneyCrowdDivergence 因仅有 16 笔交易而夭折;该策略在顶级交易者 POSITIONING 之上使用了两段式门控,而本策略在波动率更高的标的上,对主动成交 VOLUME 使用较宽松的门控)。
ITERATION 2 — 修复所报告 Layer-2 故障所需的最小改动,信号逻辑保持不变。故障是 TypeError:验证代理调用了类的 `_bar_ts` 静态方法 BOUND(传入 self),因此它收到了 2 个位置参数。修复:将时间戳辅助函数 OUT 移出类,改为模块级函数 `_bar_ts_of(bar)`(代理无法对其进行绑定),并更新唯一的调用点;`@staticmethod _bar_ts` 已移除。没有更改其他代码、导入、参数或信号逻辑,因此 Layer 1 保持通过,其余 Layer 2 现在可以运行。(这是基类遮蔽静态方法时已知的代理绑定陷阱。)其他部分仍按设计保留:真正原生于加密货币的 ORDER-FLOW 策略,依赖于 NON-PRICE(Binance 主动买入/卖出量比率,“metrics”),仅使用单一标的(SOL 主标的),因此数据源可作为主补充数据顺利加载;每根 1h K线的截至当时主动成交比率(通过 O(log n) 的 searchsorted 搜索,安全处理超时)给出主动方失衡,以 K线成交量缩放为每根K线的主动成交净差额,在 cvd_window 上求和并标准化为资金流 z 分数;背离 price_z - flow_z(连续值)在主动成交流拒绝确认价格极值时做反向交易。NOT 纯 OHLCV / 资金费率 / 套息 / 期权 / 强平 / 横截面 / 跨交易场所 / Hyperliquid。3 个核心参数以避免过拟合;在多年 1h SOL 历史中,entry_z 1.5 加上一个高波动标的上的单一背离门槛,旨在超过可测量性门槛。USD-M 期货(多空交易与主动成交数据源仅存在于永续合约);杠杆 2.0 接入仓位规模计算(equity*position_frac*leverage/price,position_frac 0.5 -> 名义敞口约 1x),并设置 3% 止损,将每笔交易风险限制在权益的约 3%。若 metrics 数据源不可用,则无法形成 flow_z,策略将不会交易(没有仅依赖价格的回退方案——优势来自资金流背离)。SOLUSDT 历史数据深、流动性高,且有多年 metrics 数据源(无 data_unavailable)。
在 2023-03-31 发生账户彻底强平:total_return -100%,max_drawdown 100%,此后无任何交易活动。大量样本明确显示该策略优势为负——profit_factor 0.769,avg_trade_return_pct -0.10%,2,304 笔交易累计期望收益为 -$52,夏普比率 -0.59,PSR 0.026,每年均为负(2021 -23%,2022 -75%,2023 -184%)。两项相互叠加的失败:(1)信号——做空主动成交流 CVD 未能确认的 SOL 1h 价格极值——属于单一标的订单流 REVERSION,是本次研究中已明确失效的反转策略类别(主动成交流同类策略在 -0.025% 失败,且研究主管的指令明确指出所有订单流周期在计入手续费后均无利可图);(2)仓位规模设置杠杆过高,十分危险——avg_position_pct 236%(position_frac 0.5 乘以杠杆)对单一标的运行反转策略,名义敞口约为 2.4x,造成灾难性爆仓(每月 2023-05 -1638%,单日 -684%/-242%,return_skew -11,峰度 487),最终导致账户强平。主动成交 metrics 数据源正常(触发了 2,304 个信号),因此这是对策略本身的真实判断,并非数据伪象——该假设解决了 BtcSmartMoneyCrowdDivergence 同类策略只有 16 笔交易、无法达到可测量性要求的问题,却只证实了反转策略没有优势,随后导致爆仓。优化 cvd_window/entry_z/div_thresh 无法扭转已被强平、PF-0.77、期望收益为负的策略,而且过高杠杆仍会导致爆仓;调参只会改变强平日期。策略存在根本性缺陷,不值得再花 2 小时优化。
实现
基于 SOLUSDT.BINANCE 的单一交易品种订单流多空反转策略(USD-M 永续合约,1 小时 K 线)。使用 Binance 期货主动买入/卖出 VOLUME 比率(“metrics” 数据源,非价格数据),每根 1 小时 K 线计算主动方失衡度 (R-1)/(R+1),再乘以该 K 线的成交量,得到主动成交量差的净值代理,并维护最近 cvd_window 根 K 线的滚动累计主动成交量差(CVD),将其标准化为类似 z 分数的流量得分。同时,对同一时间窗口内的价格计算 z 分数。背离 = price_z - flow_z,衡量价格偏离程度超过主动订单流确认程度的幅度。该策略在极端行情未获确认时FADES:当价格处于 z 值高位极端、但流量未确认时(背离 >= div_thresh),SHORT;镜像情形则LONG。当价格回归均值(|price_z| <= exit_z)、触及相反极端、达到止盈或止损,或触发时间止损时退出。3 核心参数:cvd_window、entry_z、div_thresh。
验证结果
分析师:因负期望加上 >50% DD 而放弃;倒置的 RR 源于反转退出/固定止损不对称的结构性问题,无法通过重新调参修复。
样本充足(458 笔交易,metrics_reliable=true),结果明确为负:total_return -73.03%,max_drawdown 78.76%(远超 >50% L19 的硬性放弃门槛),profit_factor 0.72,avg_trade_return_pct -0.077%(期望收益为负)。NOT 并非 L17 代码缺陷特征(win_rate 0.64,夏普比率 +0.70,PF 0.72——win=0 / |Sharpe|>5 / PF=0 均不成立),因此对分析师而言,这是确实没有优势的结果,并非 QA 故障。失败机制 = 典型的反向 RR:win_rate 0.64,但 avg_loss $1591 ≈ 2.5× avg_win $647——exit_z=0.5 的均值回归止盈只锁定微小盈利,而 3% 止损却让亏损持续扩大。与本次已放弃的 LINK-Keltner / ADA-RSI2 反转策略特征相同。
风险/分析师:应将每笔交易的尾部风险视为显著高于 3%;使用止损市价保护单或降低杠杆可收紧该风险。
仅在 1h K线收盘时检查止损(get_position_pnl_pct),并在下一根K线上成交退出,因此在波动较大的 SOL 上,实际亏损会超过 3% 止损(largest_loss -$4799 ≈ 约 1x 权益名义敞口的 4.8%,高于 3% 上限)。再加上 exit_z 将盈利限制在约 0.65%,这造成了 avg_loss >> avg_win 的不对称性,并被杠杆 2.0(CVaR_95 35.4%)放大。这不是代码错误(K线收盘止损是固有机制),但“3% 止损 ≈ 3% 权益风险”的说法低估了实际尾部亏损。
分析师:放弃决策时应将手续费/冲击成本拖累纳入考量。
非常高的换手率(370.7)以及在 458 笔交易中的 total_impact_usd $12,890——费用/冲击拖累占亏损的很大一部分。交易笔数超过了可衡量性下限(良好),但在要求每笔交易毛收益优势的频率下,流量背离信号无法兑现。
回测评审
- 夏普
- -0.59
- 总收益率
- -100.00%
- 最大回撤
- 100.00%
- 总交易数
- 2304
- 胜率
- 61.3%
- 盈利因子
- 0.77
使用真正的非价格数据源(主动买卖指标),触发了 2,304 次——超过了其 16 笔交易的姊妹版本未能达到的可衡量性下限,且没有数据墙
采用 3 个参数的设计,以限制过拟合空间
ACCOUNT LIQUIDATED,在 2023-03-31 上:total_return -100%,max_drawdown 100%;最后约 3 年无任何活动
明确净亏损:profit_factor 0.769,avg_trade_return_pct -0.10%,每笔交易期望收益 -$52,夏普比率 -0.59,PSR 0.026——每年均为负(2021 -23%,2022 -75%,2023 -184%)
杠杆过高:avg_position_pct 236%(position_frac 0.5 × 杠杆)对单一标的运行逆势策略,名义敞口约为 2.4x → 灾难性爆仓(2023-05 -1638% 个月,return_skew -11,峰度 487)
单一标的订单流 REVERSION 是本次研究中已明确失效的反转策略类别(主动成交流 -0.025% 同类策略;根据研究主管指令,所有订单流周期在计入手续费后均无利可图)
结局总结
修复先前变体的交易笔数问题并不会创造优势——达到可测量性门槛只证明了单一标的订单流反转策略的收益方向为负——以约 2.4x 名义敞口运行期望收益为负的反转策略,必然导致强平,而不只是表现落后;无论信号是否有效,仓位规模都必须受到独立限制。
它在回测评审阶段被放弃(结论:放弃),原因是两个叠加的失败:反转信号属于单标的订单流均值回归——本轮中已被明确证伪的类别——以及危险的过度杠杆(avg_position_pct 236%,约 2.4x 名义价值)将负期望优势变成了整个账户爆仓清算。
这是一个在 SOLUSDT USD-M 永续合约上运行的单一标的多空订单流策略(1h K线),使用 Binance 期货主动买入/卖出量 metrics 数据源构建滚动累计主动成交差额(CVD),并对主动成交流拒绝确认的价格极值进行反向交易——做空资金流未确认的高点,做多资金流未确认的低点。
触发了 2,304 笔交易(超过可测量性门槛),但净亏损惨重:账户于 2023-03-31 被强平,出现 total_return -100% 和 max_drawdown 100%,盈利因子 0.769,avg_trade_return_pct -0.10%,每笔交易期望收益 -$52,夏普比率 -0.59,PSR 0.026,且每年均为负(2021 -23%,2022 -75%,2023 -184%)。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。