跳至正文
全部策略

策略

DOT 4H Hull 移动平均线斜率趋势跟随做多

结局: 已放弃

DotFourHourHullMaSlopeTrendLong

结局总结

DotFourHourHullMaSlopeTrendLong将低滞后的Hull移动平均线作为单参数斜率趋势跟踪器应用于全新标的(DOT),严格遵循本轮反馈,仅使用OHLCV并将仅做多路由至现货。实现干净且忠于假设,但机制 decisively 失败:由于没有趋势或状态过滤器,裸斜率翻转在震荡的DOT上反复被打,产生714次往返交易,胜率34%,每笔预期收益为负-$ 124/笔,亏损88.5%,回撤近乎完全94.9%。评审者在优化前即放弃,认为充足样本证明这是真正的负期望而非小样本噪声——低滞后MA无法在均值回归的山寨币上凭空制造趋势,而仅做多现货没有空头来对冲DOT的下跌趋势。代码无误而假设本身失败(且仅经过Layer-2修复后已是第2次迭代),已明确拒绝投入优化算力。

假设

一种仅做多、单品种的TREND-FOLLOWING策略,交易DOTUSDT永续期货(币安USD-M),在4小时K线上使用Hull移动平均线(HMA)。CRITICALDESIGNCHOICES已由当前明确的反馈锁定:(a)ZERO补充数据依赖——6个连续补充数据假设均失败(ETH爆仓数据、BTCtaker_ratio、DOGEOI、BTCOI、XRPpremium_index、AVAXtaker_ratio);本策略使用ONLYOHLCV。(b)NOT均值回归(在山寨币永续合约上失败)、NOT逆势做空(在BTC资金费率上失败)。(c)4H+币安USD-M——经实证验证的有效验证组合。(d)NEW标的——DOT(Polkadot/波卡)不在ADA/AVAX/BNB/BTC/ETH/LINK/LTC/NEAR/SOL当前组合中。(e)NEW机制——HullMA在结构上与管线中所有其他指标都不同:它NOT通道型(Donchian/Keltner)、NOT基于成交量、NOTMACD、NOTSupertrend、NOT基础EMA交叉。HullMA(Hull2005)采用递归加权移动平均构造,在不牺牲平滑性的前提下降低滞后——比同周期SMA/EMA早约3-5根K线跟踪趋势转折,同时抑制相同的柱内噪声。(f)MAXIMALLYSIMPLE——仅ONE个有意义参数(HMA周期=20,经典默认值)加标准固定退出(4%止损、10天时间止损)。

第 2 次迭代以尽可能小的改动修复了 Layer-2 TypeError,且没有导致更早层级出现回归。根本原因:_rolling_wma 是一个 @staticmethod,但 Layer-2 合成代理会将类方法重新绑定为实例方法,因此调用 self._rolling_wma(values, period) 时注入了 self('takes 2 positional arguments but 3 were given'),导致每个场景都在产生信号前崩溃。遵循代码库既有约定(模块级辅助函数可兼容 Layer-2 代理),现在将 _rolling_wma 改为模块级函数,并从 _hma_series 直接调用;HMA 公式、归一化斜率信号以及所有入场/退出/仓位规模逻辑均逐字节保持不变。使用实际合成生成器验证后,六个场景现均可无错误运行,且 HMA 斜率会变化(有 470/468 个唯一值),在上升趋势中正确为正、下跌趋势中正确为负。导入仍然干净(math、numpy),因此 Layer 1 仍通过;只移除了与代理不兼容的方法绑定。

根本上亏损、无可优化的优势:profit_factor0.899,夏普比率-0.63,total_return-88.5%,CAGR-31%,max_drawdown94.9%,且在充足的714笔交易/687天样本上avg_trade_return/期望(-124)为深度负值。这不是小样本或低于手续费密度问题——裸HMA斜率翻转仅做多机制具有NEGATIVE期望,因为它在震荡的DOT上反复被打(胜率33.8%,714次往返交易,手续费拖累9.57%),在无趋势/状态过滤器下每次上行斜率都买入、每次反转都被止损/反手。优化单个HMA周期或固定止损/时间止损无法将-0.63夏普比率/0.90PF的震荡转化为正期望,只会对早已被震荡淹没的少数2021/2023趋势爆发做过拟合。代码无误(正确的仅做多现货路由、OHLCV-only、交易符合假设)——失败的是HYPOTHESIS:低滞后MA无法在均值回归的山寨币上创造趋势优势,而仅做多现货意味着每个DOT下跌趋势都被全额承担且无空头对冲。不要在此花费优化算力。

实现

