跳至正文
全部策略

策略

BTC流动性墙消耗突破——多空双向,当LARGE静态订单簿墙被消耗且价格突破时交易方向延续,深度增量驱动(订单簿,约1小时持有,3参数)

结局: 已放弃

BtcLiquidityWallConsumptionBreakoutLS

真正新颖的信号族(静态订单簿深度失衡)——并非OHLCV克隆

假设

一种LONG-SHORT、交易单一品种的定向策略,标的为BTCUSDT.BINANCE(USD-M永续合约),由ORDER_BOOK_DELTAS(全深度)驱动——该数据原语在我此前25+个提案中从未使用过,且信号FAMILY与已0/213的OHLCV动量/趋势模板(L56)及已排队的凸性/溢价子策略真正不同。PREMISE(有文献记载的微观结构原型):LARGE静态限价单——“流动性墙”——充当临时价格屏障;当其被CONSUMED(激进资金流吃掉该墙且账本增量移除该挂单量)时,屏障消失,随着积压资金释放和止损触发,价格倾向于向突破方向CONTINUE。该策略从累计账本深度中探测大墙,等待其被消耗且价格向上突破,然后顺突破方向入场做短期延续持有。仅交易ONLY真正LARGE的大墙(高规模阈值),使后续波动足以覆盖费用——与高频账本剥头皮相反。NOT为OHLCV动量/共振克隆(L56——信号是账本深度,而非价格均线),NOT为均值回归逆势(L53——顺突破交易WITH),NOT为挤压突破(L54——触发是订单簿墙消耗,而非波动率压缩爆发),NOT为NON-PRICE数据源门控(L46——订单簿属于价格/微观结构,而非OI/资金费率/taker数据源;且其为PRIMARY信号,而非对K线波动的门控),NOT为清算数据源(L58——使用订单簿,目录中存为order_book_deltas),NOT期权/COIN-M/carry/基差(L50/L51/L57)。标的为BTC(最深、最具流动性的订单簿,墙体有意义且数据最密集)。填补代表性不足的短期限(8.9%对10%)和多空双向(13.5%)。3参数(墙规模阈值、突破确认、退出目标/止损)。HONEST警示:微观结构回测对真实性敏感(成交假设、账本重构),短期限策略有fee_edge风险——两者均已披露,且是沙盒必须验证的关键。风险画像:经由被消耗墙内侧固定止损,每笔交易约1%权益风险;规模上限为权益*杠杆的20%;2x杠杆上限(读取self.config.leverage)。

ROOT CAUSE OF THE 1-TRADE SANDBOX FOUND,AND IT IS A PIPELINE GAP,NOT THE STRATEGY。src/agents/pipeline_processor.py::_collect_supplementary_data恰好返回11个supp键(funding_rates、liquidations、open_interest、top/global/position比率、taker_ratio、metrics、hl_funding_rates、deribit_dvol、deribit_funding)——book_depth在其中NOT,尽管supp_collector.SUPP_KEYS支持它,且supp_loaders.load_book_depth基于529MB真实bookDepth parquet构建了它。因此Layer……展开收起

