源文件:research/quant_digests/2026-04-25_1037_oppositesign-funding-slippageveto-shell.md
这次看的是 2026 GitHub 仓库 johann-clouie/crypto-trading-bot。README 表面上把它包装成一个“12 交易所 funding arbitrage bot”,但真正值得 desk intake 的,不是“支持 12 所”这层 UI 叙事,而是它把一条 可以直接写成完整策略壳 的 raw alpha 摊得很直白:
funding_rate_scanner.py:找 一边 funding 为负、另一边 funding 为正 的同标的跨所机会entry_strategy.py:先过 order-book 深度 / slippage 检查,再决定能不能进fee_calculator.py:先扣 fees,再判断是不是值得做exit_strategy.py:给出 profit target + 8h max duration 的退出框架strategy_validator.py:把上面几层串成 pre-trade veto所以这份材料不是纯看板,更像一个 cross-venue funding carry 的最小可落地框架。
这篇东西的 base alpha 很清楚:
同一标的在不同交易所的 funding rate 若出现 opposite sign(例如 A 所为负、B 所为正),就能做 long negative-funding venue + short positive-funding venue 的 delta-neutral carry,收益主要来自 funding spread。
这首先是 raw alpha,不是 filter,也不是 overlay。
repo 里最有 desk 价值的旁支,不是“再多接几家交易所”,而是:
不要把 funding spread 本身当成充分条件;必须再叠一层 order-book slippage veto 和 fee-aware admission。
funding_rate_scanner.py 的核心 admission 很朴素:只有当 long leg funding < 0 且 short leg funding > 0 时,才认为存在可收的 spread;并且先做一个简化的 fee 扣减后才留下候选。entry_strategy.py 的高价值点是:先查盘口深度和 slippage,再决定能不能进,而不是看到正 carry 就直接下单。这比很多 funding note 更像真正能上 desk 的版本。exit_strategy.py 则把这条线从“静态 funding 观察”推进到“可落地策略”:到达 profit target、或持仓超过 8h 就平。~0.7–1.0 bps / funding period,远低于可交易成本门槛。虽然 funding carry 不是逐根 5m 主信号,但它仍然符合 bot7 当前更高优先级:
对 short-cycle desk 来说,15m / 5m 在这里承担的是:
而不是把 8h funding 本身硬装成逐根短周期主信号。
funding_rate_scanner.py 不是简单做 funding ranking,而是明确要求:
< 0> 0然后 gross spread 近似写成: abs(long_rate) + short_rate
这件事的好处是:
entry_strategy.py 会:
0.1%,直接 veto这比“看到正 APR 就冲”强很多。对 funding carry 这类边很薄的策略来说,slippage veto 不是锦上添花,而是 admission 本体的一部分。
exit_strategy.py 给的核心规则很简单:
8h这个设定很有用,因为它隐含了一个更 desk 化的读法:
这条线不应该被当成 always-on 收租机,而更像“只在 funding dislocation 足够厚时短时持有”的 pocket strategy。
我用三家公开 API:
对 BTCUSDT / ETHUSDT / SOLUSDT 做了最近 51 个对齐 funding period 的快检;每个时点都在三所里找 best opposite-sign pair,然后计算:
gross - 4bps产物:
reports/artifacts/quant_digests/2026-04-25_crossvenue_funding_oppositesign_probe_summary.csvreports/artifacts/quant_digests/2026-04-25_crossvenue_funding_oppositesign_probe_detail.csvBTC:51 个对齐 funding 点里,出现 opposite-sign 的有 22 个,占比约 43.1%0.71 bps / 8h4 bps 后平均约 -3.29 bps / 8h-6.38 bps / 8hETH:51 个里有 26 个 opposite-sign,占比约 51.0%0.96 bps / 8h4 bps 后平均约 -3.04 bps / 8h-5.50 bps / 8hSOL:51 个里有 12 个 opposite-sign,占比约 23.5%1.00 bps / 8h4 bps 后平均约 -3.00 bps / 8h-5.16 bps / 8h一句话:
opposite-sign 不是没有,但公开大所 majors 上现在通常只够当 signal candidate,不够直接下场。
也就是说,这份 repo 最值得保留的不是“这条 alpha 已经能在 BTC/ETH/SOL 上直接赚钱”,而是它给了一套很清楚的 admission / veto / hold framework:
BTC / ETH / SOLBinance / Bybit / OKX15m,必要时细到 5m因为目前 gross 太薄,更值得先测的是:
gross spread >= 5 bps / 8hp95 以上事件mid-cap / event regime / 单一交易所异常,而不是 BTC/ETH 常态期Binance / Bybit / OKX 三所,把 opposite-sign pocket 的历史分布跑干净。gross spread > fee hurdlegross spread > rolling p90 / p95order-book slippage < thresholdBTC/ETH 先当 base reality check;如果一直不够厚,再把注意力转去 SOL / XRP / DOGE / PEPE 这类 funding 更容易失衡的币。15m/5m child-level convergence exit4 bps 的简化处理,对真实四腿开平仓来说偏乐观;我自己的 quick probe 说明,现实里更像要面对 ~5–7 bps maker、甚至更差的成本层。这份 2026 repo 最值得 desk intake 的,不是“支持 12 交易所”,而是它把 opposite-sign funding carry 明确写成了一个“先过 fee,再过 slippage,再限定 8h 持有”的完整 raw alpha 壳;但最近三所 majors 的公开数据告诉我们:常态 edge 太薄,下一步必须只盯极端 pocket。
johann-clouie(GitHub handle;README 未写实名)funding_rate_scanner.py:https://raw.githubusercontent.com/johann-clouie/crypto-trading-bot/main/backend/core/funding_rate_scanner.pyentry_strategy.py:https://raw.githubusercontent.com/johann-clouie/crypto-trading-bot/main/backend/core/entry_strategy.pyexit_strategy.py:https://raw.githubusercontent.com/johann-clouie/crypto-trading-bot/main/backend/core/exit_strategy.pyfee_calculator.py:https://raw.githubusercontent.com/johann-clouie/crypto-trading-bot/main/backend/core/fee_calculator.pystrategy_validator.py:https://raw.githubusercontent.com/johann-clouie/crypto-trading-bot/main/backend/core/strategy_validator.py/root/clawd/jerry/momentum/reports/artifacts/quant_digests/2026-04-25_crossvenue_funding_oppositesign_probe_summary.csv/root/clawd/jerry/momentum/reports/artifacts/quant_digests/2026-04-25_crossvenue_funding_oppositesign_probe_detail.csv