← 返回 Quant Digests · 站点首页

别把 perp-perp funding diff 继续写成 funding 排名表:这份 2026 GitHub 仓库更该先测的是「net-EV hurdle × same-underlier venue pair」raw alpha

更新时间:2026-03-30 19:36 UTC 研究时间:2026-03-30 19:19 UTC 类型:2026 GitHub 仓库 + `README` / `config/main.yaml` / `strategies/perp_perp.py` / `optimization/opportunity_ranker.py` / `portfolio/profit_model.py` / `scripts/run_live_screener.py` source audit + Binance/Bybit/OKX 公开 funding live sanity check 主题标签:raw-alpha/carry/funding/perp-perp/cross-venue/relative-value/stat-arb/same-underlier/net-ev-hurdle/cost-stack/8h-clock/binance/bybit/okx/1m/3m/5m/15m/repo/public-data/cost 证据类型:工程实现证据 + 公开 live 快照 + 本地成本复核

源文件:research/quant_digests/2026-03-30_1919_perp-perp-funding-diff-nethurdle-alpha.md

1. 这次看了什么

主材料是 gencersarp 在 2026-03 仍在更新的 GitHub 仓库 cryptoarb。我重点看了:

这次真正值得 intake 的,不是“跨所 funding 有时不一样”这个老结论,而是 repo 把 same-underlier、same-contract-family 的 perp-perp funding differential 写成了一个可以直接做 first verdict 的完整骨架:

  1. 先做 venue pair 同币 funding spread
  2. 再用 spread z-score 过滤薄边噪音;
  3. 再把 fees / slippage / latency / inventory risk 一次性扣进 net_ev
  4. 只留下 扣完成本仍为正 的候选。

对当前 desk 来说,这比“看谁 funding 最高就去收租”更有价值,因为它把这条 alpha 最容易自欺的地方——毛边很多,净边很少——直接工程化了。

2. 核心结论

2.1 repo 里最该记住的策略骨架

config/main.yaml 给的 PerpPerpDiff 默认参数相当直接:

strategies/perp_perp.py 的逻辑也很干净:

这说明它不是纯 headline carry,而是已经具备:

也就是完整 raw alpha 应有的最小结构。

2.2 repo 里最值钱的不是信号,而是净边核算

真正把这条线从“想法”拉到“可执行”的,是 portfolio/profit_model.py

net = funding_edge - trading_fees - slippage_cost - latency_cost - inventory_risk_cost

其中:

scripts/run_live_screener.py 的默认 live 假设是:

这组参数其实已经很诚实了:它不是拿“paper-thin maker fee”去装收益,而是默认你最容易先踩到的 taker / legging / latency 现实。

2.3 本地 live sanity check:当前三所公开 funding spread 还远远不够

我用 Binance / Bybit / OKX 的公开 funding 接口做了一个本地快照,artifact 在:

reports/artifacts/quant_digests/20260330_perp_perp_funding_diff_netev/live_sanity_snapshot.json

快照时间:2026-03-30T19:20:55Z

最重要的几个硬数字:

换句话说,当前 live snapshot 给的不是“这条线没用”,而是一个更重要的 first verdict:

这条 alpha 不能拿日常小 funding diff always-on 跑;它只适合做极端 funding dislocation 的事件型 pocket,或者必须叠加更强的 maker/queue/execution edge。

2.4 这次最值得 desk 记住的交易结论

如果这条线要进当前素材池,正确写法不该是:

而该是:

这点和前两天已经 intake 的 spot-perp carry / richest-venue routing 也不同:

3. 为什么和当前项目有关

这条线和当前 desk 直接相关,因为它满足这轮优先级里比较靠前的那类: 可独立复现、可直接落地为完整策略、并且明确属于 carry / relative-value / stat-arb 家族的 raw alpha。

它和 1m / 3m / 5m / 15m 的关系也很清楚:

也就是说: alpha 兑现靠 funding,alpha 存活靠短周期执行。

3.5 策略拆解(必填)

4. 可复刻的最小实验

4.1 研究假设

比起 always-on 地在每个 funding 周期都上,只做 net-EV hurdle 之上的 perp-perp funding differential,更像一条真实可活的 short-cycle carry alpha。

4.2 数据源、公开性、更新频率

4.3 最小实验口径(建议先做这个)

  1. 标的先只做 BTC / ETH / SOL,venue 先做 Binance / Bybit / OKX
  2. 每分钟记录:
  1. 生成两套版本:
  1. 入场先用最保守的短周期映射:
  1. first-verdict 只看四个指标:

4.4 当前 desk 更该先测哪一刀

不是先卷更复杂预测器,而是先问一句:

在真实 taker 成本下,历史上到底有多少个 8h funding 窗口,真的能让 same-underlier perp-perp diff 过净边门?

如果这个比例本身极低,这条线就该被降级成:

而不是继续伪装成 always-on 收租机。

5. 下一步怎么测

  1. 先补“过线率”统计:按 BTC / ETH / SOL × 3 venue pairs 回放近 12 个月,统计 net_ev > 0 的 funding window 占比,而不是先看 headline spread。
  2. 把执行口径分层:至少拆 taker-taker / maker-taker / maker-maker 三档;如果只有 maker-maker 才勉强转正,就要诚实把它降级成 execution-heavy 项目,而不是信号项目。
  3. 把 entry 时点前移/后移做成网格-15m / -5m / +0m / +5m relative to funding settlement,检验赚的是 funding 还是腿间 mark drift。
  4. 加一个 quote-stability veto:只有当腿间 mid spread、深度、盘口更新频率都稳定时才放行,避免把 funding edge 死在 legging risk 上。

6. 来源

  1. gencersarp. (2026). _cryptoarb_. GitHub repository.
  1. Binance USDⓈ-M Futures API. _Premium Index / Funding Rate_
  1. Bybit V5 API. _Get Funding Rate History_
  1. OKX API v5. _Get funding rate / funding rate history_
  1. 本地 live artifact(本次快照)