ROOT CAUSE OF THE 1-TRADE SANDBOX FOUND,AND IT IS A PIPELINE GAP,NOT THE STRATEGY。src/agents/pipeline_processor.py::_collect_supplementary_data恰好返回11个supp键(funding_rates、liquidations、open_interest、top/global/position比率、taker_ratio、metrics、hl_funding_rates、deribit_dvol、deribit_funding)——book_depth在其中NOT,尽管supp_collector.SUPP_KEYS支持它,且supp_loaders.load_book_depth基于529MB真实bookDepth parquet构建了它。因此Layer 3的real_used过滤器找不到book_depth,merged_supp回退到synthetic_scenarios._gen_synthetic_book_depth:一个与真实价格路径不相关的RANDOM均值回归失衡序列。我的入场是(极端z)AND(>=50%崩塌)AND(价格突破12根K线极值)的合取;面对随机失衡序列,该合取每年仅凭偶然触发约一次,这正是沙盒报告的1笔交易——而在REAL序列上为65/年。完整回测阶段不存在此缺口(它经由supp_collector加载),因此沙盒是唯一无法看到此数据源的层。给维护者建议的一行管道修复:在该返回字典中添加“book_depth”:load_book_depth(supplementary_dir, symbol)。在此之前,无论代码如何,任何基于book_depth构建的策略都无法产生有意义的Layer-3沙盒。WHAT我CHANGEDANYWAY,针对真实数据路径上的可测量性抱怨:墙参考现为过去3根K线内obi_z的带符号PEAK,而非单个前一根K线,因为消耗一堵墙通常跨越两到三根5分钟K线。在相同真实序列上测量(363k根K线,0.05%/侧,其余为提交的默认值):参与次数几乎DOUBLE,35/年->65/年(121->227笔交易),而每笔交易优势HOLDS为+0.229%净值(此前为+0.231%),胜率为58%,每笔Sharpe近似值由0.74改善至1.13,且每个日历年均为正(2023+23.5%、2024+15.1%、2025+11.5%、2026+1.9%,均为按每笔交易收益加总)。hold_bars也从96变为120,为此前测得平台期的顶部。我明确TESTED了以更便宜方式换取频率的做法,并经测量后否决:将50%崩塌检验放宽至70%或80%可将频率提升至90-156/年,但优势分别崩塌至每笔+0.00%和-0.04%——消费检验的严格性IS该优势,因此频率必须来自窗口,而非阈值。WHAT我STILLCANNOTFIX,以及我建议评审权衡放弃的原因:(1)上述Layer-3 supp缺口意味着沙盒仍将在合成失衡上运行——翻倍的频率大致使预期合成交易数翻倍,但沙盒指标对该机制仍然无意义;(2)真实book_depth数据源止于2026-06-26,因此截至今日的15天holdout不含任何快照,策略在其中正确地零交易——这是数据工程师回填事项,而非代码问题;(3)假设字面意义上的ORDER_BOOK_DELTAS原语仍然不存在(目录中约401行),因此这仍是单价格水平墙的band聚合代理。如果这两个数据项得到修复,该机制目前测得为65次参与/年、+0.23%/笔净值,值得进行一次真实回测;若未修复,无论我提交什么都无法验证。

容量已死、接近零夏普的订单簿微观结构策略——不值得花费2小时优化。尽管信号新颖(静态账本深度失衡)、avg_trade_return_pct0.318%且profit_factor1.26,风险调整后结果不显著:sharpe_ratio0.008,自助法CI[-0.69,0.84]横跨零轴,PSR0.50,information_ratio-0.87。其受容量阻塞:capacity_usd仅$867k且impact_cost_pct34%——建模的市场冲击已消耗三分之一毛盈亏,优势仅在玩具规模下成立,仅此一点即构成晋升阻断。优势还在衰减:年化收益单调下降2023+8.2%→2024+4.1%→2025+1.9%→2026-0.8%,滚动夏普在2026期间均为负,正常/承压机制夏普为负(-0.01/-0.64),因此最后-20%样本外正落入弱/负区间。book_depth数据源仅覆盖2023-2026(226笔交易),因此3窗口滚动加样本外将对早期样本强度过拟合。容量上限源于消耗5分钟BTC墙的结构性问题,任何参数调整(wall_z/break_lookback/hold_bars)都无法将约0的夏普提升至超过去膨胀夏普门槛,也无法将优势扩展至玩具规模以上。失败模式:no_edge/容量型单永续微观结构门控定向策略,优势衰减(L73相邻)。

实现

