源文件:research/quant_digests/2026-03-30_1919_perp-perp-funding-diff-nethurdle-alpha.md
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 checkshort 高 funding perp + long 低 funding perp,只在 funding differential 扣完完整成本栈后 仍有净边时入场主材料是 gencersarp 在 2026-03 仍在更新的 GitHub 仓库 cryptoarb。我重点看了:
README.mdconfig/main.yamlstrategies/perp_perp.pyoptimization/opportunity_ranker.pyportfolio/profit_model.pyscripts/run_live_screener.py这次真正值得 intake 的,不是“跨所 funding 有时不一样”这个老结论,而是 repo 把 same-underlier、same-contract-family 的 perp-perp funding differential 写成了一个可以直接做 first verdict 的完整骨架:
net_ev;对当前 desk 来说,这比“看谁 funding 最高就去收租”更有价值,因为它把这条 alpha 最容易自欺的地方——毛边很多,净边很少——直接工程化了。
PerpPerpDiffStrategy 里给出 entry/exit/hold/sizing,另一边在 live screener 里用 expected_profit() 把净边算到美元级别,而我补的 live 快照显示:当前 BTC / ETH 三所公开 funding spread 远远不够过线。config/main.yaml 给的 PerpPerpDiff 默认参数相当直接:
assets = [BTC, ETH]venues = [binance, bybit]min_funding_spread = 0.0002(即 2 bps / 8h)zscore_lookback = 30entry_z = 2.0exit_z = 0.5max_hold_bars = 6(8h bar 下即 最多持有 48h)position_size_pct = 0.30max_open_positions = 2strategies/perp_perp.py 的逻辑也很干净:
spread = fr_hi - fr_lo;abs(spread) < min_funding_spread 或 abs(z) < entry_z,直接不做;abs(z) < exit_z,则平仓。这说明它不是纯 headline carry,而是已经具备:
entryexitmax holdposition capopen position limit也就是完整 raw alpha 应有的最小结构。
真正把这条线从“想法”拉到“可执行”的,是 portfolio/profit_model.py:
net = funding_edge - trading_fees - slippage_cost - latency_cost - inventory_risk_cost
其中:
funding_edge = notional * funding_difftrading_fees = notional * taker_fee_rate * 2slippage_cost = notional * (slippage_bps / 10000) * 2latency_cost = notional * (latency_bps / 10000)inventory_risk_cost = notional * (inventory_risk_bps / 10000)scripts/run_live_screener.py 的默认 live 假设是:
notional_usd = 50,000slippage_bps = 2.0latency_bps = 0.5inventory_risk_bps = 1.04 bps、Bybit 6 bps、OKX 5 bps这组参数其实已经很诚实了:它不是拿“paper-thin maker fee”去装收益,而是默认你最容易先踩到的 taker / legging / latency 现实。
我用 Binance / Bybit / OKX 的公开 funding 接口做了一个本地快照,artifact 在:
reports/artifacts/quant_digests/20260330_perp_perp_funding_diff_netev/live_sanity_snapshot.json
快照时间:2026-03-30T19:20:55Z
最重要的几个硬数字:
OKX - Binance = 0.6836 bps / 8h;50k USD 名义本金,funding_edge ≈ +3.42 USDnet_ev ≈ -114.08 USDBybit - Binance = 0.5923 bps / 8h;funding_edge ≈ +2.96 USDnet_ev ≈ -124.54 USDBinance ↔ OKX:23.5 bps / 8hBinance ↔ Bybit:25.5 bps / 8hBybit ↔ OKX:27.5 bps / 8h换句话说,当前 live snapshot 给的不是“这条线没用”,而是一个更重要的 first verdict:
这条 alpha 不能拿日常小 funding diff always-on 跑;它只适合做极端 funding dislocation 的事件型 pocket,或者必须叠加更强的 maker/queue/execution edge。
如果这条线要进当前素材池,正确写法不该是:
而该是:
NO_TRADE。”这点和前两天已经 intake 的 spot-perp carry / richest-venue routing 也不同:
这条线和当前 desk 直接相关,因为它满足这轮优先级里比较靠前的那类: 可独立复现、可直接落地为完整策略、并且明确属于 carry / relative-value / stat-arb 家族的 raw alpha。
它和 1m / 3m / 5m / 15m 的关系也很清楚:
也就是说: alpha 兑现靠 funding,alpha 存活靠短周期执行。
funding_high_venue - funding_low_venue - fees - slippage - latency - inventory_riskabs(funding_spread) >= 2 bps / 8habs(zscore) >= 2.0net_ev > 0(desk 版必须强制加)cross-venue mid spread / top-of-book depth / settlement alignment 任一异常直接 veto30% capital 起步2 个同时 open pairmax_hold = 6 × 8h = 48habs(z) < 0.5 平仓orphan_protection.max_unhedged_bars = 1max_leg_divergence_bps = 35比起 always-on 地在每个 funding 周期都上,只做 net-EV hurdle 之上的 perp-perp funding differential,更像一条真实可活的 short-cycle carry alpha。
GET /fapi/v1/premiumIndex / GET /fapi/v1/fundingRateGET /v5/market/funding/historyGET /api/v5/public/funding-rate / funding-rate-history1m / 3m / 5m / 15mBTC / ETH / SOL,venue 先做 Binance / Bybit / OKX。funding_diff_{pair,t}funding_diff_z_{pair,t}cross_venue_mid_spread_{pair,t}top_of_book_depth_{pair,t}net_ev_{pair,t}spread-only(只要 funding diff 为正就做 richest-vs-cheapest)net-hurdle(z >= 2、net_ev > 0、mid_spread <= x bps、depth >= y × notional 才开)5m / 15m 窗口择最紧 mid spread 入场;z < 0.5 提前出场;net funding capturedmark-to-market leg driftslippage + fee dragtrade admission ratio(多少 funding 窗口 actually 过线)不是先卷更复杂预测器,而是先问一句:
在真实 taker 成本下,历史上到底有多少个 8h funding 窗口,真的能让 same-underlier perp-perp diff 过净边门?
如果这个比例本身极低,这条线就该被降级成:
而不是继续伪装成 always-on 收租机。
BTC / ETH / SOL × 3 venue pairs 回放近 12 个月,统计 net_ev > 0 的 funding window 占比,而不是先看 headline spread。taker-taker / maker-taker / maker-maker 三档;如果只有 maker-maker 才勉强转正,就要诚实把它降级成 execution-heavy 项目,而不是信号项目。-15m / -5m / +0m / +5m relative to funding settlement,检验赚的是 funding 还是腿间 mark drift。reports/artifacts/quant_digests/20260330_perp_perp_funding_diff_netev/live_sanity_snapshot.json2026-03-30T19:20:55Z