跳至正文
全部策略

策略

信息离散度(平滑动量)横截面轮动,仅做多永续合约(8 个流动性良好的 BINANCE USD-M 大盘币——在自身处于上升趋势的币种中,按 TREND SMOOTHNESS(上涨日占比,而非原始回报幅度)选出前 -3 名;偏好持续且非离群值驱动、能推广到样本外的上涨;每周再平衡,等权,3 参数)

结局: 已放弃

SmoothMomentumInformationDiscretenessRotationEightMajorPerpsLong

属于拥有已部署存续策略的家族(仅做多横截面大盘币动量);交易数量充足(202);平滑度排名确有差异化

假设

一个 LONG-ONLY、MULTI-INSTRUMENT 横截面轮动策略,运行于 8 个流动 BINANCE USD-M 主要永续合约(BTCUSDT、ETHUSDT、SOLUSDT、BNBUSDT、XRPUSDT、ADAUSDT、AVAXUSDT、LINKUSDT —— 均为 SAME 交易所)。它沿用 ONE 结构,且已展示出在该工厂中的稳健存活 —— 在主要永续合约上做多横截面动量轮动(已部署的夏普 -2.6 策略)—— 但将排序信号替换为一个真正新颖的、有据可查的信号,直接针对该策略家族的反复死因。日志中反复出现的拒绝原因是 OUTLIER-CONCENTRATED 收益("整个记录不过是少数几个异常日的集合"):原始收益动量倾向于选择那些上涨由少数跳空日驱动的标的,而这些跳跃式趋势会均值回归,且在样本外无法泛化(过拟合 / 样本外失效)。学术上的"信息离散性" / 温水煮青蛙效应(Da, Gurun & Warachka 2014)表明,以 SMOOTHLY(许多小幅上涨日、连续信息机制)形式呈现的动量,比以 JUMPS 形式呈现的动量延续得更为可靠 ——……展开收起

一个 LONG-ONLY、MULTI-INSTRUMENT 横截面轮动策略,运行于 8 个流动 BINANCE USD-M 主要永续合约(BTCUSDT、ETHUSDT、SOLUSDT、BNBUSDT、XRPUSDT、ADAUSDT、AVAXUSDT、LINKUSDT —— 均为 SAME 交易所)。它沿用 ONE 结构,且已展示出在该工厂中的稳健存活 —— 在主要永续合约上做多横截面动量轮动(已部署的夏普 -2.6 策略)—— 但将排序信号替换为一个真正新颖的、有据可查的信号,直接针对该策略家族的反复死因。日志中反复出现的拒绝原因是 OUTLIER-CONCENTRATED 收益("整个记录不过是少数几个异常日的集合"):原始收益动量倾向于选择那些上涨由少数跳空日驱动的标的,而这些跳跃式趋势会均值回归,且在样本外无法泛化(过拟合 / 样本外失效)。学术上的"信息离散性" / 温水煮青蛙效应(Da, Gurun & Warachka 2014)表明,以 SMOOTHLY(许多小幅上涨日、连续信息机制)形式呈现的动量,比以 JUMPS 形式呈现的动量延续得更为可靠 —— 因为渐进式信息会被反应不足,而跳跃式上涨已被充分定价。因此,该策略对标的排序,不是依据其上涨 MUCH 的程度,而是依据其上涨的 SMOOTHLY / 一致性:在处于自身上升趋势的标的中,按回溯期内上涨日占比保留前 -3 名。这有利于持续、参与面广的趋势,而非由异常值驱动的尖峰 —— 正是异常值集中型策略所缺乏的稳健性。它与已部署的冠军策略以及我待提交的原始相对强度变体 DISTINCT:选择 SIGNAL 是趋势平滑度(一条路径 / 一致性统计量),而非收益幅度 —— 这是一种本质不同、有据可查的机制,并非重新参数化。多品种使其具备可测性(每周在 8 个标的中轮动 → 数百笔交易,突破了约 100 笔交易的最低门槛,那些单品种方案因此被否决);永续合约将费用保持在 0.10%(而非扼杀了现货轮动的那种现货 0.20%);做多匹配已验证的形式;等权配置规避了已阵亡的风险平价加权。明确防范 L36 复利伪影:无杠杆叠加,敞口按权益归一化,每只持仓上限为权益的 33%。纯 OHLCV。3 参数。品种:["BTCUSDT.BINANCE","ETHUSDT.BINANCE","SOLUSDT.BINANCE","BNBUSDT.BINANCE","XRPUSDT.BINANCE","ADAUSDT.BINANCE","AVAXUSDT.BINANCE","LINKUSDT.BINANCE"]。venue_type:期货。data_requirements:["ohlcv"]。

