跳至正文

查看原文

BtcHyperliquidDualTimeframeMomentumConfluenceLS4H

假设数

Hyperliquid BTC 永续合约双时间框架动量共振策略,多空双向(BTCUSD.HYPERLIQUID,4H 主时间框架 + 1D 确认,分歧则空仓,ATR 移动止损 + 慢速TF市场状态反转,3 参数)——首个 Hyperliquid 实盘候选策略的场所移植演练

假设数

一个LONG-SHORT、单一标的、纯OHLCV动量共振趋势跟随策略,应用于BTCUSD.HYPERLIQUID(Hyperliquid永续合约,MARGIN账户,杠杆1.0 = 与来源相同,远低于20x交易场所上限)。其机制是对BtcDualTimeframeMomentumConfluenceLS的EXACT移植(Binance USD-M,夏普比率1.99,458笔交易,PF 2.40,DD 3.94%,在29天内的36笔模拟交易中获得+$4,774):一条FAST腿(4H K线上滚动fast_lookback根K线收益的符号)和一条SLOW腿(DAILY根K线上滚动slow_lookback根K线收益的符号,通过on_extra_bar)必须AGREE才能持仓;若两者不一致,则持仓为FLAT。退出机制不变:从运行中的极值点算起的ATR移动止损,或日线腿翻转至与持仓方向相反。仓位大小通过get_account_equity()按资金比例确定。PURPOSE:这不是一个新的alpha主张,而是一次执行就绪演练——在资金被划转至Hyperliquid之前,工厂所信任的这一机制必须在Hyperliquid自身的价格序列、费率结构和每小时资金费率结算周期上得到验证,然后在TESTNET上进行演练。我知道HYPERLIQUID处于0/131历史高位,且该幸存策略的克隆版本已在其他场所失效;因此该基准被预先设定为BELOW来源标准。DATA SPAN(已在目录中核实,非假设):BTCUSD.HYPERLIQUID-4-HOUR自2024-01-22以来已累积超过5000根K线的API上限 → 约2.6年 / 约5,700根K线,足以支持3个滚动前验窗口外加约6个月的留出测试期;日线确认腿的数据可追溯至2020-08-20。4H是Hyperliquid上具有可用多年历史数据的最快时间间隔——未提出更短于小时级的变体。PARAMETERS(来源最优参数按简报要求原样保留):fast_lookback=18,slow_lookback=15,trail_atr_mult=3.033,risk_pct=0.0101,max_notional_frac=0.497,杠杆=1.0,ATR_PERIOD=14;仅限Hyperliquid的覆盖参数size_precision=5以及min_notional=$10。共暴露三个可调参数。FEE ARITHMETIC:0.045%吃单/单边 = 双向市价单往返约0.09%。来源实现1.367%/笔;假设HALF在移植后仍然成立,且波动更剧烈的2024-2026窗口给出约0.65%/笔 ≈ 7x往返,4x0.15%Hyperliquid底线——我预先设定0.45%(5x往返)。交易节奏约每年55-60次往返(≈每周1次),远未触及手续费侵蚀的墓地区。FUNDING:Hyperliquid会累积HOURLY,而引擎NOT计入资金费率,因此约5天的持仓将带来±0.05-0.15%的未建模资金费率影响——这是一个已标记的测量缺口,也是测试网演练存在意义的主要原因。PORTFOLIO FIT:HYPERLIQUID 6.9%,相对于≥20%的配额目标——这是拥有真实多年数据的场所中距目标差距最大的一个;方向为多空双向(占语料库的14.9%,而85.1%为纯多头)。

假设数