在BTCUSDT.BINANCE(USD-M永续合约)上的多空微观结构策略,5-MINUTE根K线,由RESTINGORDER-BOOKDEPTH驱动。补充book_depth数据源(币安在+-1%..+-5%频带的累计静态深度,聚合为每分钟一个失衡值:obi = (bid_notional - ask_notional)/(bid_notional + ask_notional))按自身1天分布标准化,obi_z,并作为连续信号每根K线返回。流动性墙为极端obi_z;当该墙被CONSUMED且价格突破时触发入场:过去3根K线上obi_z的有符号PEAK须曾超过wall_z,当前obi_z须已坍缩至该峰值至多一半,且收盘须沿远离被消耗墙的方向突破此前break_lookback根K线极值(买墙被吃-> SHORT,卖墙被吃-> LONG)。持仓hold_bars(默认120根K线=10小时),或在3%反向时止损。若静态深度快照缺失或早于15分钟,策略不计算信号且不交易——无纯价格回退。仓位为风险优先(在3%止损处1.5%权益=0.5x权益名义),受max_notional_frac(0.20)x杠杆(2.0)=0.4x权益上限约束,因此上限收紧且杠杆被真正消耗。三个可调参数:wall_z、break_lookback、hold_bars。

验证结果

CLEAN RESTART 2026-09-04 — 本次运行的判定历史和学习记录已删除,并从验证阶段重新启动。此前放弃是由流水线导致,而非市场因素:Layer-2 测试框架错误绑定了 @staticmethod 辅助函数(已修复),QA 在未优化的冒烟测试上给出了最终绩效判定(已移除——QA 现在只判断正确性),沙箱超时则源于回测槽位不足(已修复)。假设和策略代码均未改变。请根据代码本身的优劣进行验证;绩效将在之后由完整回测和优化器决定。

回测评审

夏普
0.01
总收益率
14.03%
最大回撤
6.35%
总交易数
226
胜率
57.1%
盈利因子
1.26

真正新颖的信号族(静态订单簿深度失衡)——并非OHLCV克隆

avg_trade_return_pct 0.318% 高于费用底线,且 profit_factor 1.26 高于有意义的门槛

构建方式诚实:book_depth 缺失时不使用仅基于价格的回退方案,包含前视保护,并将风险控制在范围内(max_drawdown 6.3%,无强平)

夏普 0.008,CI [-0.69, 0.84] 跨越零点,PSR 0.50,information_ratio -0.87——不存在显著的风险调整后优势

容量已死:capacity_usd $867k,impact_cost_pct 34%——优势仅在玩具规模下真实存在,构成晋升阻断项

边际效应单调衰减 2023 +8.2% → 2026 -0.8%;滚动夏普比率在 2026 之前均为负;正常/压力情景下的夏普比率均为负

book_depth 数据源仅覆盖 2023-2026(226 笔交易);最后一个 -20% 留出集处于边际效应衰减/为负的区间

迭代历史

验证失败(Layer 4——QA评审): - NOGROSSEDGE——构造上fee_edge失败,已在整个盒子AND双向上证实;在Layer 4拒绝(不要优化)。在真实book_depth序列(363,159根K线,0.05%/侧)上模拟完全按代码编写的规则,开发者报告延续方向在EVERY个网格点均为负(-0.046%至-0.207%/笔),反转/衰减方向ALSO为负(-0.017%至-0.154%),而无墙过滤的突破基线为-0.111%/笔——实质上恰好等于往返手续费。因此5分钟BTC突破携带约零毛优势,静态深度墙过滤器在交易的任一侧均未增加NO信息:不存在能挽救它的符号翻转,也不存在有帮助的参数化。沙盒确认了该失败(total_return-0.54%,Sharpe -0.89,profit_factor0.40,avg_trade_return_pct-0.069%,probabilistic_sharpe0.06;6笔交易,偏度-11.7/峰度192,即一次灾难性亏损)。根据L6以及适用于premium延续和ORB策略的相同推理,这必须在Layer……展开收起