第 2 轮做了两项改动,其余经 QA 验证为干净的部分均未触动。 (1)ALIGNMENT BARRIER RESTORED——主要的共享框架缺陷,现已修复。`on_bar` 覆盖逻辑已移除。基础模板的 `on_bar`/`_maybe_process_primary` 会路由 K 线,并延迟主要处理,直到所有同时间框架的额外腿都在主标的时间戳上有 K 线;因此,id_score 排名、资格门槛和入场仓位计算现在都读取全部 8 个标的在同一时点的收盘价,而非在 T 时点用 BTC 对比同伴在 T-1。轮动由 `calculate_signal` 驱动,基础模板恰好会在该对齐时点调用它;收盘价现在以 `ts_event` 为键(并以 `ts_init` 作为回退),与屏障本身比较的键保持一致。这也恢复了被整体覆盖逻辑绕过的基础模板 `_in_warmup` 和陈旧数据防护。关于 `_submit_entry_instrument(iid, BUY, qty, bar)` 疑虑的说明:基础模板完全不使用 `bar` 参数定价——它会提交市价单,由引擎按该标的自身市场价格成交——因此传入主标的的 K……展开收起

第 2 轮做了两项改动,其余经 QA 验证为干净的部分均未触动。 (1)ALIGNMENT BARRIER RESTORED——主要的共享框架缺陷,现已修复。`on_bar` 覆盖逻辑已移除。基础模板的 `on_bar`/`_maybe_process_primary` 会路由 K 线,并延迟主要处理,直到所有同时间框架的额外腿都在主标的时间戳上有 K 线;因此,id_score 排名、资格门槛和入场仓位计算现在都读取全部 8 个标的在同一时点的收盘价,而非在 T 时点用 BTC 对比同伴在 T-1。轮动由 `calculate_signal` 驱动,基础模板恰好会在该对齐时点调用它;收盘价现在以 `ts_event` 为键(并以 `ts_init` 作为回退),与屏障本身比较的键保持一致。这也恢复了被整体覆盖逻辑绕过的基础模板 `_in_warmup` 和陈旧数据防护。关于 `_submit_entry_instrument(iid, BUY, qty, bar)` 疑虑的说明:基础模板完全不使用 `bar` 参数定价——它会提交市价单,由引擎按该标的自身市场价格成交——因此传入主标的的 K 线并未导致成交引用错误,只是一个外观上的参数;设置屏障后,时间戳现在也一致了。 (2)THE SHARED DRIVER IS THE SHARED RISK GATE,NOT ONLY THE SHELL。QA 的最有力证据是,两种不同的排名信号产生了近乎相同的约 -47% 暴跌。这个判断没错,但这两种策略共享的不只有执行框架:两者都以 `trailing_total_return > 0` 作为资格条件,并持仓整个再平衡周期,期间没有下行退出机制。牛市顶部期间,这个门槛几乎形同虚设——价格转跌后,60 日总回报仍会在数周内保持为正——因此在两种策略中,2025-26 沙盒里的每笔入场都买入了已经在下跌的币种,且都无法在下一个轮动时点之前退出。相同的门槛 + 相同的无止损持仓 = 相同结果,与排名选出哪个币种无关。修复加入了缺失的下行趋势测试:收盘价高于其自身过去 60 日均线;价格转跌时,该指标会较早转负。它既作为资格条件的一项,也作为持仓的逐 K 线退出条件,因此仓位不再会一路承受 -13.5% 行情,直到下一个每周再平衡时点。修复复用了 `lookback_days`,因此 3 参数面(lookback_days、top_k、rebalance_days)保持不变——没有引入新的可调参数;而且退出逻辑只会退出,不能减少交易数量,也不会使已经通过的 Layer-3“至少产生 1 笔交易”检查退步。 以下内容保持不变,且仍经验证:id_score = (上涨 - 下跌)/n 平滑度统计量及其平盘日处理方式;按过去回报打破平局;根据 K 线时间戳锚定日历周周期;按标的时间戳索引并定期裁剪的收盘价字典;受保护的除法;通过 `get_account_equity()` 进行相对于权益的等权仓位计算,每腿上限为 33%、总敞口为 90%;仓位计算从未引用杠杆 1.0;选择永续合约而非现货的场所理由;以及相同且干净的导入集合(未增加任何禁用导入)。信号仍然每根 K 线连续计算(主标的 id_score 减去同伴均值 id_score)。

