源文件:research/quant_digests/2026-03-26_1122_cross-exchange-cheapest-spot-richest-perp-contango.md
long cheapest spot / short richest perp,赚跨交易所现货-永续的收敛,而不是赌单腿方向先把 base alpha 说死:这不是“韩国上币套利流程”也不是“kimchi premium 监控面板”本身。真正可直接 desk 化的 raw alpha,是跨交易所 spot ask 与 perp bid 的费后 contango 净价差收敛。
也就是说,这轮我故意不把仓库 headline 里最吸睛的韩国出金腿当主角;对我们做 1m / 3m / 5m / 15m 的 desk,更值得先拆出来的是它里面那条更短、更纯、更可复制的分支:
> 全市场扫一遍,找 cheapest spot + richest perp 的组合;只在 fee-adjusted net spread 真正为正、且超过 buffer 时,做 delta-neutral 收敛。
主线材料是一份 2026 新仓库:
https://github.com/sueun-dev/crypto-market-neutral-platformhttps://github.com/sueun-dev/crypto-market-neutral-platform如果只看 README,很容易把它读成:
但对我们当前 desk 更值钱的,其实不是这条最慢的跨境腿,而是仓库里已经写死的一条更原子的 alpha:
net_spread 超过阈值时,做 long spot / short perp 的 delta-neutral 收敛;这就很符合这轮 intake 的优先级:
1m / 3m / 5m / 15m 的最小实验;我这次重点看了 4 个文件:
src/overseas_exchange_hedge/overseas/price_analyzer.pysrc/overseas_exchange_hedge/overseas/trade_executor.pysrc/overseas_exchange_hedge/overseas/position_tracker.pysrc/overseas_exchange_hedge/korea/exit/kimchi_premium.py最关键的是 price_analyzer.py。它不是泛泛说“找套利机会”,而是直接把 entry math 写出来了:
effective_spot = spot_ask * (1 + spot_taker_fee)effective_perp = perp_bid * (1 - perp_taker_fee)net_spread = (effective_perp - effective_spot) / effective_spot然后在所有 (spot_exchange, perp_exchange) 组合里,找 net_spread 最大的那一组。
换成人话:
> 不是看名义 basis,也不是看单交易所 perp premium;而是看“扣完两边 taker fee 后,这笔 long-spot / short-perp 还能剩下多少真钱”。
这就是一条标准的 short-horizon relative-value raw alpha,而且是很诚实的那种——成本先入模,不是最后再补。
仓库里有两个值得记的参数版本:
PRICE_DIFF_THRESHOLD = 0.0021(21bp)config.py:PRICE_DIFF_THRESHOLD = 0.0015(15bp)同时当前代码里还有:
ENTRY_AMOUNT = 100.0MAX_ENTRIES = 40SLEEP_SEC = 3FUTURES_LEVERAGE = 1这几个数字翻成人话就是:
1x,强调的是 delta-neutral carry / convergence,不是融资放大。trade_executor.py 里写得很明确:
1x leveragePROCEED_ON_PERP_ACK = True这说明作者自己也知道这条线的生死不在“预测准不准”,而在:
所以这条线的本质不是低频 carry,而是:
> 一个有明确 latency budget 的短周期收敛 alpha。
position_tracker.py 和 price_analyzer.py 已经把正常平仓该算的东西写齐了:
spot_exit = spot_bid * (1 - spot_fee)perp_exit = perp_ask * (1 + perp_fee)也就是说,production 上最诚实的主退出其实应该是:
而 korea/exit/kimchi_premium.py 只是额外给了一个增强退出:
premium = (korean_bid - overseas_price_krw) / overseas_price_krw * 100threshold = 3.0%这条腿对更慢、更事件驱动的 regional spread 套利当然有用,但对我们要优先补充的短周期 raw alpha 池,更应该先把它当 optional bonus,而不是把整个主题都绑在韩国出金上。
10.1016/j.jfineco.2019.07.001https://doi.org/10.1016/j.jfineco.2019.07.001这篇老但非常硬的 JFE 论文,不是拿来直接抄 1m 信号的,而是告诉我们:
10.5762/KAIS.2023.24.10.354http://dx.doi.org/10.5762/kais.2023.24.10.354OpenAlex 抽到的摘要很直白:
2017-09-26 ~ 2023-04-06 的汇率 + Upbit/Binance BTC spot 数据;对我们最值钱的翻译不是“去做一个汇率 LSTM”,而是:
> 如果 regional premium 的确有均值回归属性,那它更像 cross-exchange spot/perp 主策略的二级退出增强,不该反过来吃掉主 alpha 的位置。
为了不把 repo 直接神化,我补了一个很便宜但很诚实的 live check:
BTCUSDT5s 抓一次24 次快照(约 2 分钟)net_spread-20.1bp。-18.5bp,最差约 -20.9bp。15bp 的次数是 0/24;超过 README 旧阈值 21bp 的次数也是 0/24。Bybit spot -> Gate perp,说明“最优 pair 很稳定”,但稳定的是负毛边,不是正 edge。对应 artifact:
reports/artifacts/quant_digests/krw_or_cross_exchange_contango_20260326_live_snapshots.jsonreports/artifacts/quant_digests/cross_exchange_contango_20260326_live_summary.csv我又做了一个单次 top-6 snapshot(BTC / ETH / SOL / XRP / ADA / DOGE):
BTC: -19.7bpETH: -19.2bpSOL: -21.8bpXRP: -21.5bpADA: -30.4bpDOGE: -20.4bp对应 artifact:
reports/artifacts/quant_digests/cross_exchange_contango_20260326_top6_snapshot.json这组数的意思很明确:
> 如果只扫 majors、只用 taker/taker、又没有更低手续费档或 maker rebate,这条 alpha 现在基本活不在 BTC/ETH 这些最拥挤品种上。
这不是坏消息,反而很重要,因为它帮我们提前避免把 repo 误读成“随便扫三家大所 BTC 就能收租”的幻觉。
从代码骨架看,它确实是一条:
所以它是 raw alpha 没错。
但从 live quick check 看,当前更合理的定位是:
更贴近我们现在短周期研发节奏的落地顺序,应该是:
spot ask vs perp bid 扫描器跑起来;top 50~100 USDT spot/perp 共有币effective_spot_buy = best_spot_ask * (1 + taker_fee_spot)effective_perp_short = best_perp_bid * (1 - taker_fee_perp)net_spread = (effective_perp_short - effective_spot_buy) / effective_spot_buy> 15bp> 21bp / 25bp / 30bpclose_net_spread <= 0bp 或 <= 3bp1m / 3m / 5m / 15m 四档固定持有kimchi premium >= 3% 的慢速增强退出这条线最该诚实的地方就是 cost:
fees onlyfees + 0.5 tickfees + 1 tick + partial fill1m / 3m / 5m / 15m虽然 repo 代码是秒级轮询,但它对 desk 的短周期映射很自然:
1m:最适合事件采样与最快速 time stop3m:最像“给收敛一点时间,但不让 inventory 风险拖太久”5m:适合第一版 production backtest15m:更适合作为“慢 pocket 兜底”,不该拿来做最早入场也就是说,这条线并不是“只能做 tick 级 HFT”。它完全可以先降采样成 1m / 3m / 5m 的 event-driven stat-arb 研究线。
这主题值得进池,而且应该归类成 raw alpha。
但更准确的 verdict 不是:
而是:
换句话说:
> alpha 候选是对的,headline 读法是错的。
top 50~100 spot/perp 共有币5s 或 10scoin / spot_ex / perp_ex / raw_spread / fee_adjusted_spread / top_depth / funding目标不是先算收益,而是先回答:
1m / 3m / 5m / 15m markout对每个触发事件,至少输出:
+1m/+3m/+5m/+15m我强烈怀疑:
BTC/ETH 上这条边大概率被 fees 吃光;所以下一步必须分:
如果 taker/taker 费后全是负的,下一步别硬做更大样本,而是直接比较:
因为这条线的可活性,很可能主要取决于你能不能把其中一条腿 maker 化。
只有当 P0~P3 证明主 alpha 存在后,再去评估:
USDT/KRWUpbit/Bithumb bidkimchi premium >= 3%是否能把某些事件升级成更慢的 region-exit bonus。不要反过来本末倒置。
https://github.com/sueun-dev/crypto-market-neutral-platformhttps://github.com/sueun-dev/crypto-market-neutral-platformprice_analyzer.pytrade_executor.pyposition_tracker.pykimchi_premium.py10.1016/j.jfineco.2019.07.001https://doi.org/10.1016/j.jfineco.2019.07.00110.5762/KAIS.2023.24.10.354http://dx.doi.org/10.5762/kais.2023.24.10.354