跳至正文
全部策略

策略

由聪明钱持仓确认的 BTC 永续合约趋势策略,多空(单一品种 BTCUSDT.BINANCE USD-M——仅在 TOP-TRADER 多空账户比率倾向于 SAME 方向时跟随中期价格趋势 ONLY;聪明钱背离或波动率飙升时平仓;低杠杆、风险明确、3 个参数)

结局: 已放弃

BtcTrendSmartMoneyConfirmedLS

结局总结

该策略试图通过增加一个真正新的信息源来强化工厂中唯一存活的原型——单一标的BTC动量、做多做空、跟踪管理:即Binance顶级交易者多空账户比,仅在知情资金同向倾斜时顺势持有趋势,在背离时平仓。其工程实现很谨慎,包括可感知NaN的数据修复以提升交易次数,以及完整的防御性风险栈(1.5x上限、ATR止损、波动率熔断器),将回撤控制在17.1%。但回测优势过于微弱而不具实际意义:Sharpe为0.357且置信区间横跨零线,盈利因子为1.24,仅有127笔交易,且信号在2024-2025中严重衰减。分析师在回测评审阶段便放弃了它,而没有花费数小时进行优化,理由是这类OHLCV+持仓确认的延续类策略存活率为零,且Sharpe为-0.36的候选策略会在噪声上虚增,并会像同一时段更强的同类策略一样无法通过deflated-Sharpe和样本外关卡。

假设

一种在 BTCUSDT.BINANCE USD-M 上运行的 LONG-SHORT、SINGLE-INSTRUMENT、SINGLE-VENUE 趋势策略,沿用已证明能通过该工厂验证的 ONLY 原型(单一标的 BTC 动量、做多做空、移动止损管理),但遵守 L38,加入一种 GENUINELY NEW 信息来源,而不是再加一道价格过滤条件或更换标的:TOP-TRADER 多空 ACCOUNT 比率(Binance 对最大/信息最充分账户持仓方向的统计),这是我所有待验证假设都未使用的补充序列(那些假设使用 OI、主动成交流、价格结构和资金费率,结果惨败)。思路是:只有当 INFORMED 资金也倾向于同一方向时,中期价格趋势才值得信任。当趋势向上且已确认,同时顶级交易者多空比处于高位/上升(聪明资金净多并继续加仓)时做多 ONLY;当趋势向下且已确认,同时顶级交易者多空比下降(聪明资金净空)时做空 ONLY;当价格趋势与聪明资金持仓方向 DIVERGE 时 FLATTEN(此时行情由散户推动,缺乏支持)。这不同于我的 ETH 价格-OI 象限(它看的是总未平仓量,而非 WHICH 群体的持仓方向),也不同于已失效的拥挤度-FADES(这个 FOLLOWS 知情资金,不会逆着散户群体交易),还不同于已失效的“知情持仓篮子”(那是只做多、低换手、无交易的 BASKET;这是单一标的、做多做空、按趋势择时且确实会交易的策略)。关键是,针对刚刚扼杀我永续合约想法的两个问题做了专门设计:杠杆上限为 1.5x,每笔交易设有硬性止损 AND 和波动率熔断机制,在崩盘式波动飙升时清仓,因此不可能发生 77%/100% 回撤爆仓(DOGE/SOL);策略基于 12 小时/日线 K 线 LOW-FREQUENCY,持有多日趋势,因此约 0.10% USD-M 的往返成本无关紧要(没有 fee_edge 脆弱性)。单一标的、单一场所、单一廉价序列、纯增量计算——不涉及在验证中会失败的期权/跨场所/多腿机制。采用 3 个参数,以抵御过拟合。

