跳至正文
全部策略

策略

ETH Perp Taker-Flow Climax Exhaustion Reversal — Tape-Driven,Long-Short:对单侧主动吃单量的爆发式激增(其 FAILS 推动价格延伸(CVD/价格背离))进行反向交易,snap-back 至微观均值(ETHUSDT.BINANCE USD-M,逐笔成交驱动,短周期,3 参数)

结局: 已放弃

EthTakerFlowClimaxExhaustionReversalLS

主动方流量角度确有新意,增量式 z 分数/锁存机制也很简洁

假设

一项由 TRADE TICKS (aggTrade 逐笔行情)驱动的、LONG-SHORT、单标的 MICROSTRUCTURE 反转策略,而非 OHLCV 根 K 线——刻意区别于'墓园'中所有基于 K 线的均值回归/动量策略,亦在反复冲突/死亡的 funding-carry 与期权族之外。其 edge 为主动成交 EXHAUSTION:加密永续合约时常出现高潮式突发——主动市价单在某一侧集中涌入(买入或卖出高潮),LAST 批次的吃单方以逐次恶化的价格成交,而价格未能创下新的极值——即累积带符号的吃单量(CVD)与价格相背离。该痕迹表明被动头寸正在吸收流动性,且在主动单子耗尽后,系统性地紧接一次短促的 snap-back。我们直接从逐笔成交(主动买入 vs 主动卖出)度量带符号的吃单量,识别高潮+背离,并以此开展有界的微型反转以做反向交易(fade)。这NOTAVAX 15m 的影线回吐反向交易(后者自已完成 K 线上读取 OHLCV 影线);此处的触发因子为 TAPE 的主动失衡及其与价格的背离——该信号在 K 线数据中不可见。Binance aggTrades 的逐笔成交具有多年历史,因此走前推窗口与 15 天的 holdout 可被填充。填补被低估的短周期桶(8.8% vs ≥10%)与多空桶(14%)。3 参数:高潮流量 z 阈值、背离确认,以及反转目标/止损。

Layer-3 的建议是放宽阈值,而那本是错误的修法。我转而实测了真正的成因。沙盒窗口为最近 40,912 根一分钟 K 线,自 2026-08-05 14:08 至 2026-09-02 23:59;而目录中的 ETHUSDT 逐笔成交(tape)仅覆盖 2026-06-23 00:00 至 16:12。重叠时长 0.00 小时:逐笔行情在窗口开启前 42.9 天即已结束,因此 on_trade_tick 从未被调用过一次,基线始终为空,吸收量始终为 0.0,should_enter 在全部 40,911 根 K 线上均正确返回 None。无论 climax_z 或 divergence_confirm 取何值,均无法从一个零事件馈送中产生信号。这亦非 ETH 所独有:tick 目录的全部 5,934 个标的中,仅 USD-M 永续合约中有恰好三个携带任何 tick(SOL 至 2026-07-17 一天,ETH 一天,BTC 一天),且无一触达沙盒窗口;on_demand.py 不存在 tick 采集路径。因此,在当前数据层下,任何 tick 驱动的永续合约策略——无论其逻辑如何——都无法通过 Layer……展开收起

Layer-3 的建议是放宽阈值,而那本是错误的修法。我转而实测了真正的成因。沙盒窗口为最近 40,912 根一分钟 K 线,自 2026-08-05 14:08 至 2026-09-02 23:59;而目录中的 ETHUSDT 逐笔成交(tape)仅覆盖 2026-06-23 00:00 至 16:12。重叠时长 0.00 小时:逐笔行情在窗口开启前 42.9 天即已结束,因此 on_trade_tick 从未被调用过一次,基线始终为空,吸收量始终为 0.0,should_enter 在全部 40,911 根 K 线上均正确返回 None。无论 climax_z 或 divergence_confirm 取何值,均无法从一个零事件馈送中产生信号。这亦非 ETH 所独有:tick 目录的全部 5,934 个标的中,仅 USD-M 永续合约中有恰好三个携带任何 tick(SOL 至 2026-07-17 一天,ETH 一天,BTC 一天),且无一触达沙盒窗口;on_demand.py 不存在 tick 采集路径。因此,在当前数据层下,任何 tick 驱动的永续合约策略——无论其逻辑如何——都无法通过 Layer 3。修法保留了 edge 与数据族,仅替换了馈送:本假设所交易的量为带符号的主动吃单量(signed aggressive taker volume),而 Binance 正是以 taker_ratio 公布该数据(每桶 buy_vol 与 sell_vol);其中针对 ETHUSDT 覆盖 2026-03-23 至 2026-09-04,完整涵盖窗口。当行情不提供 tick 时,策略现以 buy_vol 减 sell_vol 派生其 CVD 增量,并接入 tick 路径原本使用的 IDENTICAL 桶、基线、z 分数与锁存机制;当 tick 存在时,tick 路径正常运行,行为不变。我已将共享机制重构至 _push_bucket,从而两个来源可被证实为同一段代码;馈送遍历为严格的时间点(point-in-time)单调指针,指向时间戳 ≤ 该 K 线时间戳,绝非 abs() 最近匹配。我NOT触动过任何阈值,而测量亦证实无此必要:在 2.5 与 1.5 默认值不变的条件下重放已编码闸门,在 6 天的切片中触发 3 次,在完整窗口上约为 14。分析员唯一须权衡的是:这是一项明示的数据族变更——由原始逐笔数据(tape)改为交易所发布的主动成交馈送,这会损失桶内时序;但它NOT会坍缩为该假设所刻意区分于的 OHLCV 数据族,因为主动买入/卖出拆分无法由 K 线重建。

