策略
ETH USD-M 散户群体持仓逆向反转,多空(单一标的 BINANCE 永续合约,1 小时 K 线 + 多年期 GLOBAL 多空 ACCOUNT 比率指标数据源,在持仓极端时反向交易散户群体,3 个参数)
结局: 已放弃
EthRetailCrowdPositioningFadeLS
结局总结
EthRetailCrowdPositioningFadeLS在ETH上复活了单标的人群反转思路,利用来自Vision metrics文件的多年期币安全局账户多空比率来反向操作散户持仓极端,经过专门设计以同时避开导致清算级联姊妹策略失败的30天API墙,以及BtcSmartMoneyCrowd姊妹策略16笔交易的交易枯竭。它在这些方面取得成功——555笔交易、真实的非价格数据源,以及+542%的名义回报且多数年份为正,表明存在真实的人群反转信号——但该信号被波动淹没(夏普比率0.08,PF1.10),且具有致命的冲击脆弱性:31%的毛盈亏被市场冲击消耗,容量仅$1.04M,以117%名义价值过度杠杆运行。评审者因其没有可部署的风险调整后优势而放弃,指出该优势仅存在于玩具规模,且属于已死亡的人群反转家族,因此优化虽可降低换手,但永远无法从Sharpe-0.08、$1M容量的基础上制造出可行、可扩展的优势。
假设
一种LONG-SHORT、单一标的、加密原生POSITIONING策略,交易ETHUSDT.BINANCE(USD-M永续合约,1小时K线),由已部署策略均未使用的真实NON-PRICE数据依赖驱动:币安GLOBAL多空ACCOUNT比率(净多账户数与净空账户数之比——RETAIL散户持仓的代理指标)。CRITICAL数据说明,以避开导致清算级联姊妹策略失败的30天API墙:该比率来源于币安VISION的'metrics'文件(futures/um每日指标,count_long_short_ratio列),拥有回溯至约2020的MULTI-YEAR历史数据,粒度为5分钟——NOT30天限制的期货数据API端点。可交易洞见是有充分记录的加密散户反向操作:当散户账户群体极度ONE-SIDED时,他们在极端情况下系统性犯错,仓位会被挤出。明确NOT纯OHLCV(L30——账户比率是独立的持仓序列),NOT资金费率(L13/L28——账户持仓分布不同于资金现金流),NOTtaker-VOLUME流(与SolTakerFlow姊妹策略不同的数据源——这是WHO如何持仓,而非谁在吃单),NOT清算(L3),NOT一篮子(L12),NOT期权(L29),NOTHL(L11)。保持为3个参数。采用单一滚动分位数门限(而非将BtcSmartMoneyCrowd姊妹策略饿死至16笔交易的双重门限),因此在ETH历史数据上目标为120-250笔交易,超过可测性下限。填补代表性不足的多空桶(14.5% vs push)。
ITERATION 2——修复报告的Layer-3 'No trades produced'的最小改动。ROOT CAUSE(对照src/data/collectors/binance_vision_collector.py:1069-1078诊断):Vision metrics解析器将CSV列6(count_long_short_ratio,即GLOBAL账户多空比率)映射到OUTPUT字典键'long_short_ratio'——NOT'count_long_short_ratio'。我的_parse_ratio查找的是'count_long_short_ratio'/'longShortRatio',从未匹配,因此ZERO个比率点被加载,self._r_ts.size保持0,calculate_signal在每根K线都提前返回,should_enter从未触发(与诊断完全一致:8681根K线上0方向)。FIX:_parse_ratio现在优先读取正确的键'long_short_ratio'(保留旧名称作为后备),因此全局账户比率序列得以加载,滚动分位数入场门限可以触发。这是一行字段名修正;导入、结构、信号逻辑、分位数门限、退出和仓位管理均未改变,因此通过的Layer-1/2检查得以保留。策略其他方面未变:仍是基于多年期metrics全局账户比率的单标的散户群体持仓反转策略(NOT30天API),单门限设计,目标约120-250笔交易。taker-VOLUME姊妹策略之所以能工作,只是因为其后备键'taker_long_short_vol_ratio'恰好匹配列7的输出键;本策略需要正确的全局账户键。VENUE:USD-M期货(多空+账户比率指标仅存在于永续合约)。SIZING/LEVERAGE:杠杆2.0接入position_size(equity*position_frac*leverage/price),position_frac0.5 -> 约1x名义价值,4%止损限制单笔交易风险(单标的,无复利爆仓)。若账户比率数据源缺失,分位数无法形成,策略将直接不交易——无纯价格后备(优势在于持仓反转)。ETHUSDT是具有深厚历史、流动性好的USD-M永续合约,拥有多年期metrics数据,因此数据可用。
没有可部署的风险调整后优势。尽管名义total_return为+542%,夏普比率为0.08,CI[-0.58, 0.71]横跨零线(PSR0.60),profit_factor为1.10——回报呈块状、高波动(峰度64)且微弱。关键是,该策略具有致命的冲击脆弱性:impact_cost_pct为30.98%(市场冲击消耗约31%的毛盈亏),capacity_usd仅$1.04M,意味着优势仅存在于玩具规模,在任何可部署规模下都会转负——无论如何调参都是硬性晋级阻碍。它对单标的反转策略而言也过度杠杆(avg_position_pct116.9%,max_drawdown46%点位但CI高98.3%)。全局账户比率持仓反转可能带有真实的方向性人群反转信号(多数年份为正,2022+197%),但它被波动淹没、被冲击消耗,仅可在约$1M规模部署,且属于已死亡的同名单标的人群反转家族(BtcSmartMoneyCrowd姊妹策略16笔交易,SolTakerFlow姊妹策略被清算)。将pct_window/entry_pct/hold_bars向更低换手优化或许能降低冲击,但无法从Sharpe-0.08的基础上创造风险调整后优势,也无法将$1M容量的策略提升至可部署规模;225次试验的优化器将从PF-1.10基础中选出噪声,无法通过紧缩夏普检验。不值得花费2小时进行优化。
实现
在ETHUSDT.BINANCE(USD-M永续合约,1小时K线)上的单标的多空逆向持仓反转策略。它从多年期'metrics' Vision数据源读取币安GLOBAL多空ACCOUNT比率(散户群体持仓),取每个1小时K线时点的值,并计算其在pct_window根K线上的滚动分位数。当账户比率处于高分位(人群拥挤LONG)时,它FADES并带有SHORT;在低分位(人群拥挤SHORT)时做LONG。在持仓正常化(|percentile-0.5| <= exit_band)、相反的人群极端、止盈、止损或时间止损时退出。单一滚动分位数门限。3个核心参数:pct_window、entry_pct、hold_bars。
验证结果
验证失败(Layer 3——沙盒回测):未生成交易 使用的 K 线类型:ETHUSDT.BINANCE-1-HOUR-LAST-EXTERNAL,已处理 K 线数:8730 诊断:should_enter() 在 8681 根已评估 K 线上返回了 0 次方向 -> 你的 ENTRY CONDITION 从未触发。请放宽入场逻辑/阈值。 确保策略能够使用给定数据和参数产生交易。
分析师应确认完整多年区间及多空两个方向类别中的交易数量和优势稳定性。
沙盒在363天内产生了96笔交易——略低于单年切片约100笔交易的可测性下限。完整回测跨越多年期metrics历史(约2020+),因此外推后轻松高于100,不构成阻碍,但优势在统计上微弱:profit_factor1.028,夏普比率0.126,CI[-1.45, +1.67]横跨零线,max_drawdown32.8%。这是分析师层面的业绩/稳健性问题,而非代码正确性缺陷。
无需更改;行为正确(没有仅依赖价格的回退,优势来自持仓反转)。
如果 metrics 数据源映射为零行(self._r_ts.size == 0),calculate_signal 会在每根 K 线上返回 0.0,策略因而从不交易——这正是导致第 1 次迭代失败的原因。第 2 次迭代将键修正为“long_short_ratio”;Vision 解析器(binance_vision_collector.py:1066/1076)确认 IS count_long_short_ratio(列 6,即全球账户比率)。沙盒现在能够产生交易,因此数据接线已验证。
回测评审
- 夏普
- 0.08
- 总收益率
- 542.61%
- 最大回撤
- 46.01%
- 总交易数
- 555
- 胜率
- 43.8%
- 盈利因子
- 1.10
使用真实的多年期非价格数据源(来自Vision metrics的全局账户多空比率)——无数据墙;555笔交易超过了其16笔交易的姊妹策略未能达到的可测性下限
多数年份方向性收益为正(2022 +197%,2024 +39%),表明可能存在真实的群体反转信号
没有风险调整后优势:夏普比率 0.08,CI [-0.58, 0.71] 跨越零,PSR 0.60;profit_factor 1.10(边际水平)
冲击脆弱:impact_cost_pct30.98%消耗约31%的毛盈亏;capacity_usd仅$1.04M——仅可在玩具规模部署(硬性晋级阻碍)
杠杆过高的单一标的反转策略:avg_position_pct 116.9%,max_drawdown 46% 点,但 CI 偏高 98.3%
与此前夭折的同类单名群体反转策略属于同一系列(BtcSmartMoneyCrowd 因 16 笔交易而夭折,SolTakerFlow 因清算而夭折)
结局总结
修复先前人群反转姊妹策略的数据墙和交易数量问题后,浮现出看似真实的方向性信号,但名义回报虽高而夏普比率约0.08、冲击成本约31%、容量约$1M,并非可部署的优势——必须同时通过市场冲击和容量限制,而不仅仅是夏普比率,仅在玩具规模有效的信号无法通过优化变得可行。
它在回测评审阶段被放弃(结论:放弃),因其没有可部署的风险调整后优势——夏普比率接近零且CI横跨零线,PF1.10微弱,更重要的是致命的冲击脆弱性(冲击吞噬约31%的毛盈亏,容量仅约$1M),在任何真实规模下都会使优势转负,属于已死亡的同名单标的人群反转家族(BtcSmartMoneyCrowd、SolTakerFlow)。
它是一个在ETHUSDT USD-M永续合约(1小时K线)上的多空单标的逆向反转策略,使用币安全局多空账户比率(散户群体持仓代理,从Vision 'metrics'文件获取多年数据以避开30天API墙),并通过单一滚动分位数门限,在散户群体拥挤做多时做空,在拥挤做空时做多。
它以555笔交易和+542.6%的名义回报(多数年份为正,例如2022+197%)超过了可测性下限,但没有风险调整后优势:夏普比率0.08(CI[-0.58, 0.71]横跨零线),盈利因子1.10,最大回撤46%(CI高98%),且具有致命的冲击脆弱性——impact_cost_pct30.98%,容量仅$1.04M,以avg_position_pct116.9%过度杠杆运行。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。