← 返回 Quant Digests · 站点首页

别把这份 funding-rate repo 只读成课程项目:对 short-cycle desk,更该先拆的是「positive funding × rich-perp spread × post-cost label」这条完整 delta-neutral raw alpha 壳

更新时间:2026-04-13 02:47 UTC 研究时间:2026-04-13 02:33 UTC 类型:2026 GitHub repo source audit(GitHub API metadata + `README.md` + `docs/features.md` + `docs/labels.md` + `docs/baselines.md` + `docs/signals.md` + `docs/backtest.md` + `configs/models/baseline.yaml` + `configs/labels/default.yaml` + `configs/backtests/default.yaml` + `src/funding_arb/features/builders.py` + `src/funding_arb/labels/generator.py`)+ Binance public `15m` portability probe 主题标签:raw-alpha/carry/funding/basis/delta-neutral/stat-arb/spot-perp/post-cost-label/complete-shell/1h-state/5m-15m-execution/binance/repo/public-data/cost/risk 证据类型:repo 证据 + 公共数据 portability probe

源文件:research/quant_digests/2026-04-13_0233_postcost-fundingbasis-deltaneutral-shell.md

1. 先把一句话说清楚:这篇东西的 base alpha 是什么?

> base alpha = positive funding + rich perp-vs-spot spread 这组状态,意味着 short perp / long spot 这笔 delta-neutral 交易的未来净收益更可能为正;repo 真正值钱的地方,是把这件事直接写成“成本后还能不能赚钱”的可训练、可回测、可执行壳。

翻成人话:

2. 这次看了什么

主来源(repo)

本轮重点读取的 repo 证据

  1. docs/features.md
  2. docs/labels.md
  3. docs/baselines.md
  4. docs/signals.md
  5. docs/backtest.md
  6. configs/models/baseline.yaml
  7. configs/labels/default.yaml
  8. configs/backtests/default.yaml
  9. src/funding_arb/features/builders.py
  10. src/funding_arb/labels/generator.py

这轮不是把 repo 当“课程项目工程展示”看,而是先问:

> 里面到底有没有一条能被我们 desk 直接拿来做最小实验的完整 raw alpha 壳?

答案是:有。 而且比“谁 funding 高就去空谁”更完整,因为它已经把:

全部串起来了。

3. repo 里最值得拿走的,不是黑箱模型,而是这条完整策略定义

3.1 数据层已经够直接

repo 默认数据就是:

这很重要,因为它意味着:

3.2 它把 carry / basis 写成了明确特征

repo 的 feature 设计里,最核心的是两组:

#### Funding 组

#### Basis / spread 组

再往上它还做了 interaction / state:

这套写法的价值在于:

4. 这条 raw alpha 在 repo 里到底是怎么落地的?

4.1 最朴素的 rule baseline 已经把核心想法说透了

configs/models/baseline.yaml 里给了三个 rule baseline:

  1. funding_threshold_2bps
  1. spread_zscore_1p5
  1. combined_funding_spread

对我们 desk 最值得先拿的,就是第三条:

> positive fundingrich spread 要同时成立,才做 short perp + long spot

这比单看 funding 或单看 basis 更诚实,因为:

4.2 repo 没把它停留在“规则触发”

更值钱的地方在 label 层。

configs/labels/default.yamlsrc/funding_arb/labels/generator.py 里,repo 明确把目标定义成:

而且净收益定义得很清楚:

```text future_net_return_bps = perp_leg_return_bps + spot_leg_return_bps + funding_return_bps

成本也不是口头说说,而是显式进标签:

默认成本参数对应到 repo 回测壳,大约是:

也就是 roughly:

这点很关键:

> repo 的升级,不是“我也觉得 funding carry 可能有 alpha”;而是“这笔交易扣完成本后,到底还能不能留下正净收益”,并把这件事做成统一标签。

4.3 backtest 壳已经是完整的

configs/backtests/default.yaml 给的执行壳已经很清楚:

所以这不是“研究直觉卡片”, 而是已经具备:

的完整策略原型。

5. 对 short-cycle desk,真正有用的读法是什么?

不是直接说:

而是要改写成:

> repo 提供的是一个慢状态的 carry/basis admission shell;短周期 desk 要做的,不是强行把核心逻辑改成逐根 1m/3m/5m 主信号,而是把它当成 1h state,再下沉到 15m/5m 执行层。

也就是说:

6. 我做了一个最小 15m portability probe:结果很诚实

6.1 数据口径

6.2 本地 artifacts

6.3 关键结果:直接翻成 15m threshold shell,不过线

#### repo 风格的 signal-off 直译版(3 个 symbol 聚合)

#### 固定持有 8h 也没救回来

#### 固定持有 24h 仍然不够

7. 这组结果说明了什么?

7.1 它不是“repo 没价值”

相反,这个 probe 恰好说明:

> repo 值钱的部分,不是朴素阈值本身,而是“post-cost label + ranking model + unified signal/backtest shell”这一整套研究框架。

因为在 15m 上直接把规则硬翻下来,会出现两个问题:

  1. 持有太短
  1. spread 还没来得及真正收敛,成本已经先吃掉了 gross edge

7.2 对 short-cycle desk 的正确读法,不是“马上上这条 15m 规则”

而是:

换句话说:

8. 所以这轮应该把它放在研究池里的什么位置?

我的判断是:

8.1 它仍然属于 raw alpha

因为它的 base alpha 很清楚:

8.2 但它更像“完整研究壳 + 慢状态 alpha”,而不是已经 deskified 的 fast lane 赢家

这也是为什么它值得写:

9. 与当前 1m / 3m / 5m / 15m 的关系

最合理的 desk 化映射是:

1h 负责状态

15m / 5m 负责执行

所以它和短周期 desk 的关系不是“无关”, 而是:

> 它更像 carry/basis 家族的上层录取器与完整研究壳,下层执行再交给 15m / 5m

10. 下一步怎么测

  1. 别再用裸 threshold 当最终版,改测 ranking signal
  1. 把进入时点改成 funding event-time router
  1. 1h state 下沉成 15m / 5m execution shell
  1. 补更贴近交易的外生字段
  1. 把成本假设改成 maker-first / mixed execution

11. 一句话带走

> 这份 2026 funding-rate repo 值钱的,不是“funding 高就空”这句老话,而是它把 positive funding × rich perp spread 这条 delta-neutral carry/basis raw alpha,写成了公开数据可复现、成本后可打标签、信号层与回测层统一的完整研究壳;但我这轮 15m public-data probe 也很明确地告诉我们:别把它误读成现成 fast-lane 裸信号,当前更诚实的用法是把它当 1h state / post-cost ranking shell,再下沉到 5m/15m 做执行。