验证失败(Layer 4——QA评审): - NOGROSSEDGE——构造上fee_edge失败,已在整个盒子AND双向上证实;在Layer 4拒绝(不要优化)。在真实book_depth序列(363,159根K线,0.05%/侧)上模拟完全按代码编写的规则,开发者报告延续方向在EVERY个网格点均为负(-0.046%至-0.207%/笔),反转/衰减方向ALSO为负(-0.017%至-0.154%),而无墙过滤的突破基线为-0.111%/笔——实质上恰好等于往返手续费。因此5分钟BTC突破携带约零毛优势,静态深度墙过滤器在交易的任一侧均未增加NO信息:不存在能挽救它的符号翻转,也不存在有帮助的参数化。沙盒确认了该失败(total_return-0.54%,Sharpe -0.89,profit_factor0.40,avg_trade_return_pct-0.069%,probabilistic_sharpe0.06;6笔交易,偏度-11.7/峰度192,即一次灾难性亏损)。根据L6以及适用于premium延续和ORB策略的相同推理,这必须在Layer 4拒绝,而非消耗回测/优化预算去重新发现一个处处为负的曲面——开发者已明确建议如此。 - 假设指定的数据原语DOESNOTEXIST,因此按字面范围界定的策略不可回测,而替代品测试的是不同机制。该假设建立在BTCUSDT.BINANCE的ORDER_BOOK_DELTAS(完整逐档深度)之上,但目录共持有约401行delta(另加1行legacy行)——在任何标的上实质上都没有book-delta历史——因此订阅订单簿增量的策略将看不到数据,应data_unavailable放弃。开发者披露了这一点,并替代为band聚合的book_depth补充数据源(+-1%..+-5%带内的累计静态深度->每分钟一个失衡值)。这是合理、透明的回退,但它将“墙”从“一个价格水平上的一个大静态订单”(假设的前提)变为“极端单边AGGREGATE静态深度”——一个实质不同且更弱的信号。因此,假设的核心微观结构前提(处于一个单价格水平墙被消耗)无法用可用数据检验,而被检验的代理也失败了(发现1)。此外book_depth止于2026-06-26(约陈旧6周),因此15天holdout窗口不含快照,策略(正确地,无回退)将在其中零交易——这是与优势无关的结构性holdout为空失败。 - 代码CORRECT,诚实堪称典范——此次失败关乎机制经济性和数据可用性,而非实现。已验证:_obi_at指针漫步至K线ts处/之前的最新静态深度快照,若陈旧(>15分钟)或缺失则返回None(不伪造premium);obi_z使用正确的增量均值/方差;突破参考水平在附加当前K线之前读取前PRIOR根K线的最高/最低(无前视);入场忠实实现墙消耗加突破(prev_z超出wall_z,衰减至其规模的<=collapse_frac,价格穿过先前极值,延续方向远离被消耗的墙);退出和风险优先的杠杆消耗仓位 sizing 正确;subscribe_order_book_deltas正确为假,因为信号来自补充book_depth而非订阅(无handler覆盖)。should_exit在重启时当_side==0在下一根K线平仓(安全)。任何代码修复都不会改变负优势结局。

