策略
BTC 始终持仓 MACD 符号趋势(无门槛,设计上可抵抗参数角落崩塌)——仓位 = MACD 柱状图的符号,每次符号翻转时反向持仓,按波动率目标调整仓位,NEVER 空仓(BINANCE USD-M,日线柱,多空,2 参数)
结局: 已放弃
BtcMacdSignAlwaysInTrendLS
结局总结
该策略是对摧毁三个门控趋势兄弟的"角落坍缩"的直接工程化应对:通过使组合始终根据MACD直方图的符号持仓,且仅有两个EMA-跨度参数而无阈值,从结构上消除了退化的少交易角落。它在此点上取得了成功 —— 222笔采样充分的交易,PF 1.486,回撤 18.7% —— 但基础夏普仅为 0.701,CI下限为 0.09,落于 L63始终持仓(always-in)致命带,其中基础夏普即为上限。在每个更强的单品种BTC-趋势兄弟均已未通过DSR/OOS门控、且两次先前的优化运行均未显示改善的情况下,分析员在四次迭代后于BACKTEST_REVIEW放弃它,而非在一个已被证明无法存活的低于-1.0-夏普类别上花费更多预算。
假设
一个 LONG-SHORT 单品种 BTC 趋势模型,直接针对在 OPTIMIZATION 刚刚击垮我三个趋势子组合的死亡模式而工程化:效率门、OI-门、以及唐奇安突破之所以死亡,是因为它们都包含一个 THRESHOLD 参数,被优化器推至极端(er_period 59、oi_z 2.49、通道 53),致使组合坍缩至 3–9 笔交易 —— 一个退化的少交易角落,无法通过硬性 DSR/OOS 门控。唯一存活的策略(BTC 双-TF 动量)带有 NO 罕见事件门;它本质上是始终在押注一侧。本假设将该教训推至其逻辑最小值:它在市场中 ALWAYS(做多或做空,永不空仓)、具有 NO 可限制交易次数的阈值,且仅暴露 2 个可调参数(一个 MACD 的快与慢 EMA 跨度)。仓位即 MACD 直方图的 SIGN(日线收盘价的快 EMA − 慢 EMA);每当直方图变号时,做多↔做空翻转。因为没有门控且模型在每次交叉时反向,优化器在物理上 CANNOT 将交易次数坍缩入某个角落 —— 交易次数在任何参数设定下都以下界被交叉频率所约束 —— 这从结构上捍卫了 DSR/样本外门控。它停留在 ONE 已验证的品种+优势(BTC 方向性趋势),在结构上区别于待定子组合(MACD-符号始终持仓,非动量合流/MA-制度/突破/回调/轮动),且为纯 OHLCV 且计算上平凡(两条 EMA)。规避每一处墓地:NOT 均值回归/配对/资金费率/期权(死亡/损坏),NOT 带门控的突破(角落坍缩),NOT 品种替换(L56 —— 它为 BTC,已验证的品种,伴以独特的始终持仓结构)。恰好 2 个可调参数:快 EMA 跨度与慢 EMA 跨度。
迭代 4 仅作出 QA 反馈所要求的单一更改,其它一概不变:柱类型从 1-DAY 回退为 8-HOUR。除模块文档字符串的时间框架段落外,Python 源码与第 previous_code 次迭代保持字节一致;该段落现在记录 WHY 8H 是约束性的,因此任何先前通过的层级都不可能发生回归(导入、类结构、信号逻辑、仓位规模与 2-参数表面均逐字节相同)。对反馈项 1(可测量性)的修复:在 1-DAY 上,MACD 符号每年仅翻转约 13x 次(在 362-天的沙盒中有 13 笔交易,生命周期内约 87 笔),低于约 100-交易下限,而该下限已拒掉了周线-MA、HL-日线与回归日线子组合;同一模型在 8-HOUR 上每年翻转约 35x 次(约 6.7-年历史中约 221 笔往返交易),这正是 QA 在第 1 次迭代时 PASSED 的配置。对反馈项 2(无扣费后优势、无全历史反驳)的修复:负面的 1D 沙盒(avg_trade_return_pct -0.134%、PF 1.03、在 13 笔交易上的夏普 0.10)属于日线频率的特性而非结构的特性 —— 正在被恢复的 8H 配置正是产生正沙盒AND 跨整个 (fast_span, slow_span) 参数箱、50-652 笔交易、夏普 0.85-1.17 的全历史参数箱扫描的那一个,这也是 QA 的通过标准所要求的证据。一个诚实的说明:假设标题规定为日线柱,而我正在覆写为 8-HOUR,因为可测量性下限是该结构在日线版本上根本无法通过的硬门控;8H 在默认跨度下仍持有每个仓位数天至数周(中位持仓约 1 周),因此它仍是假设所描述的多日方向性趋势模型,只是采样得更细以填充前推/样本外/DSR 门控。
L63始终持仓OHLCV方向性类别:基础夏普0.701(CI低0.09,跨越零)是无门控始终持仓组合的上限——3阶段缩减/留出仅将其压低至DSR 0.95与OOS>0门控之下。本次会话中每个更强的单标的BTC趋势同类策略未通过这些确切门控(回调OOS -1.13/PBO 0.66,多元化TSMOM OOS -3.34/留出-0.64),由此证实。记录由离群值驱动(峰度13.5),且依赖市场状态(亏损2025,滚动夏普进入2026为负)。两次先前在相同指标下的优化运行未显示前进路径。失败模式:always_in_ohlcv_trend_sub_1.0_sharpe(基础夏普低于约1.0下限,类别过拟合由更强同类策略前推失败证实)。
实现
在 8-HOUR 柱线上运行的始终持仓多空 BTC USD-M 趋势模型。仓位 = MACD 柱状图的符号(收盘价的快速 EMA 减去慢速 EMA,并表示为价格的比例):数值为正时做多,为负时做空,每次符号翻转时反向持仓,始终持仓。全程没有任何过滤条件或阈值,因此在参数区间的任何位置,交易数都至少达到交叉频率,优化器无法使组合退化为少量交易的参数角落。恰有 2 个可搜索参数(fast_span、slow_span);其余所有常数(波动率目标、波动率回看期、名义价值上限、预热期最小值)均为类常量,不参与搜索。仓位规模按波动率目标设定:名义价值 = 权益 * min(0.20 / 已实现年化波动率, 1.0),上限为权益的 1x 倍,使杠杆保持在 1.0。纯 OHLCV,完全增量式计算(两次 EMA 递归,加上滚动收益总和)。
验证结果
验证失败(4层级 — QA审查): - 迁移至1-DAY周期重新引入了子-100交易可测性失败(L16)。在日线节奏下,MACD符号每年仅翻转约13x次(362天沙箱内13笔交易),外推至约6.7年历史中约87次——BELOW约100可测性下限,该下限已在本会话中拒绝周线-MA(17)、HL日线(56)及回归日线分项。这是该确切策略第1次迭代的REGRESSION,我曾在8-HOUR周期上PASSED,以221笔交易(约35/年)和正向沙箱。从8小时改为1日的变更是为满足时间框架匹配的审计发现,但日线单资产MACD结构性上频率过低,无法填充前推/留出/DSR门控。 - 唯一可测结果上没有可覆盖费用的边缘,且无完整历史反驳(检查清单 #7)。1日沙箱每笔交易净利润为负:avg_trade_return_pct -0.134%(低于费用下限),PF 1.03,夏普0.10,覆盖13笔交易(+0.83%总额来自少数较大赢家的金额加权,而非每笔交易的边缘)。与第1次迭代不同(该迭代提供了完整的8小时参数箱扫描:50-652笔交易,夏普0.85-1.17),本次迭代为1日配置提供了NO完整历史干跑,因此负向沙箱仍未被反驳。我的一贯标准——通过要求EITHER正向沙箱OR已证明的正向完整历史——在日线版本中两者均未满足。
研究负责人:RATIFY 8-HOUR 的时间范围(或将假设文本中的“日线”改为“8H”),以免时间周期匹配检查再次标记此项。不要改回日线——这种构造无法达到日线数据的可测量性门槛,这一点已经四次得到验证。无需更改代码。
时间周期与假设不一致(检查清单 #1)——现在这是一个 PROCESS-CHURN 问题,必须由研究负责人解决。假设规定使用 DAILY 根柱线,但 config.bar_type 为 8-HOUR。这在经验上是正确且有依据的:对于这个大约每月翻转一次的 MACD 符号,日线数据可以证明无法进行可测量性评估(每年 13 笔交易 -> 全历史约 87 笔,低于约 100 笔的门槛,且沙盒结果为负——我在第 2 次迭代时未能通过);而 8H 每年约翻转 35x 次(全历史约 221 笔),可测量且结果为正。该策略在四次迭代中已经在日线与 8H 之间来回切换:时间周期匹配审计再次将其标记为日线,我再次因可测量性未通过日线测试,开发者随后又改回 8H(即本版本,与我在第 1 和第 3 次迭代中通过的版本完全相同)。策略本身正确;这种循环是在浪费时间。
在 BACKTEST_REVIEW 阶段,应根据波动率目标化权益曲线/夏普比率而非胜率来评判,并确认近期市场状态下的优势仍然存在;第 -1 次迭代的完整参数区间扫描(整个参数区间内夏普比率均为 0.85-1.17)证明了该机制,但 DSR/OOS 关卡仍是决定性检验。
右尾依赖与通常的近期制度注意事项(非阻塞,针对BACKTEST_REVIEW)。胜率 35% 且右尾肥厚(峰度 11,最大盈利 18.2k 对比最大亏损 3.6k)—— 该记录由少数大的趋势赢家所驱动,这是始终持仓趋势模型的设计意图,因此每笔交易/胜率下限必须尊重盈亏不对称性。BTC 8H 趋势在本会话的子组合中于2024-2026上呈制度依赖性,因此前推的近期 OOS 窗口是风险所在。
回测评审
- 夏普
- 0.70
- 总收益率
- 274.47%
- 最大回撤
- 18.72%
- 总交易数
- 222
- 胜率
- 29.3%
- 盈利因子
- 1.49
构造确实能抵抗参数角落崩塌:始终持仓、无阈值、仅有 2 个可搜索参数——交易数有下限(222 笔交易),因此不会像带过滤条件的同类策略那样崩塌为少量交易的退化参数角落
avg_trade_return_pct 1.24% 显著高于费用门槛;单独来看,PF 1.486 和 DD 18.7% 都可以接受
基础夏普 0.701,sharpe_ci_low 0.09 —— CI 实际跨越零;这正是 L63 致命带(始终持仓 OHLCV 方向、夏普 0.55-0.85、PF 1.3-1.7),在该带内基础夏普即为 CEILING,通缩只会将其压低。
每个更强的单品种 BTC-趋势兄弟刚刚未能通过 3-阶段门控:回调 OOS -1.13/PBO 0.66,多元化 TSMOM 篮子 OOS -3.34/样本外 -0.64。一个 0.70/0.09 基础夏普无法通过相同的 DSR/OOS 门控,而远强于此的子组合都无法通过。
由异常值驱动且依赖市场状态:return_kurtosis 13.5,业绩记录由少数 +23% 至 +37% 的单日结果推动;2025 全面亏损(-11.7%),滚动夏普比率截至 2026 年初仍为负
已经以基本相同的指标进行了两轮优化——尚未证明存在改进路径
分析
语义审计器发现的代码↔假设错位 —— 代码NOT实现该假设。请重新编写策略以实现假设EXACTLY(品种、时间框架、方向、所命名的优势/机制、仓位规模)。具体问题:hypothesis_title声明为"日线柱(Daily Bars)",且假设正文将信号定义为"SIGN直方图的MACD(日线收盘价的快EMA − 慢EMA)",但 config.bar_type 为 BTCUSDT.BINANCE-8-HOUR-LAST-EXTERNAL,且实现在8-HOUR柱收盘价上计算 EMA/直方图(模块文档字符串:"TIMEFRAME — 8-HOUR 柱";理由:"将柱类型从1-DAY回退为8-HOUR")。假设文档在迭代-3回退之后从未被更新,因此所规定的时间框架与已实现的时间框架相矛盾 —— 而这是实质性的,因为假设的交易次数/可测量性论证(每年约35次翻转 vs 在1-DAY上每年约13次)取决于该频率。
结局总结
通过移除所有阈值来解决"角落坍缩"并不能创造优势 —— 一个免门控始终持仓结构的基础夏普约为 0.7、CI 跨越零点,没有缓冲空间,因为通缩与 OOS 测试只会从该上限中减损。
分析员在预优化 BACKTEST_REVIEW 门控处放弃它:夏普 0.701 低于 1.0 审查阈值,并正好落在 L63 始终持仓-OHLCV-方向的致命带中,在那里基础夏普即为上限,而 3-阶段通缩/样本外只能将其压低至 DSR 与 OOS 门控之下 —— 那些远更强的 BTC-趋势兄弟已经在那些门控上失败。
一个为应对"角落坍缩"死亡模式而工程化的多空单品种 BTC USD-M 趋势模型 —— 始终在市场中(8H MACD 直方图为正则做多,为负则做空,从不空仓)、波动率目标化、仅有 2 个可搜索参数(快与慢 EMA 跨度)且无优化器可推至退化少交易角落的阈值。
全历史回测实现了其结构性目标 —— 222 笔交易(交易次数下界受交叉频率约束)、平均交易回报 1.24% 名义、利润因子 1.486、最大回撤 18.7%、总回报 274.5% —— 但基础夏普仅为 0.701,sharpe_ci_low 0.09(实际跨越零的置信区间),且记录由异常值驱动(回报峰度 13.5)并具制度依赖性,含一个亏损 2025(-11.7%)。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。