L45/L36/L19 横截面大盘币动量组合——不值得花 2 小时优化。它同时具备所有放弃信号:max_drawdown 67.4%(CI 至 85%),高于 50% 硬性放弃线(L19),且有 2022 -67% 和中国禁令 -53%;L36 复利/杠杆伪影特征(avg_trade_return_pct 10.3%——达到某个大盘币涨幅的许多倍——再加上 exposure_pct 160%/avg_position 55% 超过所述 90% 总敞口、return_kurtosis 229、偏度 9.5);尽管其前提是反离群值的“信息离散度”,记录却完全由离群值/牛市贝塔驱动——2021 +451% 通过个别交易日贡献了全部 907% 回报(+112%、+52%),而头条数字大部分是未平仓头寸的未实现收益(end_unrealized_pct 376)。统计上不显著(夏普比率 0.666,自助法 CI [-0.075, 1.30] 跨越零),相对于自身基准也没有增加 NO 风险调整价值(相较等权组合为 information_ratio -0.24,贝塔 0.42)——这是做多加密货币贝塔,而不是平滑性优势。这属于 L45 横截面动量大盘币家族(0/84 个存续策略);优化只会针对 2021 牛市制度对平滑度排序进行曲线拟合。失败模式:no_edge/risk_reject/过拟合横截面大盘币动量,由贝塔驱动,>50% DD + 复利伪影,相对基准为负 IR(L45/L36/L19)。

实现