在结构上无法测量的数据类别上发生灾难性强平——无法优化。假设的信号是主动方逐笔成交流,但开发者自己的分析证实,成交带未覆盖回测窗口(只有 3 个 USD-M 永续合约带有逐笔数据,且没有一个覆盖该窗口),因此策略回退到 taker_ratio 馈送——这一替换改变了假设,且其本身也仅从 2026-03-23 起有数据。在这一段唯一的约 1 个月窗口内,账户 LIQUIDATED(2026-04-29):total_return -100%、max_drawdown 100%、profit_factor 0.033、win_rate 23%,每笔交易期望收益 -$548,avg_loss $735 对比 avg_win $82,且 avg_position_pct 428%(杠杆过高),佣金占毛利的 535.84%,另有 $46k 冲击成本——这是一个费用占主导、杠杆过高、负优势的微观均值回归策略,数周内便爆仓。夏普比率 -1.11(CI [-1.61,-0.91]),PSR 0.36。账户归零后,任何参数调整都无法挽救;在数据层提供覆盖窗口的逐笔成交历史之前,也无法评估逐笔数据驱动的策略形式。失败模式:risk_reject/fee_edge 杠杆过高的逐笔反转策略被强平 + 结构上无法测量的成交带(L27/L10)。

实现

在 ETHUSDT.BINANCE USD-M 永续合约上的多空微观结构反转策略,针对被吸收的单边主动方高潮行情进行反向交易。信号是带符号的吃单量,而非价格:每个数据桶都会产生一个 CVD 增量(买方发起成交量减去卖方发起成交量)及其自身的价格收益;两者都根据过去 240 个数据桶的基线标准化为 flow_z 和 ret_z。交易量为两者的 DIVERGENCE,吸收值 = flow_z - ret_z,并在每根 K 线上连续返回。如果价格变动幅度与资金流所暗示的程度相当,说明是突破行情,吸收值接近零,因此不会进行反向交易;如果高潮行情未能推动价格继续延伸,则 flow_z 很大而 ret_z 接近零,因此吸收值很大,表明被动大额订单正在吸收主动成交。满足 flow_z >= climax_z 且吸收值 >= divergence_confirm 时触发 SHORTS(买入高潮未能继续延伸);镜像情形下触发 LONGS,要求两个条件同时满足,因为高潮行情单独出现时,成为突破还是反转的可能性相当。触发信号会短暂锁存,之后过期。由于反弹幅度有限,退出条件也设有上限:在 target_bps 止盈(30 bps,是约 0.10% 吃单往返成本的三倍),在 1.5x 止损,并设置 20 根 K 线的时间止损。仓位规模以风险为先,根据止损成本占权益的比例设定名义本金为 1%,杠杆上限设为配置的 3x,并实际用满该杠杆。主动方资金流在有数据时取自逐笔成交带,否则取自 Binance 发布的主动买卖拆分;后者是分辨率较低、但相同的带符号吃单量。

验证结果

验证失败(Layer 3 — 沙盒回测):未产生交易 所用 K 线类型:ETHUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL,处理 K 线数:40912 诊断:should_enter() 在 40911 根已评估 K 线上返回了 0 次方向信号 → 你的 ENTRY CONDITION 从未触发。请放宽入场逻辑/阈值。 请确保你的策略能使用给定数据和参数产生交易。

将假设标题更新为 1H(或“在 1H 网格上运行的 4H 设计”),使标题与配置及代码说明一致。

假设 TITLE 写着“4H K 线”,但 config.bar_type 是 ETHUSDT.BINANCE-1-HOUR-LAST-EXTERNAL。这NOT是生成错误:假设正文和策略文档字符串都明确说明这是有意进行的 4H->1H 重缩放,各时间周期均按日历时间匹配(例如 trend_lookback 60x4H->240x1H = 10 天不变等),原因是 4H 网格最多只能产生约 14 笔交易(不足以用于滚动前推/留出测试)。配置参数(240/40/56/4/168/120)与 1H 设计内部一致。视为有意设计;仅因标题仍保留旧版 4H 标签而标记。

无——已有修剪逻辑。

静态分析器标记 self._hist_long/_hist_short 的 append 存在无界增长。实际上,这两个列表在 _update_climax 中 append 后会立即修剪至 self.z_window(168),因此增长有界。无需采取措施——此处仅作完整记录。