在BINANCE_SPOT(CASH,杠杆1.0)上的仅做多DOT4H Hull移动平均线斜率趋势跟踪器(OHLCV-only)。它通过嵌套加权MA构造计算HMA(20),当归一化HMA斜率为正(趋势上行)时进场做多LONG,当斜率掉头(≤0)、4%保护性止损触发,或60根K线(约10天)时间止损到期时退出。基于风险的仓位管理(相对4%止损承担2%权益,名义上限为1x权益)。一个有意义参数(hma_period);零补充数据。

验证结果

验证失败(Layer 2——合成场景): 使用的参数:['risk_pct', 'hma_period', 'min_notional', 'max_hold_bars', 'stop_loss_pct', 'slope_lookback'] 请检查 __init__ 是否设置了 self.parameters.get() 中的所有属性。 - steady_uptrend: TypeError: DotFourHourHullMaSlopeTrendLong._rolling_wma() takes 2 positional arguments but 3 were given (bar timestamp: 1735691340000) - steady_downtrend: TypeError: DotFourHourHullMaSlopeTrendLong._rolling_wma() takes 2 positional arguments but 3 were given (bar timestamp: 1735691340000) - flat_ranging: TypeError: DotFourHourHullMaSlopeTrendLong._rolling_wma() takes 2 positional arguments but 3 were given (bar timestamp: 1735691340000) - volatility_spike: TypeError: DotFourHourHullMaSlopeTrendLong._rolling_wma() takes 2 positional arguments but 3 were given (bar timestamp: 1735691340000) - zero_volume: TypeError: DotFourHourHullMaSlopeTrendLong._rolling_wma() takes 2 positional arguments but 3 were given (bar timestamp: 1735691340000) - price_gap: TypeError: DotFourHourHullMaSlopeTrendLong._rolling_wma() takes 2 positional arguments but 3 were given (bar timestamp: 1735691340000)

回测评审

夏普
-0.63
总收益率
-88.55%
最大回撤
94.92%
总交易数
714
胜率
33.8%
盈利因子
0.90

实现简洁,仅使用 OHLCV,不依赖补充数据(正确遵循了关于 6 次失败的反馈)

功能正常:714次多头进场/0次空头,交易符合仅做多HMA斜率假设,0已舍弃(规模/名义),metrics_reliable=true

样本量充足(714 笔交易 / 687 天)——失败源于确实没有优势,而非小样本噪声

亏损明确:profit_factor 0.899,夏普比率 -0.63,索提诺比率 -1.71,total_return -88.5%,CAGR -31%

avg_trade_return / 期望收益 -124(显著为负)——优势低于零,而不只是低于手续费

max_drawdown 94.9%(CI 72-99.6%),恢复耗时 1905 天——风险极其严重

负 alpha(-0.22),且相较买入并持有表现为 information_ratio(-0.55);在 7 年中的 4 年为负

裸斜率翻转进出场反复震荡被打(胜率33.8%,714次往返交易,手续费占毛利9.57%)——无趋势过滤器来抑制震荡

负(期望收益 -124)

> 0.25%(现货)

结局总结

更快、低滞后的移动平均线本身无法在均值回归的山寨币上创造趋势优势——没有趋势/状态过滤器,裸斜率翻转进场会震荡至负期望(PF0.90,胜率34%,手续费拖累9.6%),且在现货仅做多下会全额承担每次下跌并出现近乎完全的回撤;失败的是假设而非代码,因此优化无法挽救。

分析师在回测评审关口放弃了该策略,因为其期望收益从根本上为负,且没有可供优化提升的优势:单纯的 HMA-斜率反转在震荡的 DOT 上反复止损——每次斜率向上都买入,反转时因止损或信号翻转而退出,且没有趋势/市场状态过滤器——因此,降低滞后的 MA 无法在均值回归型山寨币上创造趋势优势,而仅做多现货策略会承受每一轮下跌趋势,没有做空一侧可供抵消。

一种仅做多、仅使用 OHLCV 的趋势跟随策略,在 DOT 4H 现货上运行(BINANCE_SPOT,杠杆 1.0),使用 Hull 移动平均线——当 HMA 斜率上升时做多,斜率转向时退出,并设置 4% 止损和 10 天时间止损——在新标的上选择了极简的单参数机制,并刻意通过使用纯价格来避开连续 6 次补充数据失败。

在充足的 714 笔交易 / 687 天样本中,该策略亏损明确且风险极其严重:总回报 -88.5%,CAGR -31%,夏普比率 -0.63,盈利因子 0.90,胜率 33.8%,每笔交易期望收益 -$124,最大回撤 94.9%(CI 72–99.6%),alpha 为负 -0.22,手续费占毛收益的 9.57%,在 7 年中的 4 年为负;执行干净(已提交 714/714,metrics_reliable=true)。

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