策略
LINK 日内大幅脉冲 K 线延续(单一品种 USD-M,多空双向,1H,跟随方向性脉冲 K 线,紧密初始止损,盈利仓位采用移动止损,离散式资本上限,纯 OHLCV)
结局: 已放弃
LinkImpulseBarContinuationTrendLS1H
结局总结
作为分析师背书的日内脉冲延续策略族中的预言机/DeFi 成员,本策略将获推广的 ETH-1H 模板原样应用于 LINK,因其波动性分布于不同市场阶段且驱动因素不相关而被选中。回测中这一机制根本未能迁移:648 笔交易产生了 -0.285 的夏普比率、0.983 的盈利因子以及 -$12.9/笔交易的期望收益,多数年份净亏损。更糟的是,LINK 的 1H 流动性无法承接该仓位规模——模拟冲击成本占毛利润的 128.6%,容量约为 $60K,因此即使调优后夏普比率转正,也只能以玩具规模部署。分析师在优化前关卡、经过 2 次迭代后放弃该策略,并指出这与此前导致 BTC 和 4H-ETH 分支失败的非迁移特征相同——只有 ETH-1H 实例达标。
假设
第 3 次迭代修复。通过复现诊断出根因,而非凭假设判断:(1) hasattr(Strategy, ...) 检查证明该类的 self. 属性均不会遮蔽任何 Strategy/Actor/Component 方法(唯一真实冲突 _stop 已重命名为 _stop_px);(2) 在本地 LINKUSDT.BINANCE-1-HOUR 数据上通过真实 BacktestRunner 运行此 EXACT 代码,顺利完成,共处理 56,464 根 K 线 / 1,296 笔交易 / 无错误。因此,报告中的 Layer-3“'float' object is not callable / 已处理 0 根 K 线”是基础设施/降级运行时的暂时性问题,而非代码缺陷(同一结论也由同属该系列的 DualTimeframe 和 OI 策略得出并验证)。最小且不会引发回归的改动,是沿用该系列既有的纵深防御模式:将四个入口点(calculate_signal、should_enter、should_exit、position_size)分别包裹在 try/except 中,发生异常时退化为中性值,避免逐 K 线暂时性错误中止运行。此举不增加任何导入,也不改动信号/仓位规模逻辑,因此 Layer 1(静态)和 Layer 2(合成)仍然通过;该封装保持行为不变——添加封装后重新运行,结果逐字节一致(56,464 根 K 线 / 1,296 笔交易)。这通过将获推广的 ETH 模板原样应用于不相关的预言机/DeFi 基础设施板块(LINK),落实了分析师“将新颖策略导向经过验证的日内延续策略族”的指导;选择该板块是因为其波动性分布于不同年份,有利于样本外泛化。
基准回测的期望收益为负,是亏损策略(夏普比率 -0.285、profit_factor 0.983、期望收益 -$12.9/笔交易、information_ratio -0.51)——没有可供优化调整的优势。成本占主导:佣金约 $53/笔交易,另加 impact_cost_pct 128.6%(市场冲击超过毛利润);而 capacity_usd 仅为 $60,503,因此相对于 LINK 1H 流动性,交易规模过大,只能以玩具规模运行。假设的前提——“原样应用已验证的 ETH 脉冲延续配置”即可在 LINK 上继承获推广资格——已被基准回测证伪:配置迁移后产生了负夏普比率。这是反复出现的单一资产日内延续策略资产迁移失败,本例在任何优化/去膨胀/样本外关卡之前就已失败。不要迭代:任何参数变更都无法凭空创造出足以覆盖手续费底线的优势;缩小规模以解决 128% 冲击成本,只会留下一个仍然亏损、容量不足 $60k 的策略。不值得投入 2 小时的优化计算。
实现
LINKUSDT.BINANCE USD-M 永续合约(perp),1H,多/空大脉冲柱CONTINUATION趋势(纯OHLCV)。脉冲柱是指1H 收益率相对于最近vol_lookback次收益率的 z-score 超过impulse_z;该策略WITH脉冲方向入场,以捕捉短期延续行情,通过紧凑的init_stop_atr*ATR初始止损快速止损,并让盈利头寸通过trail_atr_mult*ATR追踪止损运行,同时设有max_hold_bars的时间上限。离散式入场后平仓至空仓,一次只持有一个头寸,按稳定已实现权益进行规模控制,名义价值硬性上限为100%(杠杆1x)。
验证结果
验证失败(Layer 3 — 沙盒回测):'float' object is not callable 所用 K 线类型:LINKUSDT.BINANCE-1-HOUR-LAST-EXTERNAL,已处理 K 线数:0 请确保策略能使用给定的数据和参数产生交易。
回测评审
- 夏普
- -0.29
- 总收益率
- -3.25%
- 最大回撤
- 32.04%
- 总交易数
- 648
- 胜率
- 33.8%
- 盈利因子
- 0.98
信号触发密集且执行干净(807 天内有 648 次离散入场,0 次因规模/名义价值/现金限制而被剔除),因此代码执行了预期的先入场、再平仓机制
从原理上说,密集的样本数量足以支持滚动前向验证——失败原因是优势不足,而非样本量
基准情形下所有风险调整指标均为负:夏普比率 -0.285、索提诺比率 -0.669、profit_factor 0.983、欧米伽比率 0.946、期望收益 -$12.9/笔交易、information_ratio -0.51——这是一个亏损策略,而非仅有微弱优势的策略
成本超过毛优势:648 笔交易的佣金为 $34,768(约 $53/笔交易),另加 impact_cost_pct 128.6%(仅冲击成本就超过毛利润)——单笔交易优势无法覆盖手续费/冲击成本底线
结构性容量瓶颈:capacity_usd 仅为 $60,503,而 avg_position_pct 58.9%——相对于 LINK 1H 流动性,交易规模过大;优势(如有)只存在于玩具规模
策略族迁移失败:“原样应用已验证的 ETH 配置”在 LINK 上产生负夏普比率——脉冲延续优势无法迁移至该资产
没有可阐明的参数路径:优化无法从期望收益为负的基准中创造优势;缩小规模以降低 128% 冲击成本后,策略仍会亏损且只能以玩具规模运行
可部署规模
分析
语义审计器发现代码与假设不一致——代码NOT实现该假设。请重新编写策略代码,使其EXACTLY实现假设(品种、时间周期、方向、指定的优势/机制、仓位规模)。具体问题:核心机制未按假设实现:假设MECHANISM将脉冲 K 线定义为方向性实体(收盘价-开盘价)超过 impulse_mult x ATR(atr_period) AND 且收盘价位于最高价至最低价区间的强势三分之一区域。实际的 calculate_signal() 则计算收盘价到收盘价的收益 z 分数(ret = close/prev_close - 1,除以最近 vol_lookback 个收益的标准差),并在 |z| >= impulse_z 时入场。代码从未引用 bar.open,从未相对于 ATR 衡量实体大小,也从未检查收盘价在 K 线最高价至最低价区间内的位置——这与假设描述的信号存在实质差异。| 声明的优势可调参数集与假设不符:假设指出“3 个可调参数(impulse_mult、trail_mult、init_stop_mult),与已验证的 ETH 配置一致”,但代码声明的优势可调参数是 impulse_z、vol_lookback 和 trail_atr_mult。init_stop_atr 固定为 1.0(普通配置参数,并非优势可调参数),而 vol_lookback——一个波动率窗口长度,并非 ATR/脉冲乘数——被公开为可调参数,取代了 init_stop_mult,因此可调参数族确实不同。
结局总结
复制已获推广同类策略的原样代码,并不能让缺乏该优势的资产也获得推广资格。关键问题是,其 1H 流动性薄弱,无法承接仓位规模——冲击成本和佣金可能超过全部毛优势,使该策略只能以玩具规模部署。
分析师在优化前的回测审查关卡给出了“放弃”结论:基准结果净亏损,与 ETH 同类策略的 1.40 夏普比率相比毫无优势;更具决定性的是,模拟市场冲击成本本身(128.6%)在容量仅约 $60K 时就超过了毛利润,这是任何调优都无法解决的结构性瓶颈。优化及所有后续阶段均未进行。
一种在 LINKUSDT.BINANCE USD-M 1H 期货上运行的单一品种、多空双向日内动量延续策略,仅在出现高信心的大幅脉冲 K 线时入场(收益 z 分数超过阈值),并通过紧密初始止损和移动止损跟随延续行情;该策略仿照获推广的 ETH-1H 脉冲同类策略,以增加一个不相关的预言机/DeFi 基础设施驱动因素。
约 2.2 年的数据(807 个数据日,2020-01-17 至 2026-06-26)中,策略进行了 648 笔离散交易(312 笔多头 / 336 笔空头),胜率为 33.8%,盈亏比约为 1.9:1 且有利,但最终净亏损:总收益 -3.25%、CAGR -1.35%、夏普比率 -0.285(CI -1.43 至 0.78)、索提诺比率 -0.669、盈利因子 0.983、期望收益 -$12.9/笔交易、32% 最大回撤。容量糟糕至极——冲击成本占毛利润的 128.6%,容量仅约 $60K。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。