回测评审

夏普
-1.11
总收益率
-100.00%
最大回撤
100.00%
总交易数
231
胜率
22.9%
盈利因子
0.03

主动方流量角度确有新意,增量式 z 分数/锁存机制也很简洁

账户 LIQUIDATED 2026-04-29:total_return -100%,max_drawdown 100%;所有 231 笔交易都集中在一个约 3 周的窗口内

经济性灾难:profit_factor 0.033,win_rate 23%,每笔交易期望收益 -$548,avg_loss $735 对比 avg_win $82

杠杆过高:avg_position_pct 428%,佣金占毛利的 535.84%(另有 $46k 冲击成本)——费用远超全部毛利润

假设的数据(交易逐笔数据)未覆盖回测窗口——只有 3 种永续合约带有任何逐笔数据,且没有一种覆盖到窗口;替代使用的 taker_ratio 行情源仅覆盖 2026-03-23 之后(单一市场阶段)

明确为负且无法测量:夏普比率 -1.11(CI [-1.61,-0.91]),PSR 0.36,effective_daily_obs 32

迭代历史

验证失败 (Layer 4 — QA 复核): - UNMEASURABLE — tick 数据不足。假设依据为'Binance aggTrades 的逐笔成交具有多年历史,因此走前推窗口(walk-forward windows)与 15 天的样本外(holdout)能够填充'。开发者本人的免责说明(6)与此矛盾:trade_tick 目录仅持有约 1M 条 ETHUSDT ticks,覆盖 2026-06-23 00:00-16:12 UTC(经 2 小时预热后,约 14 个可交易小时),至多仅能产生约 10-25 笔交易。Layer-3 沙盒亦证实此点:total_trades=1。单笔交易无法将 edge 与噪声加以区分(win_rate 0.0、PF 0.0、Sharpe -0.90、偏度 -18.8、峰度 355 均为单次观测下的伪像),而 3 阶段优化器 + 15 天 holdout 无法在仅约 16 小时的 ticks 上完成填充。这正是亚-100-trade 不可测量的模式——它会消耗下游迭代。 - FEE-MARGINAL EDGE(核对清单 #7)。min_target_pct=0.18% 在字面上通过'target > 0.15%'测试,但该下限并非实现后的回报——多数交易以止损或 30 分钟时间止损收场。开发者本人无引擎的回测测得 GROSS +0.119%/信号,扣除约 0.10% USD-M 往返成本后,NET 仅约 +0.02% 至 +0.05%,低于 0.15% 的下限;且开发者声明其'或可被判定为费率边缘(fee-marginal)'。沙盒 avg_trade_return_pct 为 -0.364%。该 edge 未能在留有余地的情况下覆盖往返手续费。

验证失败 (Layer 4 — QA 复核): - WHOLE-STRATEGY SWAP。假设为'ETH Perp Taker-Flow Climax Exhaustion Reversal'——一项 LONG-SHORT、逐笔成交(aggTrade tape)驱动的 MICROSTRUCTURE 反转,作用于 ETHUSDT.BINANCE(USD-M 永续合约),通过度量带符号的吃单量(CVD)来识别未能推动价格延伸的单侧主动成交方高潮(CVD/价格背离),并以此开展有界的短周期 snap-back 反向交易。而代码为 'BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp'——一项 BTC、基于 Deribit WEEKLY ATM SHORT STRADDLE 的策略,通过收割 VARIANCE RISK PREMIUM,并以 IV 对 RV 的富余度为门限,每日以 BTC 永续合约进行 delta 对冲。这是一个内洽但 COMPLETELY DIFFERENT 策略。标的、场所、资产、数据族、机制、时间周期与 edge 全部失配。该策略相对其假设,处于错链或错生成(misgenerated)状态。 - INSTRUMENT MISMATCH。假设明确 ETHUSDT.BINANCE(USD-M ETH 永续合约)。配置 instrument_id 为'BTC-PERPETUAL.DERIBIT'叠加 Deribit BTC 期权腿。资产错误(BTC 对 ETH)且场所错误(Deribit 对 Binance)。 - TIMEFRAME / DATA-FAMILY MISMATCH。假设明确为 TRADE-TICK 驱动(aggTrade tape)、短周期。代码却为 1-DAY OHLCV K 线驱动,且 subscribe_trade_ticks=false,未读取任何逐笔成交。 - CORE EDGE ABSENT。代码中无任何带符号的吃单量,无 CVD,无高潮 z 分数,亦无 CVD/价格背离的检测。它转而计算已实现波动率,并对跨式期权(straddle)进行 Black-Scholes 反解,以衡量 IV/RV 富余度。假设所述的核心机制并未实现。 - PARAMETER STRUCTURE MISMATCH。假设规定 3 参数(高潮流量 z、背离确认、反转目标/止损)。代码则暴露 vrp_ratio 与 hedge_band,叠加一份周度 Deribit 期权链计划。假设规定的参数一项也不存在。

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