按照假设的要求,对 BtcDualTimeframeMomentumConfluenceLS(Binance USD-M 幸存策略)进行精确的场所移植:信号、平仓和仓位规模代码均从源策略文件中逐字复制,仅更改了场所特定的常量(size_precision 5,min_notional $10),并沿用源策略的最优参数作为默认值(fast_lookback=18,slow_lookback=15,trail_atr_mult=3.033,risk_pct=0.0101,max_notional_frac=0.497,ATR_PERIOD=14 锁定,杠杆 1.0)。所选场所为 HYPERLIQUID 期货(MARGIN),因为该账本会做SHORT——现货无法表达该机制的一半功能。日线确认腿是同一标的上的一条SLOWER时间框架附加腿,因此基础模板的跨腿对齐屏障从未对 4H 信号设限(只有同一时间框架的腿才会同步);提交前已确认目录中同时存在 BTCUSD.HYPERLIQUID-4-HOUR 和 -1-DAY 两种K线方向数据。每根K线的运算量为 O(lookback),采用固定窗口(在 15 根K线上进行 ATR,两次索引查找),因此不会威胁到 300 秒的沙盒预算。入场频率方面:共振门槛是一个 2 条件的符号一致性判断,在趋势市场状态下大部分时间都成立,每月会反转几次——源策略产生了 458 笔交易,因此零交易的沙盒结果不构成实盘风险。__init__ 中的每一个参数限幅都与 _param_bounds 中声明的完全一致,因此优化器永远不会测试到一个会被代码悄悄改写的值。杠杆保持在 1.0,并从 self.config.leverage 中读取用于名义金额上限计算,与源策略一致。正如假设本身所说明的一个诚实的注意事项:Hyperliquid 的资金费按小时计提,而引擎并未将其计入,因此多日持仓会产生大约 ±0.05–0.15% 的未建模资金费——本次回测仅衡量价格与手续费的移植效果,这也正是为什么测试网演练才是实际的交付物。

假设数

negative_expectancy 是在一个可靠样本上得出的结果。决定性数字是毛额而非成本:总价格盈亏在 172 笔交易(每笔约占名义金额的 0.02%)中为 +$1,497,而实际支付的手续费为 $3,777、资金费为 $4,487 → 净值为 -$6,767,PF 0.90,夏普比率 -0.137。优化无法提振一个在 0.09% 往返成本加上 3.6 天持仓的小时级资金费率结算周期下,毛捕获接近零的机制。问题具体表现为:做多腿仍然有效(+0.409%/笔),但 92 笔空头亏损 -0.744%/笔,因此源策略的多空对称性并未成功移植到 HL 的 2024-2026 时间窗口。

实现

多空双向、单一标的、纯OHLCV的双时间框架动量共振策略,标的为 BTCUSD.HYPERLIQUID 永续合约。一条 FAST 腿(基于 4H K线上滚动 18 根K线收益率的符号)和一条 SLOW 腿(基于 DAILY K线上滚动 15 根K线收益率的符号,通过 on_extra_bar 传递)必须AGREE才能持有仓位:两者均向上 -> LONG,两者均向下 -> SHORT,出现分歧 -> FLAT。平仓方式为 ATR 移动止损(相对于仓位滚动最高/最低点的 3.033 x 倍入场时ATR),或日线段方向反转不利于所持方向。仓位规模与资金相关:以移动止损距离为基础风险 1.01% 的权益,总名义金额上限为权益的 49.7%,杠杆为 1.0,规模按 HL 的 5 位小数精度量化,最小名义金额为 $10。calculate_signal 每根K线返回连续的 4H 动量收益率;离散的共振门槛逻辑位于 should_enter 中。

验证结果

将 _side/_extreme/_entry_atr 的锚定逻辑从 should_enter() 移出,转移到 calculate_signal 中已处理 _side == 0 情况的持仓存在分支中,或者移入一个 on_position_opened 钩子函数中。

验证结果

should_enter() 会在订单是否已成功提交尚未确定之前,就修改仓位状态(self._side、self._extreme、self._entry_atr)。如果 position_size() 返回 0,或者基础模板因最小名义金额检查而丢弃了这笔入场单,策略就会留下一个非零的 _side,以及过期的 _extreme/_entry_atr,而实际上处于空仓状态。该问题具有自我修复能力(下一根K线的 calculate_signal 会发现 pos 为 None 并重置这三个变量,且 should_exit() 只有在存在持仓时才会被触发),因此不会导致错误的交易决策——但一个带有副作用的谓词函数是脆弱的,一旦基础模板的入场路径发生变化就可能出问题。建议将移动止损状态的锚定改为放在 on_position_opened / 首个入场后 calculate_signal 中。

验证结果

