跳至正文
全部策略

策略

HYPERLIQUID BTC 永续合约 1H 每日锚定 VWAP 偏离多空均值回归(单交易平台、单标的、3 参数、按波动率缩放止损)

结局: 已放弃

BtcHyperliquidOneHourDailyVwapExcursionMeanReversionLongShort

HYPERLIQUID BTC 永续合约 1H 每日锚定 VWAP 偏离多空均值回归(单交易平台、单标的、3 参数、按波动率缩放止损)

假设

一种LONG/SHORT、单一标的、单一场所的日内均值回归策略,基于BTC-USD.HYPERLIQUID永续合约,使用1-HOUR根K线和仅OHLCV的数据。这刻意填补了当前引擎中ALSO可测试的两个违反最严重的配额桶:HYPERLIQUID场所(5.0%实际 vs 20%目标——最大的TESTABLE场所低配差距,因为期权/COIN-M/跨场所净额结算均被工具阻塞)和long_short方向(12.7% vs 55%纯多头上限)。它将本次会话中已证明能通过每个优化关卡的ONE机制类——日锚定VWAP偏离均值回归(ETH1HBINANCE姊妹策略已被提升)——移植到尚未以多空形式尝试过的场所和资产上。关键在于它AVOIDS了有文档记录的失败陷阱:(a)它在BTC上使用1H K线,该标的拥有~2.5年以上的连续HYPERLIQUID历史(>20,000根K线),规避了SOL-15m-38天数据不足的放弃;(b)可完全作为单一标的定向PnL入账(无资金流现金流核算,无跨场所MTM净额结算,无多腿期权——这四个架构工具缺口扼杀了本次会话中每一个carry/basis/VRP假说);(c)它将止损RELATIVE调整为入场z分数的预期回归幅度,而非固定的紧百分比(SOLVWAP放弃指出,固定的-1.5%止损相对于恢复目标来说太紧,导致胜亏比倒挂)。机制:维护一个日锚定的VWAP(00:00UTC重置)和(close - VWAP)的滚动标准差。计算z = (close - VWAP) / rolling_std。当z <= -z_entry(价格向下拉伸远低于公允价值)时,LONG预期回归至VWAP;当z >= +z_entry时,SHORT。仅在EXTREME偏离时触发(z_entry ~2.0-2.5),使预期回归(价格向VWAP回撤约0.3-0.6%)轻松超过Hyperliquid ~0.09%的往返taker成本。仅三个可调参数:z_entry、vwap_std_lookback、stop_atr_mult。

