跳至正文
全部策略

策略

Hyperliquid DeFi压力分化延续:AAVE与UNI

结局: 已放弃

HyperliquidDefiStressDispersion

结局总结

HyperliquidDefiStressDispersion旨在检验共同DeFi抛售期间的相对韧性是否预示AAVE与UNI进一步分化,并在Hyperliquid的4小时K线上进行该交易对的多空交易。经过3次迭代,代码始终未能通过验证:每次第3层沙盒回测都在约20,000根K线的窗口上超过300秒限制。运行在验证循环中止,因此未进入回测审查、优化、分析师和风险阶段。没有绩效指标,该假设仍未经过检验。

假设

检验共同DeFi抛售期间的相对韧性是否预示后续分化:做多韧性较强的代币,做空较弱的代币,使用AAVEUSD.HYPERLIQUID和UNIUSD.HYPERLIQUID上的同步4-HOUR K线。最长持仓三天。HyperliquidCollector提供永续合约OHLCV;直接检查parquet确认有5,879个共享时间戳,范围从2024-01-25T20:00:00Z到2026-10-01T20:00:00Z,中间有两个不连续区间。出现数据缺口后重置指标。灵感来自https://bigquant.com/wiki/doc/BDR9U0WPw2,其讨论了在另一资产下跌时衡量韧性,但并未证明这一拟议的加密货币交易优势。未假设存在资金费率收入、期权数据或日历触发条件。

相对于20%的目标,Hyperliquid在6.8%中的占比偏低,而仅做多和单一品种实验占比过高。这个配对多空实验旨在弥补这些缺口。它检验由压力条件触发的分化延续,而非每周赢家轮换、同币跨交易所收敛或由补充数据门控的方向性交易。corpus_concentration为空,因此无法确定具体品种占比。由于提供的价差交易失败表明成本后捕获不足,跨交易所敞口暂缓考虑。

verification_loop:sandbox_timeout:验证失败(第3层——沙盒回测):冒烟测试在约20000根K线的窗口(AAVEUSD.HYPERLIQUID-4-HOUR-LAST-EXTERNAL的2400天)上超过了300秒的墙钟时间限制。这几乎总是意味着每根K线的工作量随历史数据增长,例如反复扫描完整的资金费率/补充数据序列,或在每根K线上于calculate_signal()/on_bar()内重建列表并调用min()/sorted()。在__init__中预先计算已排序的时间戳数组ONCE并使用bisect,或按时间戳缓存查询结果,使每根K线的成本为O(log n)而非O(n)。

实现

在Hyperliquid以4H K线进行等美元AAVE/UNI配对交易。当两个代币的6根K线收益率都低于各自过去180个样本收益率分布的-0.75个标准差(共同DeFi抛售),且AAVE减去UNI的收益率差至少达到entry_spread_pct并持续2根已确认K线时,做多韧性较强的代币,做空较弱的代币。退出条件:hold_bars时间止损;配对止损为总名义价值的-3%,目标为+2%;每条腿设置6%场所挂单保护止损(也会平掉配对腿);行情数据中断时强制退出。每次退出后冷却6根K线。

第 3 次迭代(sandbox_timeout)。根据第 L155 课的经验,我在编辑信号前先诊断了原因。在沙盒时间窗口内对先前代码进行本地运行,冷启动耗时 520 秒,热启动耗时 192 秒;主机平均负载约为 55-61。py-spy 显示,冷启动运行中约有 7 分钟耗在 NautilusTrader 的目录中查找交易品种/柱线数据文件(runner.py:540 和 683,fsspec 遍历)上,此时策略代码尚未运行。每根柱线的策略处理已经是 O(1):使用有界双端队列、滚动求和与平方和,且不会重新扫描历史数据。剖析器未能对处理 4,902 根柱线的引擎阶段进行采样,因为该阶段耗时太短。唯一的代码改动是移除了 should_exit 中每根柱线重复进行的 positions_open() 缓存查找;现在它会复用 _process_primary 已进行的查找;交易行为完全相同。信号、门控条件、仓位规模以及所有固定/可调参数均与 optimization_plan 一致。杠杆仍为 1.0,作为参数镜像保留,并由 position_size 使用。

验证结果

sandbox_timeout:验证失败(第3层——沙盒回测):冒烟测试在约20000根K线的窗口(AAVEUSD.HYPERLIQUID-4-HOUR-LAST-EXTERNAL的2400天)上超过了300秒的墙钟时间限制。这几乎总是意味着每根K线的工作量随历史数据增长,例如反复扫描完整的资金费率/补充数据序列,或在每根K线上于calculate_signal()/on_bar()内重建列表并调用min()/sorted()。在__init__中预先计算已排序的时间戳数组ONCE并使用bisect,或按时间戳缓存查询结果,使每根K线的成本为O(log n)而非O(n)。

迭代历史

验证失败(第1.5层——假设/配置一致性)[类别=hypothesis_mismatch]: - optimization_plan将杠杆固定为1.0

结局总结

确保calculate_signal()/on_bar()中的每根K线成本保持恒定或对数级(有界缓冲区、使用bisect的预计算数组、缓存查询),并在提交前用20,000根K线的窗口测试速度,因为冒烟测试过慢会在测量任何优势之前终止运行。

经过3次迭代后,项目在验证循环中止。第3层沙盒回测超时,在约20,000根K线(2,400天)的AAVEUSD.HYPERLIQUID 4-HOUR窗口上超过300秒墙钟时间限制,说明每根K线的工作量可能随历史长度增长。

在Hyperliquid的4小时永续合约K线上进行等美元AAVE/UNI配对交易:两个代币在压力下同步下跌后,做多韧性较强的代币,做空较弱的代币,最长持仓三天,押注两者分化将持续。

没有绩效数据。该策略从未完成回测,因此没有收益、夏普比率或交易次数,也从未进行优化。

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