将 BTCUSD.HYPERLIQUID 从 extra_instruments 中剔除;仅 extra_bar_types 就能将日线段交付给 on_extra_bar()。

验证结果

config.extra_instruments 列出了 BTCUSD.HYPERLIQUID,这也是主要的 instrument_id。基础模板随后会针对非K线数据将同一标的重复订阅两次(此处未请求此类数据,因此没有影响),将日线K线缓冲进 _extra_bars[BTCUSD.HYPERLIQUID](该策略从不读取此项——它保留自己的 _daily_closes),并在 on_stop 中对主要标的两次调用 close_all_positions/cancel_all_orders(幂等操作)。目前这是无害的,因为日线段只关心 extra_bar_types,而 1-DAY 时间框架与 4-HOUR 的主时间框架不同,因此 _sync_extra_iids 保持为空(对齐屏障确实没有对 4H 信号设限,正如说明中所述)。尽管如此,这一重复订阅仍属于多余噪音。

验证结果

可选项:让 min_bars_required() 也考虑到每日预热期(例如 max(fast_lookback+1, ATR_PERIOD+1, (slow_lookback+1)*6) + 2),这样入场诊断就会把停滞的前置期归因于预热期,而不是入场门槛。

验证结果

日线确认腿需要 slow_lookback + 1 = 16 根日线收盘K线,_slow_dir 才能脱离 0,即约 96 根主要的 4H K线,而 min_bars_required() 仅对 4H 腿(21 根K线)设置门槛。在第 21 根K线到约第 96 根K线之间,策略实际上无声地无法入场(因为 _slow_dir == 0 时共振条件永远无法满足)。这在逻辑上是正确的且不存在前视偏差,但每个滚动前推窗口都要为此付出约 16 天的代价,并且会表现为一段停滞的前置期,而非一个显式的预热门槛。

验证结果

沙盒经济效益与预注册的主张相矛盾,而且这一矛盾恰恰出现在 SOURCE 的 OWN OPTIMUM 上(原样沿用 fast=18, slow=15, trail=3.033),因此“未经优化的回撤”这一常见借口在这里比通常更站不住脚:avg_trade_return_pct 相对于预注册的 +0.45%(5x 往返成本)为 -0.088%,PF 0.966,夏普比率 -0.137,total_return -2.27%,共 172 笔交易 / 799 天。手续费占毛额的 5.78%,影响为 $1,122,因此成本并非全部原因——每笔交易的毛捕获仅略高于零。市场状态归因结果与趋势跟踪策略应有的表现恰恰相反:高压三分位表现为 -10.96%(夏普比率 -1.34),平静三分位为 -0.26%,而所有利润都集中在中间三分位(+7.28%)——也就是说,该共振门槛并未在 HL 的价格序列上捕捉到它本应捕捉的高波动趋势。分析师在回测评审时还应权衡另外两点:(1)FUNDING IS NOT MODELLED 在 Hyperliquid 上(funding_events_available:0),而账本以小时级资金费率结算周期持仓约 3.6 天,因此实测盈亏中存在一笔未入账的 +-0.05-0.15%/笔——该假设已诚实地标注了这一点,但这意味着 HL 这一数字仅是价格与手续费的结果;(2)4H 序列始于 2024-01-22(约 2.6 年,约 5,700 根K线),每年仅产生约 55-75 笔往返交易,因此一个 3 窗口的滚动前推测试加上一个 6 个月的保留样本,将会把大约 200 笔全生命周期交易再进行切分——预计夏普比率的置信区间会很宽(沙盒的 CI 已经跨越 -1.57 到 +1.28)。代码是忠实的移植;如果要对该场所移植进行评判,应带着这些附加说明,基于完整历史区间的运行结果来评判。

回测评审

对幸存机制的忠实逐字移植:799 天内共 172 笔交易,4,787 根K线,无入场诊断丢单,metrics_reliable=true——这是对场所移植问题的一次干净测量。

回测评审

本次运行中资金费 IS 已被计入(26,347 次资金费事件,逐笔交易的资金费字段已填充),因此该假设所标记的测量缺口实际上已被弥合。

回测评审

交易结果与假设相符(80 多头 / 92 空头,持仓约 3.6 天,ATR/按市场状态平仓)——不是编码缺陷。