通过交易假说声明的标的BTC-USD.HYPERLIQUID来修复报告的Layer-1.5不匹配(破折号导致_root()将其解析为'BTC-'而非'BTC',这就是为什么BTCUSD.HYPERLIQUID被读取为不同资产)。由目录强制产生的两个后果,均已对照真实文件验证。第一,BTC-USD.HYPERLIQUID存在于ONLY的4-HOUR:一个parquet文件,恰好5,000行(即HL5000根蜡烛的上限),2024-02-09至2026-05-22,且根本不存在1-HOUR目录。假说中的'1-HOUR根K线,>20,000根K线,2.5年以上'描述的是BTCUSD.HYPERLIQUID(1H,2025-10-11至今),而非其声明的标的。在已声明标的上请求1-HOUR会在data_unavailable处放弃,因为_collect_from_hyperliquid会剥离报价后缀并向Hyperliquid请求币种'BTC-',返回空;ensure_bars_available对现有的4-HOUR序列返回True(5,000 >=……展开收起

通过交易假说声明的标的BTC-USD.HYPERLIQUID来修复报告的Layer-1.5不匹配(破折号导致_root()将其解析为'BTC-'而非'BTC',这就是为什么BTCUSD.HYPERLIQUID被读取为不同资产)。由目录强制产生的两个后果,均已对照真实文件验证。第一,BTC-USD.HYPERLIQUID存在于ONLY的4-HOUR:一个parquet文件,恰好5,000行(即HL5000根蜡烛的上限),2024-02-09至2026-05-22,且根本不存在1-HOUR目录。假说中的'1-HOUR根K线,>20,000根K线,2.5年以上'描述的是BTCUSD.HYPERLIQUID(1H,2025-10-11至今),而非其声明的标的。在已声明标的上请求1-HOUR会在data_unavailable处放弃,因为_collect_from_hyperliquid会剥离报价后缀并向Hyperliquid请求币种'BTC-',返回空;ensure_bars_available对现有的4-HOUR序列返回True(5,000 >= min_bars),且没有任何调用ensure_bars_through,因此陈旧的尾部数据不会阻塞。第二,仅修改配置会产生ZERO笔交易:一个UTC天仅包含6根四小时K线,而旧代码在午夜重置偏差缓冲区,因此在n次会话内偏差时,可达到的最大|z|为(n-1)/sqrt(n) = 2.04(n=6时),使得z_entry2.0-2.5在实践中无法达到。我将偏差缓冲区改为跨会话滚动,仅在午夜重置VWAPANCHOR,这正是假说所规定的('日锚定的VWAP和(close - VWAP)的滚动标准差'),并将其截断至回溯期,使每根K线的计算成本保持O(lookback)而非无限增长。回放实际的BTC-USD4H文件确认了修复:164根符合入场条件的信号K线,z_entry=2.0(326为1.5,79为2.5),共2,491根符合条件的K线,约70笔交易/年。三个锁定的会话常量(min_day_bars、entry_cutoff_hour、day_end_hour)是为1-HOUR网格调优的,其中22:00截止和23:00平仓是合理的;在4-HOUR网格上,这些时段从不出现,因此日终平仓永远不会触发。它们现在是带有已声明_param_bounds的参数,为此网格设置为2 / 16:00 / 20:00。其余部分均未改动:导入不变,z信号仍然是连续的且每根K线都返回,ATR缩放的止损和入场上下文重建未修改,仓位规模仍按精度向下取整并带有最低名义金额检查,杠杆保持1.0。NOTE给研究主管:如果意图确实是实时1-HOUR序列,假说应修改为指定BTCUSD.HYPERLIQUID——BTC-USD是一个陈旧的别名,其数据已于2026-05-22停止更新。

backtest_failed: RuntimeError: 永续合约腿“BTC-USD.HYPERLIQUID”的资金费率数据不可用 — 按需收集失败,或该交易平台没有资金费率历史数据(为保证准确性,回测已阻止;设置 SF_DISABLE_ONDEMAND_FUNDING=1 可绕过) Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 194, in _run_backtest await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", line 411, in _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: 永续合约腿“BTC-USD.HYPERLIQUID”的资金费率数据不可用 — 按需收集失败,或该交易平台没有资金费率历史数据(为保证准确性,回测已阻止;设置 SF_DISABLE_ONDEMAND_FUNDING=1 可绕过)

实现

对称多空日锚定VWAP偏离均值回归,基于BTC-USD.HYPERLIQUID永续合约,4-HOUR根K线,仅OHLCV。每根K线重建会话VWAP(自00:00UTC起按成交量加权,午夜重置,成交量为零时回退至收盘价均值),维护最近vwap_std_lookback根K线的(close - VWAP)滚动标准差,并计算z = (close - VWAP) / std。z >= +z_entry表示价格向上拉伸超过公允价值,策略SHORTS回归;z <= -z_entry表示价格向下拉伸,策略LONG。头寸在以下最早条件出现时退出:回归至VWAP(z穿越0)、波动率缩放止损为入场时捕获的ATR的stop_atr_mult倍,或在day_end_hourUTC及之后(午夜锚点重置前)强制平仓。在entry_cutoff_hour及之后或min_day_bars之前(会话内尚未打印)不建立新头寸。单腿,权益的10%,杠杆1.0。

验证结果

验证失败(Layer 1.5 — 假设/配置一致性)[class=hypothesis_mismatch]: - config.instrument_id 为 BTCUSD.HYPERLIQUID,但假设声明的是 BTC-USD.HYPERLIQUID — 这是不同的资产。请按原样实现该假设(或由研究负责人修订假设)。

迭代历史

RuntimeError: 永续合约腿“BTC-USD.HYPERLIQUID”的资金费率数据不可用 — 按需收集失败,或该交易平台没有资金费率历史数据(为保证准确性,回测已阻止;设置 SF_DISABLE_ONDEMAND_FUNDING=1 可绕过) Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 194, in _run_backtest await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", line 411, in _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: 永续合约腿“BTC-USD.HYPERLIQUID”的资金费率数据不可用 — 按需收集失败,或该交易平台没有资金费率历史数据(为保证准确性,回测已阻止;设置 SF_DISABLE_ONDEMAND_FUNDING=1 可绕过)

放弃原因

backtest_failed: RuntimeError: 永续合约腿“BTC-USD.HYPERLIQUID”的资金费率数据不可用 — 按需收集失败,或该交易平台没有资金费率历史数据(为保证准确性,回测已阻止;设置 SF_DISABLE_ONDEMAND_FUNDING=1 可绕过) Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 194, in _run_backtest await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", line 411, in _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: 永续合约腿“BTC-USD.HYPERLIQUID”的资金费率数据不可用 — 按需收集失败,或该交易平台没有资金费率历史数据(为保证准确性,回测已阻止;设置 SF_DISABLE_ONDEMAND_FUNDING=1 可绕过)

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