QA评审者是正确的,而我的频率验证是错误的;我对约40x的误差做了根因定位,而非猜测。有两个相互叠加的错误。(1)我将BARS计为入场,其中 |signal| >= 0.70,但交叉以连续簇的形式出现,且仅在空仓状态下才会入场,因此约153个交叉Bar大约相当于8个episode,而非153笔交易。(2)更严重的是,我的dry-run用RECURSIVE glob读取metrics parquet(709个文件);而引擎在pipeline_processor._collect_supplementary_data中的补充数据加载器使用`search_dir.glob('*.parquet')`以NON递归方式glob,因此只能看到304个扁平文件,而405个位于`_attic`下的文件对其不可见。在引擎实际拿到的数据流上,有40.5%的12H Bar在Bar窗口内没有定位点。我将dry-run重建为忠实的空仓/持仓状态机,读取ONLY引擎可见的文件,它复现了sandbox结果:5笔交易,在最近365天内,而实际观察到4笔。经该验证模型确认后,我才据此选择修复方案。主要缺陷是数据处理bug,而非信号本身:旧的守卫`not……展开收起

QA评审者是正确的,而我的频率验证是错误的;我对约40x的误差做了根因定位,而非猜测。有两个相互叠加的错误。(1)我将BARS计为入场,其中 |signal| >= 0.70,但交叉以连续簇的形式出现,且仅在空仓状态下才会入场,因此约153个交叉Bar大约相当于8个episode,而非153笔交易。(2)更严重的是,我的dry-run用RECURSIVE glob读取metrics parquet(709个文件);而引擎在pipeline_processor._collect_supplementary_data中的补充数据加载器使用`search_dir.glob('*.parquet')`以NON递归方式glob,因此只能看到304个扁平文件,而405个位于`_attic`下的文件对其不可见。在引擎实际拿到的数据流上,有40.5%的12H Bar在Bar窗口内没有定位点。我将dry-run重建为忠实的空仓/持仓状态机,读取ONLY引擎可见的文件,它复现了sandbox结果:5笔交易,在最近365天内,而实际观察到4笔。经该验证模型确认后,我才据此选择修复方案。主要缺陷是数据处理bug,而非信号本身:旧的守卫`not np.all(np.isfinite(window))`只要在40根Bar的定位窗口内出现单个缺口就将信号置空,在40%缺口率下,这杀死了52%的ALL根Bar。将其替换为基于有限观测的NaN-aware统计(要求最小样本数为8),并将smart_max_stale_hours从72提高到168,可将死Bar降至28%,并将验证后的计数从69笔提升至130笔,覆盖从2020-09至2026-07的全历史(22.7/年,sandbox年内15笔,每个walk-forward窗口约43笔),清除了约100笔交易的下限和thin-window质疑。关键是,平均单笔收益从RISES升至+0.597%(4x 0.15%期货手续费下限),且三个搜索参数中我只改了NONE——trend_lb 20、pos_lb 40、entry_thresh 0.70与之前完全一致,因此这是数据质量修复,而非重调参,且所评分的数量完全相同(在慢变的定位状态变量上桥接采集缺口,无前视:_smart_at仍从不读取晚于该Bar的点)。我明确拒绝了那些以摧毁edge为代价换取交易笔数的替代方案:12H配减半lookback可得到145笔交易,但单笔仅+0.181%;4H可得到214笔交易,单笔为+0.139%,低于手续费下限,直接掉进fee_edge坟场。对于第二个发现,我以防御性且最小化的方式关闭了intrabar-overshoot路径:position_size现在记录绝对止损价,should_exit先用该Bar的low(多头)/ high(空头)对其检验,再落到基于收盘的检验。我故意NOT转换为OCO bracket,而我在ADA兄弟策略上是转换了的,因为基类的orders_open守卫会在保护性子单休息时跳过_process_primary,这会禁用smart-money背离展平——而这正是本假设实际要检验的机制。给分析师的两个坦诚caveat。第一,在约23笔/年下,15天holdout的期望仍不足1笔;这对任何12H趋势策略都是结构性的,任何参数选择都无法修复,除非把单笔收益压到手续费下限之下,因此应带着这一背景解读holdout门槛。第二,此前披露的替代仍然成立:信号是按规模加权的top_trader_long_short_ratio,而非按账户数版本,因为账户数序列53-100%为NaN,覆盖每年BTCUSDT。

动量/延续优势很薄,无法通过优化后的稳健性门槛。夏普为 0.357,其 95% CI [-0.31, 0.96] 已跨越零值;profit_factor 仅为 1.24(勉强高于有意义的门槛);information_ratio 为 -0.64;在 6.5 年里也只有 127 笔交易。不同市场状态下的表现不一致(2020 -6.0%、2024 +0.06%、2025 -14.2%,滚动夏普为 -5)——最近市场状态中,聪明钱确认信号已经衰减,这正是导致样本外表现为负的模式。avg_trade_return_pct 0.88% 高于费用底线,因此问题并非费用脆弱性,而是风险调整后的优势无法与零区分。这属于 OHLCV+持仓确认的动量/延续类别(L9/L41,存活策略为零);优化器从约 225 次试验中择优挑选一个 Sharpe-0.36 信号,会把噪声当成优势而高估,而现实的 OOS 上限达不到 0.5 最低要求。本次迭代中两个强得多的同类策略(经波动率标准化的动量夏普 0.86 PF 1.51,集成投票夏普 0.79 PF 1.19)刚在 ANALYZING 中因 DSR≈0 / PBO>0.5 / 样本外为负而失败;一个以夏普 0.36 / PF 1.24 入场的候选策略没有现实可行的成功路径。应当放弃,而不是再花 2 小时走向几乎注定的过拟合后放弃。

实现

在 BTCUSDT.BINANCE USD-M 的 12 小时 K 线上运行的多空中期趋势策略,仅在 Binance 顶级交易者(聪明钱)持仓倾向与价格趋势方向一致时才跟随价格趋势。信号保持不变:trend_z(经波动率标准化的 20 根 K 线动量)与 smart_z(顶级交易者多空比在 40 根 K 线上的 z 分数)融合为连续一致性得分 0.25*(trend_z+smart_z)*(1+tanh(trend_z*smart_z));方向一致时,该得分体现二者的平均强度,出现背离时则平滑衰减至零。入场使用单一阈值(|signal| >= 0.70);退出条件为波动率断路器、现在以 K 线内极值进行测试的 ATR 止损、在 1.5R 时启动的移动止盈回吐退出,以及聪明钱背离平仓。本次迭代通过使用能处理 NaN 的统计方法计算持仓窗口得分,并将过时的持仓观测最多延续 7 天(而不是 3),修复了交易次数缺陷。

验证结果

验证失败(第4层——QA评审): - STRUCTURALLY UNMEASURABLE TRADE COUNT,且开发者自身的频率验证是错误的。论证声称在365天沙盒窗口内试运行了“68次多头和85次空头阈值穿越”(153次入场),但ACTUAL沙盒在329天内仅产生了4笔交易,且引擎设置metrics_reliable=false。试运行将“|signal| >= 0.70的K线”与入场事件混为一谈;在真实回测中,仅在空仓时才会入场,且汇合门控——signal = 0.25*(trend_z + smart_z)*(1 + tanh(trend_z*smart_z)) >= 0.70要求BOTH强波动率归一化趋势AND高度一致的聪明钱z-score同时成立,这比穿越计数所暗示的要严格得多。四笔交易无法区分优势与噪声(n=4时win_rate 0.25、profit_factor 0.33、Sharpe -0.56与CI[-2.11,……展开收起

验证失败(第4层——QA评审): - STRUCTURALLY UNMEASURABLE TRADE COUNT,且开发者自身的频率验证是错误的。论证声称在365天沙盒窗口内试运行了“68次多头和85次空头阈值穿越”(153次入场),但ACTUAL沙盒在329天内仅产生了4笔交易,且引擎设置metrics_reliable=false。试运行将“|signal| >= 0.70的K线”与入场事件混为一谈;在真实回测中,仅在空仓时才会入场,且汇合门控——signal = 0.25*(trend_z + smart_z)*(1 + tanh(trend_z*smart_z)) >= 0.70要求BOTH强波动率归一化趋势AND高度一致的聪明钱z-score同时成立,这比穿越计数所暗示的要严格得多。四笔交易无法区分优势与噪声(n=4时win_rate 0.25、profit_factor 0.33、Sharpe -0.56与CI[-2.11, 1.12]均无意义),而按约4/年外推至完整多年历史仅约24笔交易——低于约100笔交易的下限,无法填充3窗口滚动向前(约8笔交易/窗口)或15天样本外(约0笔交易)。这与BTC区间同类策略(1笔交易)和ETH象限日线版本(约9)被拒时所用的可测性标准相同,而此处问题更严重,因为作为推进依据的频率估计偏差约40x。 - 潜在的基于收盘价的止损风险(此处受控,但与导致ADA/XRP同类策略爆仓的家族相同)。should_exit在4h/12h CLOSE上评估硬止损(get_position_pnl_pct位于self._last_close,pnl_pp <= -stop_pp),而非K线的盘中极值,因此剧烈波动的K线可能穿过止损而仅在下一根收盘时离场。与ADA案例不同,此次在沙盒中NOT爆仓(max_drawdown 3.6%,最大单笔亏损约2.7%,avg_position 31%),因为杠杆仅为1.5x且波动率熔断器会拉平崩盘K线——风险设计确实更为保守。但盘中穿透路径依然存在,在以规模交易之前应防御性地关闭。 - 与假设的数据变体偏离(开发者已标记,可接受但值得记录)。假设指明的是顶级交易者多空ACCOUNT比率,但该确切序列在BTCUSDT的2020-2026范围内有53-100%为NaN,因此代码使用按持仓加权的top_trader_long_short_ratio(同一顶级交易者群体,历史完整)作为主干,仅在指标序列完全缺失时才回退到top_account_ratio。这是在同一知情群体家族内的合理、诚实披露的替换,并非机制替换,但分析师应注意该信号是按规模加权而非按账户数量加权的持仓。

在 backtest_review,应基于完整的 2020-2026 窗口评估;确认 avg_trade_return_pct 是否确实达到所称的约 +0.6%,且在不同市场状态下 profit_factor > 1.0。如果完整窗口的净收益也为负,且尾部风险受到控制,就放弃资金流/持仓确认动量机制,而不是重新调参。

可测量性障碍已解决,但沙盒结果未显示样本内优势——这是留给 backtest_review 的优势判断问题。重新诊断和 NaN 感知修复将沙盒交易数从 4(未通过上次评审)提高至 15,metrics_reliable 现已为真;经验证的全历史交易数为 130(约每年 22.7 笔,每个走步前推窗口约 43 笔),超过约 100 笔的门槛。HOWEVER,沙盒净亏损幅度较小:total_return -0.75%,profit_factor 0.93,win_rate 0.33,avg_trade_return_pct -0.094%(略为负值),夏普为 -0.07。盈亏比有利(avg_win $2050 对比 avg_loss $1101,约 1.86:1),但 33% 胜率使该窗口的期望收益略为负值;开发者的全历史模型给出的每笔交易收益为 +0.597%(4x 费用底线),因此单个沙盒年份不能作为定论。这不是 QA 正确性/风险缺陷——这是分析师对完整多年回测的判断。

对于此候选策略,赋予走步前推 OOS(每个窗口约 43 笔交易)远高于 15 天样本外区间的权重;不要仅因样本外区间为空或退化就放弃,也不要仅凭样本外区间的 1 笔交易就予以晋级。

交易数量超过门槛,但样本外区间在结构上样本稀薄。以 12 小时 K 线计算,每年约 22.7 笔交易时,最后 15 天样本外区间预计不到 1 笔交易——开发者如实指出了这一点;这也是任何 12 小时趋势策略固有的问题(更快频率的替代方案虽能增加样本外交易数,却会使单笔收益低于费用底线)。因此,样本外门槛检验将几乎没有交易、统计效力也很低;解读通过或失败时都应考虑这一点,而不能视作定论。

在分析时,以相同的趋势跟踪WITHOUT持仓门控为基准进行对比,以确认聪明钱项物有所值,并记录此处的“聪明钱”指按规模加权的顶级交易者持仓。

机制类别警示以及一项已披露的数据变体替换,均供分析师参考。(a) 这属于动量/趋势延续叠加持仓确认——一个被高度挖掘的家族,尽管它按照L38正确地加入了真正正交的信息源(顶级交易者持仓),并映射了唯一存活的原型(回撤上限的方向性策略+跟踪止损)。(b) 该信号使用按规模加权的top_trader_long_short_ratio,而非假设中所指明的按账户数量版本,因为按账户数量的序列每年BTCUSDT中有53-100%为NaN——这是在同一知情群体内的合理、此前已披露的替换,并非机制替换。两者均非代码缺陷。

回测评审

夏普
0.36
总收益率
30.97%
最大回撤
17.10%
总交易数
127
胜率
41.7%
盈利因子
1.24

真正正交、符合 L38 规定的信息来源(顶级交易者多空账户比率)——并非价格克隆或更换交易品种

风险构建稳健:1.5x 上限、硬性 ATR 止损、波动率断路器——max_drawdown 可控的 17.1%

avg_trade_return_pct 0.88%高于手续费下限;并非手续费脆弱

正收益阶段 2021-2023,且 alpha 为正(+0.026)

Sharpe 0.357,CI [-0.31, 0.96] 跨越零点——优化前无法与无技能表现区分

profit_factor 1.24 仅略高于 1.2 有意义的门槛;information_ratio -0.64

6.5 年内仅有 127 笔交易,不足以可靠地拟合参数

不同市场状态下表现不一致:2020、2024(约 0),尤其是 2025(-14.2%,滚动夏普 -5)显示信号正在衰减

OHLCV+持仓确认的动量/延续类别(L9/L41,存活策略为零);择优从 -225 中选择会将噪声当作信号抬高夏普,并几乎必然在 ANALYZING 中无法通过去膨胀夏普/样本外检验(更强的同类策略刚刚失败)

结局总结

真正正交的信息来源和干净、回撤受限的策略构造仍不足以挽救一个动量/延续优势:它以夏普 0.36 / PF 1.24 进入评审,其 CI 跨越零值,且近期市场状态下信号衰减。它没有现实可行的路径通过稳健性考验,因此不值得继续优化。

它在BACKTEST_REVIEW关卡被放弃:风险调整后的优势(Sharpe为0.357,CI横跨零线,PF仅略高于1.2)与无技能无法区分,且近期区间的衰减正是会导致负向样本外结果的典型模式。分析师判断,在如此薄弱的信号上进行best-of-225优化只会在噪声上虚增Sharpe,并几乎肯定会在ANALYZING中无法通过deflated-Sharpe/PBO/样本外检验——正如两个更强的同类策略刚刚失败的那样——因此它从未进入优化阶段。

一种在 BTCUSDT.BINANCE USD-M 永续合约上的多空、单一品种、单一交易场所趋势策略:仅在价格中期趋势与 Binance 顶级交易者多空账户比率(一个正交的“聪明钱”持仓序列)方向一致时跟随趋势;若价格与持仓出现背离或波动率飙升,则平仓;杠杆上限为 1.5x,设有硬性 ATR 止损和波动率断路器。

回测为正但优势很薄:总收益 +31%,盈利因子 1.24,avg_trade_return_pct 0.88%(高于费用底线),最大回撤控制在 17.1%;在 6.5 年内共 127 笔交易。但夏普仅为 0.357,其 CI [-0.31, 0.96] 跨越零值,信息比率为 -0.64,且不同市场状态下表现不一致——在 2021-2023 为正,但在 2025 的 2020/2024 和 -14.2% 基本持平(滚动夏普降至 -5),表明信号正在衰减。

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