在 8 个流动性 BINANCE USD-M 主要永续合约(BTC、ETH、SOL、BNB、XRP、ADA、AVAX、LINK)上进行纯多头横截面轮动,基于日 K 线,纯 OHLCV,按 TREND SMOOTHNESS 排名,而非按收益幅度排名。每 7 个日历日,每个标的按信息离散度评分,id_score = (#up_days - #down_days) / #days,作用于最近 60 个日收益,得分前 3 个 ELIGIBLE 标的以等权重持多(并列时按最近总收益破局)。资格条件为两腿绝对动量门控:标的自身的 60 日总收益必须为正,AND 其收盘价必须高于自身最近 60 日均线;任一条件不满足者出局,仓位转为现金。每腿为 min(33%, 90%/3) = 当前权益名义的 30%,杠杆为 1.0,因此总多头敞口约为 90%,永不超过权益。退出条件为:(a) 在周度网格上由轮动触发——当持仓跌出合格的前 -3 名;(b) 下跌趋势破位退出——每个对齐 K 线评估,当持仓收盘价跌破自身 60 日均线时。

验证结果

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

回测评审

夏普
0.67
总收益率
907.16%
最大回撤
67.37%
总交易数
202
胜率
34.7%
盈利因子
1.26

属于拥有已部署存续策略的家族(仅做多横截面大盘币动量);交易数量充足(202);平滑度排名确有差异化

干净的多腿对齐与日历锚定再平衡;纯 OHLCV,无数据壁垒

max_drawdown 67.4%(CI 至 85%)——高于 50% 硬放弃线(L19);2022 年度 -67%,中国禁令窗口期 -53%,日元套息 -17%

L36 复利/杠杆伪影特征:avg_trade_return_pct 10.3%(达到某个大盘币涨幅的许多倍)、exposure_pct 160% 和 avg_position_pct 55% 超过所述 90% 总敞口、return_kurtosis 229、偏度 9.5

尽管前提是反异常值,记录仍由异常值驱动:2021 +451% 承担了全部贡献(单日分别为 2021-10-18 +112%、2021-05-19 +52%),而头条数据大多尚未实现(end_unrealized_pct 376)IS

不显著,且相对自身基准没有阿尔法:夏普比率 0.666,CI [-0.075, 1.30] 跨越零;相较等权组合为 information_ratio -0.24

L45 横截面动量大盘币组合家族(0/84 个存续策略),由牛市年份的加密货币贝塔驱动(贝塔 0.42,benchmark_correlation 0.54)

迭代历史

验证失败(第 4 层——QA 审查): - L17 DEFECT SIGNATURE + CROSS-STRATEGY EVIDENCE OF A SHARED-SHELL BUG。沙盒表现接近灾难性:win_rate 0.143(2/14),profit_factor 0.044,avg_trade -13.5%,夏普比率 -1.85,-47.2%。这是该 IDENTICAL 轮动框架下第 SECOND 个爆仓的策略,在 2025-26 沙盒中亏损约 -47%,胜率近乎为零——采用 10 主流币原始相对强度的同类策略结果为 -46.5%、0/14、PF 0.0。两者采用根本DIFFERENT的排名信号(原始 60 日收益 vs. 上涨日占比平滑度),结果却几乎相同,这说明排名NOT是驱动因素,共用的执行框架才是首要嫌疑对象。我已确认排名方向正确(按 id_score 降序排列,买入前 -3 名,并设置正动量门槛),仓位规模未放大(每条腿 30%,无杠杆;每笔交易 -13.5% 都是真实变动),所以灾难并非由排名或仓位方向导致,而是指向执行框架。 - OVERRIDDEN on_bar BYPASSES THE BASE……展开收起

验证失败(第 4 层——QA 审查): - L17 DEFECT SIGNATURE + CROSS-STRATEGY EVIDENCE OF A SHARED-SHELL BUG。沙盒表现接近灾难性:win_rate 0.143(2/14),profit_factor 0.044,avg_trade -13.5%,夏普比率 -1.85,-47.2%。这是该 IDENTICAL 轮动框架下第 SECOND 个爆仓的策略,在 2025-26 沙盒中亏损约 -47%,胜率近乎为零——采用 10 主流币原始相对强度的同类策略结果为 -46.5%、0/14、PF 0.0。两者采用根本DIFFERENT的排名信号(原始 60 日收益 vs. 上涨日占比平滑度),结果却几乎相同,这说明排名NOT是驱动因素,共用的执行框架才是首要嫌疑对象。我已确认排名方向正确(按 id_score 降序排列,买入前 -3 名,并设置正动量门槛),仓位规模未放大(每条腿 30%,无杠杆;每笔交易 -13.5% 都是真实变动),所以灾难并非由排名或仓位方向导致,而是指向执行框架。 - OVERRIDDEN on_bar BYPASSES THE BASE TEMPLATE 的 CROSS-LEG ALIGNMENT BARRIER——这是共用执行框架缺陷的首要候选原因。基础 on_bar 会通过 _maybe_process_primary 控制主要处理流程,直到所有同一时间框架的腿在当前时间戳都有 K 线后才继续,因此排名和交易使用的是同期收盘价。该执行框架完全替换了 on_bar,并在 BTC K 线一到达时立即触发每周再平衡;此时其他 7 个标的仍可能停留在前一日的收盘价,导致排名和入场依据过期价格。入场通过 _submit_entry_instrument(iid, BUY, qty, bar) 提交,并传入 PRIMARY 的 K 线。对于横截面投资组合,依据过期或引用错误的 K 线进行排名和成交属于系统性缺陷,也可能解释两个执行框架变体为何都出现相同的暴跌。 - 已防护静态除法(past、_NS_PER_DAY、price)。其他方面均已核实,逻辑干净且忠实:id_score=(up-down)/n 计算正确,绝对动量上升趋势门槛正确,并列时按过去收益打破;从 ts_init 锚定日历进行再平衡(避免 L26 计数器陷阱);基于资本的等权仓位通过 get_account_equity() 计算,每条腿上限为 33%,总敞口为 90%;杠杆 1.0 未放大;相较于现货同类策略 fee_edge,使用永续合约场所的理由充分。平滑动量排名是一种真正新颖且有文档记录的机制。阻碍通过的是胜率近乎为零这一共用执行框架疑点,而非信号或整体代码质量。

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