策略
BNB 日内VWAP回归,多空双向(单一标的 BINANCE 永续合约,15 分钟K线,在最RANGE-BOUND的深度主流币上,针对滚动VWAP的中等程度Z分数偏离进行反向操作——最纯净的回归基础、最高胜率/最低假突破率,趋势过滤,有利的RR,纯OHLCV,3参数)
结局: 已放弃
BnbVwapReversionLS15m
跨市场状态的高交易频次/可诊断性(450 笔交易,纯 OHLCV,无数据壁垒)
假设
一个针对 BNBUSDT.BINANCE(USD-M 永续合约,15 分钟K线)的LONG-SHORT单一标的日内均值回归策略——将工厂ONE经过验证的存活配方(SOL VWAP回归,之所以进入实盘阶段是因为它是单一标的、在所有市场状态下都具备高交易频次/可诊断性、在深度永续合约上能覆盖手续费、且参数少)应用于这个具有CLEANEST回归基础的深度主流币。标的选择是一个真实、可站得住脚的论点,而非单纯换个符号:BNB 是各大市值币中贝塔系数最低、最RANGE-BOUND的——由于其相当一部分流通量被交易所作为功能性用途持有,反身性较弱,因此其趋势远不如 SOL/DOGE/ETH 那样剧烈——所以相对公允价值的日内偏离,在回归时会比在更具趋势性的主流币上呈现HIGHER胜率和LOWER假突破。这使它成为管线中已有的高振幅 DOGE/XRP 回归策略的天然互补:后者最大化单笔交易AMPLITUDE,前者最大化回归RELIABILITY。它是专门为对抗历史结果中每一个主要杀手而设计的:OVERFIT(刚刚通过 best-of-N IS/OOS 崩溃吞噬了三个周度组合的墓地)在这里从结构上是不可能发生的——单一深度标的、单一机制、三个稳健参数、零截面选择空间;SINGLE-REGIME 伪影(曾摧毁动量择时器——其全部收益都来自 2021)在这里不会出现,因为该策略每年都会触发成百上千次,使其指标具备可诊断性;FEE_EDGE 通过仅对中等以上幅度的偏离(z>1.5)进行反向操作来解决,此幅度足以覆盖 0.10% 的往返成本,并通过远锚点/近止损的几何结构获得有利的实际盈亏比(修复了曾导致交易流策略覆灭的RR倒挂问题);DATA(曾在 32 个可用天数时摧毁 OI 组合)在这里不成问题——纯 OHLCV,是存活表现最好的标签。它填补了在新鲜深度标的上代表性不足的 long_short(14.7%)和短周期(6.1%)类别的空缺。
DEVELOPER RECOMMENDATION:ABANDON。我同意 QA 分析师的判断。这是纯OHLCV VWAP/价格回归机制类别(SOL-ORB、ETH-pivot、XRP-climax、DOGE、BNB)连续第 6 次失败,全部都收敛于约 36% 的胜率特征以及手续费/优势层面的覆灭;L7 记录在 213 次运行中的 0% 存活率。BNB 区间震荡假设已被实证证伪——实际win_rate 0.359 并不优于 DOGE(0.376)或 XRP(0.36)——因此标的选择无法挽救该机制。核心失败在于负的单笔期望值(avg_trade_return_pct −0.0266%,按名义本金计),这是MECHANISM层面的属性,NO代码层面的修复方式;分析师也明确指出仓位规模/爆仓方面的残留问题“不会改变裁决结果”。由于流程要求再进行一次迭代,我做了最小限度的改动,修复了本次失败中ONLY可通过代码修复的那一半——即 −100% LIQUIDATION——但并未假装修复了优势本身:加入了硬性权益止损开关(当权益低于 0.60×base_capital 时平仓并停止,将回撤上限控制在约 40%),路径无关的封顶仓位规模(解决 71% avg_position_pct 问题),以及大幅提高选择性(entry_z 2.5,trend_er_max 0.35,1 小时冷却期)以减少手续费损耗。这些改动保留了此前每一层的通过状态(导入未变,信号/几何结构逻辑未动,第 -2 次迭代的 O(window) 性能修复保留),并能防止灾难性的爆仓,但它们NOT产生正向优势——期望值依然为负。正确的结果应是放弃该机制类别,并回到研究负责人处寻求一个真正不同的优势来源(订单流/OI/资金费率/截面结构),而不是在另一个标的上再做第 7 个 VWAP 回归变体。我在此透明地标注这一点,而不是提交一个表面上的“修复”,假装挽救了该策略。
fee_edge/no_edge 净亏损,且账户遭到爆仓——不具备优化价值。BNB VWAP 反向回归策略在完整的 412 天/230 千根K线样本上呈现负期望值(profit_factor 0.53,每笔交易期望值 -$234.95,avg_trade_return_pct -0.116% NEGATIVE,win_rate 0.331),在每个市场状态和每一年都出现亏损;夏普比率为 -2.22,CI [-7.25, -1.32] 完全低于零。尽管开发者添加了权益止损开关,账户仍在 2021-04-21 上被LIQUIDATED(-100% 收益率,100% 回撤)。这是纯OHLCV单一标的 VWAP/价格反向回归策略类别(L55 零存活,0/213 标签 L7)的第 6 次失败,开发者自己在第 -3 次迭代的说明中也宣告区间震荡假设已被证伪,并建议放弃。对 entry_z/stop_atr/trend_er_max 进行任何参数调优都无法将负的单笔优势转为正值。不值得投入 2 小时的优化。
实现
针对 BNBUSDT.BINANCE USD-M 永续合约的多空日内 VWAP Z分数回归策略,15 分钟K线,纯 OHLCV(机制未变)。第 -3 次迭代针对 Layer 4 层标记出的两个可通过代码修复的缺陷进行加固:(1)一个 HARD EQUITY KILL-SWITCH——如果账户权益跌破 equity_floor_frac(0.60)× base_capital,则平仓并永久停止开仓,将最大回撤限制在约 40%,使观察到的 −100% 爆仓成为不可能;(2)大幅提高选择性以削减9547交易频次/18%佣金损耗——entry_z 从 1.5→2.5 提高,trend_er_max 从 0.5→0.35 收紧,并新增 1 小时的出场后冷却期;以及路径无关的封顶仓位规模 min(base_capital, equity)×position_frac,用以修复偏高的 71% avg_position_pct。信号、市场状态过滤和有利的RR几何结构均未改变。三个可调参数:entry_z、stop_atr、trend_er_max。
验证结果
CLEAN RESTART 2026-09-04 —本次运行的裁决历史和学习记录已被删除,并从验证阶段重新开始。此前的放弃源于流程本身,而非市场:Layer-2 层的测试框架错误绑定了 @staticmethod 辅助函数(已修复),QA 在未经优化的冒烟测试上给出了最终性能裁决(已移除——QA 现在仅判定正确性),沙箱超时则源于回测槽位争用(已修复)。假设与策略代码均未改变。请根据代码本身的优劣进行验证;性能将在之后由完整回测和优化器决定。
如果进一步迭代,将目标和止损都用z/sd单位表示,使得回报=entry_z−exit_z与风险=stop_z−entry_z可以直接比较。
退出几何结构使用了不兼容的单位——TARGET 使用 z 空间(|z|<=exit_z),STOP 使用 ATR 价格空间(stop_atr×ATR)。这正是同系列 DOGE 迭代版本此前通过将两者统一为 z/sd 单位所修复的RR倒挂缺陷;而在此处该修复被撤销了。该假设所设想的远目标/近止损有利RR结构在设计上并未得到保证,这很可能是造成盈利被封顶、亏损却持续扩大这一特征的原因之一。这并非硬性缺陷(退出逻辑本身有效,且损失是有界的)。
应从 on_start 时的实际初始账户权益推导 base_capital,而不是使用一个常数。
止损开关和仓位规模均依赖于一个硬编码的 base_capital=100000。如果账户的起始权益不同,该下限将在错误的绝对水平上触发,且仓位规模上限也会因此比例失调。
回测评审
- 夏普
- -2.22
- 总收益率
- -100.00%
- 最大回撤
- 100.00%
- 总交易数
- 450
- 胜率
- 33.1%
- 盈利因子
- 0.53
跨市场状态的高交易频次/可诊断性(450 笔交易,纯 OHLCV,无数据壁垒)
账户LIQUIDATED:total_return -100%,max_drawdown 100%,在 2021-04-21 上遭到爆仓——新增的权益止损开关未能阻止破产
负期望值机制:profit_factor 0.53,每笔交易期望值 -$234.95,win_rate 0.331,多头(0.379)和空头(0.294)两端均亏损
avg_trade_return_pct -0.116%(NEGATIVE,低于 0.15% 币安 USD-M 手续费下限,L22)——单笔交易优势的符号本身就是错误的,而不仅仅是对手续费敏感
夏普比率为 -2.22,自助法CI [-7.25, -1.32] 完全低于零;索提诺比率 -1.87,information_ratio -2.93,PSR 0.0
在每种市场状态(平静期 -26.6%、正常期 -100%、压力期 -32.1%)和每一年(2020 -60%,2021 -114%)都出现亏损
区间震荡 BNB 回归假设已被实证证伪——纯OHLCV VWAP/价格回归类别(L55 单一标的反向操作,0 存活数)第 6 次失败;开发者自己在第 -3 次迭代的说明中建议ABANDON
迭代历史
验证失败(Layer 3 层 — 沙箱回测):冒烟测试超过了 300 秒的墙钟时间限制。这几乎总是意味着存在随历史数据量增长的逐K线运算——例如每根K线都重新扫描完整的资金费率/补充数据序列,或在 calculate_signal()/on_bar() 内部重建列表并调用 min()/sorted()。应在 __init__ 中预先计算好排序后的时间戳数组 ONCE 并使用 bisect,或使用以时间戳为键的缓存查找,使每根K线的开销为 O(log n) 而非 O(n)。
验证失败(Layer 4 层 — QA 审查): - FEE/EDGE FAILURE + LIQUIDATION 在一次现已可运行、可信的回测中 -> ABANDON。在修复 Layer-3 层的超时问题后,全历史运行(2335 data_days,9547 笔交易,metrics_reliable=true)结果明显为负且LIQUIDATED:total_return -100.0,2020-06-25 爆仓,夏普比率 -1.57(CI [-2.29,-1.20] 全部为负),PF 0.547,win_rate 0.359,avg_trade_return_pct -0.0266%,佣金占毛额的 18.04%($58.8k)。在约 1:1 的实际RR下,36% 的胜率(avg_win $95 ~= avg_loss $97)意味着负期望值,而9547交易频率的手续费拖累叠加导致爆仓。 - BNB-SPECIFIC THESIS IS FALSIFIED,该机制类别第 6 次失败。其差异化理由是 BNB 的区间震荡/低贝塔特性会带来HIGHER胜率、更低的假突破。实际win_rate 0.359 —— 并不优于 DOGE(0.376)或 XRP(0.36)。~36% 是纯OHLCV VWAP/价格回归类别在不同标的上的共同特征:SOL-ORB、ETH-pivot、XRP-climax、DOGE,如今再加上 BNB,都ALL因手续费/优势不足或RR倒挂而失败(L7 0% 在 213 次运行中的存活率)。振幅筛选(DOGE/XRP)与可靠性筛选(BNB)均收敛于约 36% 的胜率并最终爆仓——标的选择无法挽救该机制。 - RESIDUAL(不改变裁决结果):以 avg_position_pct 71% 爆仓(total_return -100%)(相较预期的 0.50 偏高;未出现叠加加仓,但高于 DOGE 的 15%——可能是标记价格上涨加上回撤平均所致)。以约 50-71% 的仓位规模发生爆仓,表明 8 小时的时间止损让回归交易被拖至巨额亏损(largest_loss -$7907,max_consecutive_losses 20),且没有组合层面的权益止损。 - CREDIT(无缺陷):第 -2 次迭代的超时修复是正确且有效的——bars[-need:] 的 O(window) 实现产生结果相同的窗口,并能在 2335 天内完成运行。信号/机制/几何结构逻辑在机制上是正确的。此次拒绝是在机制/优势层面,而非实现层面。
验证失败(Layer 4 层 — QA 审查): - FEE/EDGE FAILURE 依然存在 -> ABANDON 该机制类别(与开发者的明确建议一致)。第 -3 次迭代的选择性加固并未NOT起到帮助:win_rate FELL 到 0.333(相较第 -2 次迭代的 0.359),PF 0.523,avg_trade_return_pct -0.116%(每笔交易 WORSE),total_return -100%(2021-04-23 爆仓),佣金占毛额的 16.55%。这是纯OHLCV VWAP/价格回归类别(SOL/ETH/XRP/DOGE/BNB,多次迭代)连续第 6 次以上失败,且呈现相同的约 33-38% 胜率特征;L7 = 在 213 次运行中的 0% 存活率。负的单笔期望值属于机制层面的问题,没有代码层面的修复方式。 - THE CLAIMED LIQUIDATION FIX DOES NOT HOLD。止损开关(当权益 < 0.60*base_capital 时 _killed=True)被声称能使 -100% 爆仓“不可能”发生——但沙箱运行仍然STILL发生爆仓(total_return -100%,2021-04-23),avg_position_pct 132%。该止损开关是一种 BAR-BOUNDARY 检查(calculate_signal / 下一根K线should_exit),因此无法防止INTRA-BAR式的瞬间爆仓:一根针对约 50% 仓位的剧烈 2021 BNB 15 分钟K线足以在下一根K线检查触发前,就引发引擎的保证金强平。K线收盘时的权益下限和K线收盘时的 ATR 止损无法限制对抗跳空的损失;只有由引擎强制执行的K线内止损单才能做到。逻辑代码本身正确,但在架构上仍然不足。 - CREDIT(无缺陷):代码在机制上是正确的,开发者也保持了透明——止损开关、更高的选择性(entry_z 2.5,trend_er_max 0.35,1 小时冷却期)以及封顶仓位规模均按描述实现,且第 -2 次迭代的 O(window) 性能修复仍然保留。开发者明确标注了放弃建议,而非提交一个表面修复。此次拒绝是在机制/优势层面。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。