源文件:research/quant_digests/2026-04-12_0830_crossvenue-netcarry-ranking-alpha.md
max(net carry) venue vs min(net carry) venue 的对冲配对,也就是 funding diff + basis diff - fees - slippage 最大的那一对。这轮看的是 Razrocks (2026), _Funding-Basis---Strategy-Monitor_。
表面上它是个 Binance / Hyperliquid / dYdX 的 funding+basis carry dashboard,但对我们 desk 真正有价值的,不是看板,而是它把一条可复现的 cross-venue raw alpha 写得很清楚:
> 不是单看某个 venue 的 funding 高不高,而是对同一标的,把每个 venue 的 net carry 算干净,再做 最高净 carry venue 对 最低净 carry venue 的相对价值配对。
翻成人话:
这和我们最近看的两类材料都不一样:
small-cap cross-venue quote gap 那种 秒级 BBO 错位回归;same-expiry futures basis differential 那种 同期限期货跨所收敛;funding_apr + basis_apr - fee_cost - slip_cost,再交易 max-net-carry 对 min-net-carry 的对冲 pair。源码里最关键的三步是明牌写出来的:
funding_apr = funding_rate * (seconds_per_year / funding_interval_seconds)basis_apr = ((mark/index) - 1) * (seconds_per_year / basis_horizon_seconds)net_carry = funding_apr + basis_apr - fee_cost_apr - slippage_cost_apr - borrow_aprfunding_rate > 0 -> SHORT earnsfunding_rate < 0 -> LONG earnsearn = argmax(net_carry)hedge = argmin(net_carry)pair_expected = funding_diff + basis_diff - total_fees - total_slippage也就是说,这条 alpha 的 base 不是“预测涨跌”,而是:
> 同一资产在不同 perp venue 上的 carry economics 本来就可能不同;只要这个差异在成本后仍显著,而且书上吃得下,就能形成一条 cross-venue raw alpha。
config.yaml 直接把短周期 desk 最关心的几个现实问题写死了:
30s5s20 档5 / 10 / 25 bpsmin_net_carry_apr = 5%min_quality_score = 40min_capacity_10bps_usd = 5000这说明它不是“只算理论 funding”的 notebook,而是已经把 能不能成交 当成主约束。
这份仓库最值得学的不是收益数字,而是它知道哪些 edge 最容易是假的:
Quality Score:惩罚 funding volatility、basis volatility、极端 z-score、OI shockTrap Tags:Funding spike / OI shock / Carry unstable / Basis inversion / Crowdedcapacity_at_slippage():不是只看 top-of-book,而是看 在固定 slippage 容忍下真实能吃多少美元 notional这很适合我们 desk,因为 cross-venue carry 最怕两类误判:
我直接用三所公共 API 拉了当次 BTC perp 快照,并按 repo 公式手动重算了 25k USD 规模下的单 venue net carry 与 best pair。
当次快检(2026-04-12 08:30 UTC 左右)有三个很重要的点:
-51.96% APR-34.38% APR-42.05% APR-2.20% APR-15.75% APR-23.74% APRearn venue = dYdXhedge venue = Binanceedge_apr ≈ +21.54%pair_expected_apr ≈ +19.59%pair_capacity ≈ 177,880 USD(按 10bps 容量约束)这组数最关键的启发是:
> 同一个 snapshot,在 1 天口径和 30 天口径下,edge 可以从“看起来不值得”变成“pair 级别可讨论”。所以这条 alpha 不是纯秒级/分钟级 book,也不是纯 8h funding book,而是一个“执行 horizon 很关键”的 carry RV。
这条线对 momentum 的价值很直接,因为我们当前明确想补的是:
1m/3m/5m/15m 最小实验的结构这份 repo 刚好补了一个我们还没系统化的空白:
虽然它有 quality score、trap tags 这类 filter 成分,但 base alpha 本体是清楚的:
所以它不是纯 filter,不是纯 regime,不是只会说“别做”。
因为它的数据全是公开且高频可取:
premiumIndex / openInterest / depthmetaAndAssetCtxs / l2BookperpetualMarkets / orderbooksrepo 默认就是:
30s 拉 funding/mark/index/OI5s 拉 orderbook所以你完全可以把它压缩成:
30s 原始 event stream1m / 3m / 5m / 15msame-contract cross-venue quote gap:那条线主要赚 BBO 价差瞬时收敛。same-expiry futures basis differential:那条线主要赚 跨所期货曲线偏离。最高净 carry venue 对 最低净 carry venue 的配对,是一条可独立成立的 raw alpha。quality_score >= 40capacity_10bps_usd >= 5000trap_tags 不能过多funding_only=False 时 basis 才一起参与排序1d/3d/7d/30d 至少四档)/fapi/v1/premiumIndex、/fapi/v1/openInterest、/fapi/v1/depthPOST /info 的 metaAndAssetCtxs、l2Book/v4/perpetualMarkets、/v4/orderbooks/perpetualMarket/{market}30s + 5s 级别对每个 symbol、每个 venue,在每个时间点计算:
funding_aprbasis_aprslippage_bps(size)net_carry_apr(size, hold_days)然后在同一时刻做:
earn = argmax(net_carry_apr)hedge = argmin(net_carry_apr)edge_apr = earn.net_carry_apr - hedge.net_carry_aprpair_expected_apr = funding_diff + basis_diff - fees - slippageBTC / ETH / SOL 开始30s 原始快照,再聚合到 1m / 3m / 5m / 15m10k / 25k / 50k 三档1d / 3d / 7d / 30dpair_expected_apr > 0pair_capacity_usd >= sizequality_min >= 40max(trap_tags_union) <= 230m / 1h / 4h / 8h / 1d 是否持续、是否塌缩、是否跨 funding window 兑现。我的 first verdict 是:
> 这是一个合格的 raw alpha intake,而且很适合当前 desk。
原因不是它已经是完整生产策略,而是:
30s/1m 的高频 event-study,也能做 5m/15m 的低频聚合验证;但也要明确:
1 day 年化 basis,这对短 hold 来说偏激进,对长 hold 又可能偏粗糙。edge_apr > 0 误当成“马上值得打”。真正该关心的是:edge 持续多久、能否跨 funding 窗、两腿容量是否同步、执行后还能剩多少。BTC/ETH/SOL 三个 symbol、三所快照、连续 7~14d。edge_apr > 10% / 20% / 30% 出现后,未来 30m / 1h / 4h / 8h / 1d 的衰减曲线。intra-day carry RV、pre-funding hold 还是 multi-day pair carry。taker/taker、maker/taker、maker/maker proxy,不然很多正 edge 会只是纸面现象。https://github.com/Razrocks/Funding-Basis---Strategy-Monitorhttps://github.com/Razrocks/Funding-Basis---Strategy-Monitorhttps://github.com/Razrocks/Funding-Basis---Strategy-Monitor/blob/main/README.mdhttps://github.com/Razrocks/Funding-Basis---Strategy-Monitor/blob/main/config.yamlhttps://github.com/Razrocks/Funding-Basis---Strategy-Monitor/blob/main/core/cross_venue.pyhttps://github.com/Razrocks/Funding-Basis---Strategy-Monitor/blob/main/core/metrics.pyhttps://github.com/Razrocks/Funding-Basis---Strategy-Monitor/blob/main/core/execution.pyhttps://github.com/Razrocks/Funding-Basis---Strategy-Monitor/tree/main/connectorshttps://github.com/Razrocks/Funding-Basis---Strategy-Monitor/tree/main/tests0668422a1f4539ca19fcf67caa57b38bc93dacaa2026-02-22 19:32:05 -0500https://fapi.binance.com/fapi/v1/premiumIndex, https://fapi.binance.com/fapi/v1/openInterest, https://fapi.binance.com/fapi/v1/depthhttps://api.hyperliquid.xyz/infohttps://indexer.dydx.trade/v4/perpetualMarkets, https://indexer.dydx.trade/v4/orderbooks/perpetualMarket/BTC-USD如果只把它看成“30 天 carry 监控器”,会低估它;如果硬把它说成秒级 quote-gap,又会说过头。
更准确的 desk 定位是:
30s/5s1m / 3m / 5m / 15m数十分钟 到 跨 funding 窗 都有所以它很适合作为:
1m/3m 的 edge-appearance / persistence 事件研究;5m/15m 的 carry RV 排名与持有窗测试;