源文件:research/quant_digests/2026-04-08_1105_triangular-cycle-cost-latency-alpha.md
README.md + src/strategies/arbitrage.py)我这次看的是 mefai-dev/mefai-autotrade 这个近期仍活跃的仓库(GitHub Stars 108,2025-11-28 push)。虽然 repo 对外包装成“大而全自动交易系统”,但对我们 desk 更值钱的其实是它在 src/strategies/arbitrage.py 里明写的一条旁支 raw alpha:三角套利。源码不是泛泛说“支持 arbitrage”,而是直接写了 USDT -> BTC -> ETH -> USDT 与反向路径的收益公式、round-trip 成本扣减、净利门槛、延迟/陈旧报价闸门、单笔/总敞口上限。
taker_fee_bps、max_slippage_bps、提现/跨所成本项,只有 net_profit 过线才生成信号。min_spread_pct=0.10%、min_net_profit_usd=$5、taker_fee_bps=7、max_slippage_bps=10、max_exposure_usd=50,000、max_trade_usd=5,000、max_open_arbs=5。max_latency_ms=200、max_price_age_ms=1500。这很关键——三角套利不是“看到价差就上”,而是“只在报价够新、链路够快时才承认 edge”。spread_pct / expected_profit / transaction_cost / net_profit / buy_price / sell_price 一起打进 signal metadata,说明它天然适合改造成我们自己的 admission + friction ladder 框架。这条线和我们现在要补的 raw alpha 素材池 直接相关,而且刚好能把注意力从 breakout / trend 扩到 relative-value / stat-arb。更重要的是,它不是“只会告诉你市场可能有效”的解释型材料,而是已经把 entry / exit / sizing / risk / cost 的骨架写进去了:
cycle_gap > fees + slippage + min_net_profit;price_age < 1500ms;latency < 200msmax_trade_usd、max_exposure_usd、max_open_arbs;三腿执行失败即视为残腿风险,需要单独记账与强平兜底BTCUSDT / ETHUSDT / ETHBTC 这类高流动性三角里,只有当三角路径毛收益明显高于三腿费用与滑点时,短周期才存在可成交的净 edge。gap_fwd = bid_ETHUSDT / (ask_BTCUSDT * ask_ETHBTC) - 1gap_rev = (bid_BTCUSDT * bid_ETHBTC) / ask_ETHUSDT - 1net_gap = max(gap_fwd, gap_rev) - fee_3leg - slip_3leg - fixed_hurdlebookTicker 或高频 top-of-book 快照,做 BTCUSDT / ETHUSDT / ETHBTC 的 1m 主实验,再聚合成 3m / 5m 看机会密度是否塌陷;如果 spot 数据链路麻烦,可先用 perp proxy 做“伪三角”可行性 sanity check。post-cost net edge / opportunity(每次机会扣完三腿成本后还剩多少)fillable opportunity count(真正过净利门槛、且报价不过期的机会数)bookTicker 级别。$5 净利门槛在低手续费 tier 下也可能很快被竞争者吃掉。https://github.com/mefai-dev/mefai-autotradehttps://github.com/mefai-dev/mefai-autotrade/blob/master/README.mdhttps://github.com/mefai-dev/mefai-autotrade/blob/master/src/strategies/arbitrage.pytriangular arbitrage(同文件内与 basis / funding / cross-exchange 并列实现)