回测评审

在充分样本量上的负期望值:PF 0.90,夏普比率 -0.137,共 -2.27% 笔,期望值 -$39.34/笔交易,avg_trade_return_pct -0.088% 相对于 0.15% 下限和 +0.45% 预注册值。

回测评审

已在明细文件上核实:在扣除 $3,777 手续费和 $4,487 资金费之前,PRICE 的毛价格盈亏在 172 笔交易中仅为 +$1,497(约合每笔交易名义金额的 0.02%)——价格捕获能力几乎为零,因此这不是一个费用校准问题。

回测评审

问题出在做空腿:平均价格捕获为 LONG +0.409%/笔,而 SHORT 为 -0.744%/笔,共涉及 92 笔空头交易。

回测评审

在 2024 和 2025 中亏损,仅在 2026 的 23 笔交易中为正;760 天处于水下状态,11 连续亏损。

回测评审

市场状态归因结果与趋势前提相悖(高压 -10.97%,夏普比率 -1.34;所有利润都集中在中间波动率三分位),证实了 QA 的担忧。

回测评审

夏普比率 CI -1.50 至 +1.23,PSR 0.42——一个 3 窗口的滚动前推测试加保留样本,将会切分约 170 笔全生命周期交易。

结局总结

BtcHyperliquidDualTimeframeMomentumC-078dad301a

结局总结

本次运行是一次执行就绪演练,而非新的alpha主张——将工厂中排名第 #1 的 Binance 幸存策略原样移植到 Hyperliquid 自身的价格序列、手续费和小时级资金费率结算周期上,并刻意将预注册门槛设置得低于源策略。此次移植执行得很干净(172 笔交易,没有入场诊断丢单,metrics_reliable,且资金费确实被计入,弥合了该假设所标记的测量缺口),但经济效益并未随之而来:总回报为 -2.27%,夏普比率 -0.137,PF 0.90,每笔交易 -0.088%,在 2024 和 2025 中亏损,并有 760 天处于水下状态(浮亏未回本)。决定性的细节在于毛价格盈亏大致为零(172 笔交易中仅为 +$1,497),在扣除 $3,777 手续费和 $4,487 资金费之前,做空腿(-0.744%/笔)抹去了仍然有效的做多腿(+0.409%/笔)的收益。分析师在第 1 轮迭代的回测评审阶段就放弃了该策略,未进入 3 阶段的优化;分析师和风控官优化后阶段从未被触及。

结局总结

一个机制的优势是与交易场所和时间窗口相关的:原样移植一条已验证有效的多空规则,可能会丢失使其奏效的对称性,因此在假定成本是障碍之前,应分别检查每条腿各自的毛价格捕获情况。

结局总结

回测评审关卡在任何优化开始之前就返回了放弃结论,理由是:在一个可靠的 172 笔交易样本上出现负期望值(-$39.34/笔),其中做多腿仍然捕获了 +0.409%/笔,但 92 笔空头亏损了 -0.744%/笔。在毛价格捕获接近零的情况下,优化不太可能克服 0.09% 的往返成本,加上 Hyperliquid 对约 3.6 天持仓的小时级资金费率。

结局总结

这是工厂中最佳 Binance USD-M 幸存策略在场所间的逐字移植:一个在 BTCUSD.HYPERLIQUID 上运行的多空双时间框架动量共振趋势跟踪策略,要求 4H 快线段与日线慢线段达成一致,若不一致则空仓,通过 ATR 移动止损或日线市场状态反转来平仓。

结局总结

在 799 天和 4,787 根 4H K线中,共执行了 172 笔交易(80 多 / 92 空),总回报为 -2.27%,夏普比率 -0.137,盈利因子 0.90,胜率 36.0%,最大回撤 10.97%,avg_trade_return_pct 为 -0.088%,相对于 0.15% 可行性下限和预注册值 +0.45% 而言。在扣除 $3,777 手续费和实际支付的 $4,487 资金费之前,毛价格盈亏仅为 +$1,497;市场状态归因结果与趋势前提相悖(高压三分位为 -10.97%,夏普比率 -1.34)。
策略报告

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