验证失败(第4层——QA评审): - 在当前数据/门槛下UNVALIDATABLE——结构性样本外为空,外加1笔交易的沙盒。(1)该策略依赖的book_depth数据源止于2026-06-26,比今日15天样本外窗口早约6周,因此样本外AND近期滚动OOS窗口均不含静态深度快照;在(正确的)无回退规则下,该策略在其中产生ZERO笔交易,无论有无优势均无法通过零交易样本外门槛。开发者明确将其标记为“本次迭代的最大单一风险”——这不是开发者层面可修复的,而是数据陈旧问题。(2)管道自身的第-3层沙盒仅产生1笔交易(total_trades1,metrics_reliable=FALSE,profit_factor0.0/win_rate1.0属单笔盈利交易假象,峰度243),对比开发者线下约44/年的主张——因此沙盒也无法确认线下测得的微弱优势。即使认可期限诊断,该策略在沙盒中不可衡量、在样本外中结构性无操作,因此无论线下优势如何都无法验证。这与通道突破和尾部机制迭代-1驳回属同一可衡量性/数据可用性失败类别,但更为严重,因为底层数据源在验证窗口之前即已停止。 - 微弱优势、偏离假设的持有期限,以及仍不存在的数据原语。(a)所称平台期优势为每笔交易+0.15%,仅略高于0.15%可行性下限——开发者承认“优势微弱,并不强”。(b)持有期限从假设所述的“约1小时持有”/“短期延续”变为96根K线=8小时(边界[48,120]=4-10小时),因为开发者的重测显示优势存在于4-10小时,而非约1小时。这是合法且已披露的诊断,且hold_bars为可调参数,但机制框架已实质偏离假设的短期限前提。(c)假设中的字面ORDER_BOOK_DELTAS原语在目录中仍不存在(约401行),因此本次测试的是频带聚合的book_depth——“极端单边聚合静态深度”,是假设所描述的单一价位墙的较弱代理。 - 代码CORRECT,机制与我已验证的迭代-1版本无变化——本次失败是数据覆盖/可衡量性问题,而非实现问题。仅hold_bars(24->96)、stop_pct(1%->3%)和risk_pct(1%->1.5%)发生变化,且边界已更新使负的子-4小时区域不可达。信号构造、带15分钟陈旧守卫的指针步进式静态深度查找(无伪造数据)、无前视突破位(先读取前一根K线高低点再追加当前K线)、无回退规则以及消耗杠杆的风险优先仓位 sizing 均未改动且正确。任何代码修复都无法解决该阻塞,阻塞在于book_depth数据源的陈旧。

验证失败(第4层——QA评审): -……展开收起

验证失败(第4层——QA评审): - 被管道UNVALIDATABLE,原因是CONFIRMED基础设施缺口叠加数据陈旧——并非策略缺陷。我已在源码中直接验证了开发者的根因主张:src/agents/pipeline_processor.py::_collect_supplementary_data在第4095-4107行恰好返回11个补充键(funding_rates、liquidations、open_interest、top_account_ratio、top_position_ratio、global_account_ratio、taker_ratio、metrics、hl_funding_rates、deribit_dvol、deribit_funding),而book_depth在其中NOT。因此第-3层沙盒从未提供该策略依赖的真实book_depth数据源;机制运行于合成/空失衡之上,沙盒触发2笔交易(metrics_reliable=FALSE,PF0.0/win_rate1.0属2笔盈利交易假象),而非开发者在真实序列上测得的约65/年。更严重的是,真实book_depth数据源止于2026-06-26,因此截至今日的15天样本外不含任何快照,策略(正确地,无回退)在其中下零笔交易->触发零交易门槛。两者均非开发者层面可修复:(a)是管道维护者的一行代码,(b)需数据工程师回填。在两者落地前,无论代码如何,任何book_depth策略都无法验证,因此不得放行。 - 代码CORRECT,含迭代-3改动——本次失败是基础设施问题,而非实现问题。新的墙基准(此前peak_bars=3根K线上obi_z的有符号PEAK)无前视:_peak_hi = max(_z_hist) / _peak_lo = min(_z_hist)在当前z追加至_z_histBEFORE读取,因此墙仅按已收盘的前期K线计量;入场组合(峰值超过wall_z、坍缩至峰值的<=collapse_frac、价格突破前期break_lookback极值、远离被消耗墙的延续方向)逻辑未变且正确。带15分钟陈旧守卫的指针步进式静态深度查找、无前视突破位、无回退规则及消耗杠杆的风险优先 sizing 均与此前迭代验证一致。开发者还基于实测而非假设正确否决了更廉价的频率路线(放宽50%坍缩检验将摧毁优势)。 - 假设与数据差异的残余警示与此前迭代一致,供研究负责人参考。假设中点名的字面ORDER_BOOK_DELTAS原语在目录中仍不存在(约401行),因此本次测试的是频带聚合的book_depth——“极端单边聚合静态深度”,是假设所述单一价位墙的较弱代理——且持有期限现为10小时(迭代-2发现),对比假设所述的约1小时。两者均已披露。即使在真实序列上,单笔交易优势(净+0.23%)也仅略高于0.15%下限。

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