策略
DOGE USD-M 主动成交流失衡延续策略,多空(单品种 BINANCE 永续合约,15 分钟 K 线 + 多年期 TAKER BUY/SELL 主动成交量数据流;在价格NOT尚未重新定价的顶部/底部十分位主动成交流突发时入场;资金流领先价格延续;3 参数)
结局: 已放弃
DogeTakerFlowImbalanceContinuationLS15m
多年期主动成交数据流覆盖充分(交易跨越 2021-2022,并非只有近期数据的断层);真正的非价格信号;超时安全的 O(log n) 查找
假设
一项LONG-SHORT、单一品种的微观结构策略,应用于DOGEUSDT.BINANCE(USD-M永续合约,15分钟决策K线),其根据激进吃单方订单流的方向进行交易,BEFORE价格完全消化该订单流。之所以选择DOGE是经过刻意考量的:它是Binance上最具散户驱动特征、攻击者密集程度最高的永续合约之一,因此相对于主流品种,其吃单方买卖成交量失衡在短周期内蕴含异常强劲的方向性信号。交易品种为永续合约;SIGNAL为Binance吃单方买卖攻击者成交量比率(辅助`taker_ratio`数据源,多年度),NOT原始OHLCV。这填补了当前组合在不落入已知"雷区"前提下所能触及的两个最远离目标的多样性类别:short_1m_15m周期(8.6%对比≥10%的目标)以及long_short方向性(14.3%对一个long_only以85.7%突破的≥55%上限)。它还通过依赖真实的微观结构数据源,规避了pure_ohlcv生存陷阱(1%之80),并且NOTHyperliquid策略(L11:0/84的HL生存率),NOT期权策略(L23),NOT横截面组合(L12),NOT主流品种的资金费率信号(L13),NOT清算数据依赖型(L3),也NOT跨场所套息(L1)。机制:在每个15分钟收盘时,计算短期窗口内的滚动吃单方买入比例TB = taker_buy_vol / (taker_buy_vol + taker_sell_vol),并计算其在长期历史分布中的百分位。当攻击者订单流达到十分位极端水平(严重单向市价单压力)AND该K线在同窗口内的已实现价格变动仍然SMALL(订单流已累积但价格尚未消化——即"订单流领先价格"的优势),按订单流方向入场。刻意采用低参数设计(3个可调参数),因为过拟合是233x中导致策略死亡原因的第1位。
Iteration-3 修复仅针对已报告的 Layer-2 故障中的 ONLY,不涉及其他内容。Layer 2 在全部六个合成场景中均报告了 `TypeError: _num() takes 2 positional arguments but 3 were given`:`_num` 原本是 @staticmethod,却通过 `self._num(...)` 调用;而 Layer-2 验证器代理会将可调用属性重新绑定为绑定方法,因此 `self` 被作为额外的位置参数传入。代码此前已通过将 `_to_ns` 改为普通实例方法,修复了同样的问题;我对 `_num` 采用了相同的最小修复。我还将 `_pctile`(唯一其他的 @staticmethod,同样通过 `self._pctile(...)` 调用)转换为实例方法,这样 `_num` 通过后,策略便不会在下一个静态方法处再次陷入循环。调用位置均未更改(仍全部使用 `self.`),信号逻辑、导入、参数和配置均未触碰——所有先前层级仍然通过,已通过的信号路径也保持原样。
手续费吞噬导致净亏损并使账户LIQUIDATED(total_return -100%,max_drawdown 100%,清算 2022-10-19;年度收益 2021 -14%,2022 -127% 后转为持平)。在 12,810 笔交易中:profit_factor 0.46,夏普比率 -0.77(CI [-4.76, -0.01]),PSR 0.06,每笔交易期望收益 -$17.83,win_rate 39.7%,avg_trade_return_pct 0.0069%(远低于 0.15% 手续费下限,L22)。佣金占毛收益的 50.1%($99k 佣金 + $131k 冲击成本)——高频“资金流领先价格延续”策略(在 15 分钟线上交易 12,810 笔,平均持仓 66 分钟)被交易成本主导;且由于 avg_loss($55)> avg_win($39),偏度 -4.1、峰度 627,并连续亏损 19 笔,最终被成本侵蚀至强平。与其他近期数据型主动成交数据流不同,此处合并的 metrics+taker_ratio 数据流覆盖 2021-2022,因此这不是数据断层所致——这是一个毫无优势、手续费主导的单永续合约订单流门控策略(L73 / L18 fee_edge 极端)。无论如何调整 flow_window/flow_pct/price_move_pct,都无法让每笔交易约 0.007% 的优势超过约 0.10% 的往返成本,也无法在不放弃策略机制的情况下减少约 12.8k 笔交易。失败模式:fee_edge/no_edge 单永续合约主动成交流延续策略,被强平。不值得再花 2 小时优化。
实现
针对 DOGEUSDT.BINANCE USD-M 永续合约(15 分钟K线)的多空单品种微观结构策略。信号来源为 Binance 主动买入/主动卖出成交量失衡(取自多年期 `metrics` 序列与稠密 `taker_ratio` 行情合并后的数据),NOT 原始 OHLCV。每个 15 分钟收盘时,对 (R-1)/(R+1) 在 flow_window 根K线范围内的有符号失衡进行平滑处理,并将其作为滚动分布中的百分位进行排序。当出现十分位极端的主动成交方爆发,而价格 NOT 被重新定价时(同窗口内已实现 |收益率| 处于小尾端),按资金流方向入场以延续趋势。退出条件包括:止盈、止损、硬性时间止损或资金流枯竭(主动成交方资金流反向穿越中性位,与持仓方向相反)。当无最新主动成交方读数时保持空仓(无仅依赖价格的兜底机制)。
验证结果
CLEAN RESTART 2026-09-04 — 本次运行的判定历史和学习记录已删除,并从验证阶段重新开始。此前放弃该策略是由流水线问题导致,而非市场因素:Layer-2 测试框架错误绑定了 @staticmethod 助手方法(已修复),QA 在未经优化的冒烟测试中给出了最终表现判定(已移除 — QA 现在只判断正确性),沙箱超时则源于回测时段资源不足(已修复)。假设和策略代码均未更改。请依据代码本身进行验证;表现将在之后通过完整回测和优化器评估。
高换手费率不可行性:1552 笔交易/206 天,佣金 96.78%(占毛收益),avg_trade_return_pct -0.014% —— -93% 的主导成因。flow_pct/price_move_pct 为优化器的可调参数,因此这是优化器层面的频率/边际优势问题,而非代码缺陷。优化器必须约束交易笔数与扣费后单笔回报;若无可行运行点则放弃。
盈亏回报比倒置 + 前提可能存在方向错误:avg_win $61 < avg_loss $132,尽管 TP>SL(资金流耗尽退出限制了盈利),win_rate 0.37 表明在 DOGE 15 分钟上,反转策略可能优于延续策略。代码正确实现了既定假设,因此这是需要分析师/研究人员评估的前提/优势问题。应对延续与反转方向进行 A/B 测试。
回测评审
- 夏普
- -0.77
- 总收益率
- -100.00%
- 最大回撤
- 100.00%
- 总交易数
- 12810
- 胜率
- 39.7%
- 盈利因子
- 0.46
多年期主动成交数据流覆盖充分(交易跨越 2021-2022,并非只有近期数据的断层);真正的非价格信号;超时安全的 O(log n) 查找
账户 LIQUIDATED 2022-10-19:total_return -100%,max_drawdown 100%(CI 至 100%),CAGR -100%
手续费吞噬:commission_pct_of_gross 50.1%($99k 佣金 + $131k 冲击成本),avg_trade_return_pct 0.0069%(远低于 0.15% 下限),共 12,810 笔交易
期望收益为负:profit_factor 0.46,夏普比率 -0.77(CI [-4.76, -0.01]),PSR 0.06,每笔交易期望收益为 -$17.83,win_rate 39.7%,avg_loss > avg_win
捡硬币式爆仓:偏度 -4.1、峰度 627、连续亏损 19 笔;延续策略触发 12,810x,并因成本侵蚀而最终被强平
L73 单永续合约、订单流门控策略族 / L18 fee_edge 极端
迭代历史
验证失败(leverage_set_but_unused):配置设置了 leverage=2.0,但策略在仓位计算中从未引用杠杆。应据此计算仓位——名义价值 = 权益 * 比例 * 杠杆 / 价格(读取 self.config.leverage)——或将杠杆设为 1.0。按当前写法,杠杆不起作用,回测与 1x 完全相同。
验证失败(Layer 4 — QA 审查): - 无控制的敞口/金字塔加仓导致账户全部被清算。should_enter() 在满足资金流/价格条件时发出 BUY/SELL,却从不检查是否已有持仓,因此当主动成交流保持在十分位极端、价格保持“小幅”变动时,它会在连续的 15 分钟 K 线上重新入场同一方向,不断叠加仓位。沙箱证实了这一点:avg_position_pct = 权益的 463%,而仓位规模设计目标约为 30%(position_fraction 0.15 × 杠杆 2.0)——超出约 15x,只能由反复加仓造成。结果:liquidated=true(2026-05-02),total_return -100%,max_drawdown 100%。这是严重的风险控制缺陷。 - 没有优势/收益低于手续费。在充分采样的运行中(2636 笔交易,换手率 720):avg_trade_return_pct -0.0225%(为负,远低于 0.15% 期货下限和 0.10% 往返成本),profit_factor 0.405,win_rate 0.39,avg_win $75 对比 avg_loss $120(盈亏回报比倒置),夏普比率 -2.29,其 CI [-10.68, -2.10] 完全为负。这与反复被放弃的主动成交流/主动成交比率微观结构类别相符。该信号无法覆盖手续费。 - 信号依赖于覆盖该窗口的合并 metrics/taker_ratio 补充序列;若前向测试窗口数据不足,策略会悄然停摆(不使用价格备用信号)。该策略在此处产生了交易,但仍应确认数据覆盖情况。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。