源文件:research/quant_digests/2026-04-15_1128_mark-oracle-percentile-dislocation-fade-alpha.md
README.md + src/strategies/basis_reversion.py + src/data/hyperliquid.py + research/run_hip3_analysis.py + src/engine/backtest.py)+ Hyperliquid public API portability readmark / premium 相对 oracle 出现极端偏离时,做反向收敛:premium > 0 就 short,premium < 0 就 long;本质上赚的是短时流动性失衡后的 basis / premium 压缩,而不是赌长期方向。这轮主看的是 2026 GitHub repo andreaambrosio/hype-backtesting 里最值得 short-cycle desk intake 的那条 raw alpha,而不是继续把它读成“又一个 funding / regime / momentum 杂烩框架”。
先回答 base alpha:这不是 funding carry,也不是 generic trend filter;它是一条可以单独站住的短时相对价值 / 单资产 stat-arb raw alpha——当 perp 的成交标记价明显偏离 oracle 时,赌这个偏离会向正常区间压缩。
这轮主看的文件:
README.mdsrc/strategies/basis_reversion.pysrc/data/hyperliquid.pyresearch/run_hip3_analysis.pysrc/engine/backtest.pyrepo 基本信息:
andreaambrosioREADME 里最关键的不是“这个仓里有 9 个策略”,而是它把 Basis Dislocation Reversion 明确列成当前 sample 里的最佳策略:
90 days 的 Hyperliquid 1h 数据BTC / ETH / SOL / HYPE / TURBO / MEME / WIF+3.88%4.526.1615.69%24.7%1.05299同时 README 还给了一个更 desk-friendly 的 microstructure 句子: > 在 HIP-3 Silver crash 里,basis 一度冲到 463 bps,高于 400 bps 只持续了 95 seconds,随后在 19 minutes 内压回到 <50 bps。
这句比“小时线回测收益多少”更重要,因为它直接说明:这条 edge 的自然栖息地其实更像 1m / 3m / 5m,而不是只停留在 1h。
这条线的 base alpha 很简单:
> 当 perp mark 明显偏离 oracle,而且偏离已经进入该资产自身的极端分位区间时,后续更容易发生 premium / basis 压缩;最小表达就是“做 dislocation fade”。
翻成人话:
mark_price - oracle_price 或 premium 本身。所以它属于:
raw alpha,不是 filter;single-asset relative-value / stat-arb,不是单纯 directional momentum;short-horizon mean reversion,不是慢频 carry。src/strategies/basis_reversion.py 的核心逻辑很直接:
bps:premium 列,直接 premium * 10_000(mark_price - oracle_price) / oracle_price * 10_000lookback_bars=100 的 premium 分布max(entry_dislocation_bps, rolling 95th percentile)entry_dislocation_bps = 50 bpspercentile_entry = 0.95current_premium > 0:shortcurrent_premium < 0:long这就把信号说得非常完整了: 不是任何偏离都做,而是只做“已经极端化”的偏离。
源码不是简单 all-in / fixed size,而是按 dislocation 强度放大:
base_position_pct = 0.10scale = min(abs_premium / entry_dislocation_bps, 3.0)max_position_pct = 0.25意思很直白:
25% equity。这对 desk 很重要,因为它不是一句“极端更值得做”,而是已经把极端程度映射成仓位函数。
同一个文件里 exit 条件也都明确给出:
abs_premium < 10 bpsbars_held >= 60200 bps 级别就止损也就是说,这条线不是“看到 premium 就写篇观察笔记”,而是已经自带:
所以这轮它完全符合用户说的高优先级: > 可独立复现且可直接落地为完整策略的 raw alpha 候选。
src/engine/backtest.py 里,回测引擎默认就把这些东西收进去了:
commission_bps = 2.0slippage_bps = 1.0max_position_pct = 0.25max_drawdown_pct = 0.15这当然不代表 repo 的结果就一定可信到能直接上线,但至少说明: 它讨论的是“可交易 alpha”,不是只会画因子图的研究玩具。
近几轮已经补了不少:
而这条线补的是另一类更 microstructure、更 execution-native 的原料: > 极端 mark-vs-oracle 偏离本身就是 alpha 对象。
它不是给某条已有 alpha 当确认器,而是自己就能单独做成一条信号书。
1m / 3m / 5m原因很简单:
95 seconds 到 19 minutes 这种压缩尺度;funding 8h、日频横截面 更自然地落在短周期;15m 也能做,但更像 admission / coarse bucket,不是它最锋利的主战场。所以最自然的 desk 化映射应是:
1m / 3m / 5m:主信号15m:极端 regime 标记 / 资产筛选 / 是否值得开 collector需要刻意区分:
也就是说,这条线更接近:
而不是“再来一篇 funding 逻辑”。
src/data/hyperliquid.py 已经把公共数据入口写得很清楚,全部走 Hyperliquid 的公开 info 接口:
get_candles():1m / 5m / 15m / 1h / 4h / 1dget_funding_history():历史 funding + premiumget_meta_and_asset_ctxs():全市场 live context(含 funding / mark / 资产状态)get_all_mids():当前 mid这说明:
如果你要认真测 1m / 3m / 5m 的 premium-dislocation edge,不能只靠 funding history 的 8h 快照。
真正需要的是更高频的 mark / oracle / premium 路径。
也就是说:
1h 研究可以先复用 repo 那种合并后的公共数据口径;metaAndAssetCtxs(),每 10s / 15s / 30s 存一笔,落地 DuckDB / Parquet。这不算“数据不可得”,只是: > 它是 public & quickly collectable,但不是现成一键下载好的多月高频历史包。
先不要一上来就做复杂组合,最小实验可以很朴素:
BTC / ETH / SOL / HYPE + 1~2 个更容易失衡的 HIP-3 名字1m10s ~ 30s collectorabs(premium_bps) 超过 rolling 95% 分位50 bpspremium_bps > 0 -> shortpremium_bps < 0 -> longabs(premium_bps) < 10max_hold = 3 / 6 / 12 根 1m bar150 / 200 bps至少并排跑这四组:
50 bps95%因为真正该回答的问题不是“有无 reversion”,而是: 极端阈值到底该用固定 bps、资产内部分位,还是两者取 max。
要保留三点怀疑:
1h,不是 1m / 3m / 5m。这能证明思路可写成策略,但不能自动证明短周期净后也赚钱。
它虽然盯的是 relative-value 变量,但执行上仍是单腿 long/short;若当下是持续性踩踏 / squeeze,premium 可能越拉越极端。
这类 edge 很可能死在:
所以更诚实的定位是: > 高优先级 raw alpha intake,适合尽快做分钟级最小实验;但当前证据还不等于 production-ready。
metaAndAssetCtxs 或等价 live context10~30s 记录:mark_priceoracle_pricepremiumfundingcointimestamp1m candles,用来估算 realized vol、ATR、成交量过滤第一版就回答 4 个问题:
50 bps 后,回到 10 bps 的中位时间是多少?95% / 97.5% / 99% 分位,哪档的 net bps/trade 最稳?先跑:
compression exitfixed 3-bar / 6-bar / 12-bar exitcompression or timeout whichever first这类策略一定要显式做 cost ladder:
先看:
gross bps / tradenet bps / trademedian time-to-compressionfill sensitivityBTC、ETH、HYPE、长尾 HIP-3 名字的 dislocation 机制不一样,别混成一锅统一阈值。Repo URL: https://github.com/andreaambrosio/hype-backtesting
Readable URL: https://github.com/andreaambrosio/hype-backtesting/blob/main/README.md
Readable URL: https://github.com/andreaambrosio/hype-backtesting/blob/main/src/strategies/basis_reversion.py
Readable URL: https://github.com/andreaambrosio/hype-backtesting/blob/main/src/data/hyperliquid.py
Readable URL: https://github.com/andreaambrosio/hype-backtesting/blob/main/research/run_hip3_analysis.py
Readable URL: https://github.com/andreaambrosio/hype-backtesting/blob/main/src/engine/backtest.py
research/quant_digests/2026-04-15_1128_mark-oracle-percentile-dislocation-fade-alpha.mdhttps://eu.jerrypsy.top/momentum/reading/quant_digests/2026-04-15_1128_mark-oracle-percentile-dislocation-fade-alpha.html