币圈套利
币圈套利
币圈 24/7 全天候,撮合快,交易所多,永续合约 + 现货 + 期权 + DEX 同时存在,是天然的套利土壤。 几乎所有套利策略都可以套用「现货搬砖 + 资金费率 + 期现 + 期权」的组合变种。
一、现货搬砖(Cross-Exchange Arbitrage)
原理
同一币种在不同交易所存在价差(如 BTC 在 Binance 67000、OKX 67050),低买高卖,扣除提币手续费和转账时间后净赚。
收益公式
profit_per_unit = price_high - price_low - fee_buy - fee_sell - withdraw_fee - transfer_time_risk_cost
annualized_yield = profit_per_unit / (price_low * transfer_time_days / 365) * trade_count_per_day
例:Binance BTC 67000,OKX 67050,币安提币手续费 0.0002 BTC = 13.4 USD,OKX 充值到账 5 分钟。 净利 = 50 - 13.4 = 36.6 USD / BTC,扣除 5 分钟资金占用机会成本,几乎无风险。
技术要点
- 需要在两个交易所都有 API 账户、资金、API key
- 行情/下单要并行(asyncio + ccxt / 各自 SDK)
- 充值地址白名单、提币 API 权限、API key IP 白名单
- 资金在交易所之间轮转,预留每边库存
- 同步锁:下单时两边账本要算清楚(防一腿成交)
难点
- 提币有最小确认数(BTC 1 个、区块链 10 分钟),期间价格可能反转
- 大额提币触发风控,需要 L2 通道或内部账户划转
- 套利空间常被做市商压缩到 1-2 bp,需要高频抓瞬时价差
- 跨币种(USDT vs USDC vs USD)隐性成本
二、期现套利(Cash & Carry)
原理
现货 + 季度合约(或永续)之间存在价差。期货价格 > 现货价格时,做空期货 + 买现货,到交割(或资金费率结算)时收敛。
收益公式
basis_annualized = (futures_price - spot_price) / spot_price * (365 / days_to_expiry)
net_apy = basis_annualized - funding_cost - borrow_cost - trading_fee
例:BTC 现货 67000,季合约 68500,还有 90 天到期。 基差年化 = (68500-67000)/67000 * (365/90) = 9.1% 减去借 USDT 利息 6%、双边手续费 0.04%,净 3% 套利。
技术要点
- 资金要同时管理两边:现货账户 + 合约账户
- 合约要选永续或季度,避免快到期的剧烈基差波动
- 借币(margin borrow)成本要算准
- 触发强平价的仓位控制(不要满仓)
- 滚动(roll):近月合约到期前换到下个月
难点
- 基差可能突然收窄或翻转(出现 backwardation)
- 杠杆爆仓:极端行情下现货没动但期货爆了
- 借币利率突然飙升(流动性危机)
- 资金费率结算日(一般 8h 一次)账面波动
三、资金费率套利(Funding Rate Arbitrage)
原理
永续合约通过每 8 小时收/付的资金费率锚定现货。当 funding rate > 0(多头付给空头)时,做空永续 + 买现货,净收资金费率。
收益公式
funding_per_8h = position_notional * funding_rate
apy = funding_rate * 3 * 365 - borrow_cost - trading_fee
例:ETH 永续 funding 0.03%/8h,做空 100 万 USDT 名义价值。 8h 收 300 USDT,每天 900 USDT,年化 32.85% 减去借币成本 5% + 手续费 0.04%,净 ~27%。
技术要点
- 多空两边要 delta neutral(用同币种等市值对冲)
- 监控 funding rate 变化(突然变负就要平仓)
- 现货和合约账户分仓,资金划转
- Funding 结算时间:UTC 0/8/16 点,提前 30 秒对账
- 不同交易所 funding rate 差异,可以做跨所 funding 套利
难点
- 极端行情 funding rate 短暂飙到 0.1%+,空头被强平
- 多空腿同时平仓的滑点
- 现货流动性不够时,对冲不精准(basis risk)
- 持仓费率不等价(永续合约本身有 0.01% 默认 funding,正负都可能)
四、跨期套利(Calendar Spread)
原理
同一标的不同到期月份的期货合约价差不合理时,买近卖远(或卖近买远),等收敛。
收益公式
calendar_spread = price_far - price_near
# 看多 spread: long near + short far
# 看空 spread: short near + long far
配对交易本质:两个合约的 PnL 之差 = spread 变化 期货曲线 Contango 状态(远月高)通常做空 spread,Backwardation 反之。
技术要点
- 理解期货曲线(term structure)的成因
- 选择相关性强的合约对(同一币种不同月份)
- 跨期保证金抵消,降低资金占用
难点
- 跨期流动性差距大(近月主力流动性好,远月差)
- 移仓成本(手续费 + slippage)
- 行情拐点时价差可能持续扩大而不是收敛
五、跨交易所永续资金费率套利
原理
不同交易所同一币种的永续合约 funding rate 不一样。例:Binance ETH funding 0.02%,OKX ETH funding 0.05%,做多 Binance + 做空 OKX,吃 OKX 高 funding。
收益公式
apy = (rate_high - rate_low) * 3 * 365 - double_fee - transfer_cost
技术要点
- 找 funding rate 差异大的窗口(通常在小币种、低流动性时)
- 实时同步 funding rate
- 跨所资金调拨
难点
- 提币耗时,期间 funding 可能反转
- 资金被锁在两边,回报率被闲置资金拉低
六、DEX-CEX 套利
原理
DEX(Uniswap / Curve / PancakeSwap 等)价格和 CEX 价格不一致,从便宜的买、贵的卖。
收益公式
profit = price_cex - price_dex - gas_fee - slippage
注意:CEX 是 bid/ask,DEX 是 mid price,但实际成交要按 impact price 算。
技术要点
- 链上节点 + mempool 监听(需要自己的 RPC 或 Flashbots)
- Gas 价格预测(EIP-1559 base fee + priority fee)
- MEV 防护:交易可能被抢跑(frontrun)
- 私钥或合约账户(Gas 代币授权)
难点
- Gas 成本吃掉小价差(特别是 L1)
- 滑点:单笔大额交易移动价格
- 抢跑机器人竞争(特别是 MEV)
- 智能合约风险(被攻击或 rug)
- 区块确认时间(12 秒)+ 跨链桥延迟
七、DEX 三角套利(Triangular Arbitrage)
原理
DEX 上一组交易对(USDC/ETH、ETH/USDT、USDT/USDC)价格不一致,存在循环套利空间。
收益公式
# 三个 pair:USDC/ETH, ETH/USDT, USDT/USDC
# 起步 1 USDC → 买 ETH → 卖 USDT → 买回 USDC
final = 1 * (1/price_usdc_eth) * price_eth_usdt / price_usdt_usdc
profit_ratio = final - 1
技术要点
- 单笔交易原子性(路由合约一笔完成)
- 路径选择:哪个三角对流动性最好
- Gas 估算与回滚保护
- 路由器:1inch / 0x / Uniswap Router
难点
- 三腿滑点叠加(每腿 0.1%,三腿就 0.3%)
- 套利空间持续时间 < 1 个区块(~12s)
- 与其他 MEV bot 竞争
- 失败交易也要付 Gas(revert 仍扣手续费)
八、闪电贷套利(Flash Loan)
原理
Aave / dYdX 等提供无需抵押的闪电贷,借出 → 操作 → 归还都在一笔交易内完成。利用大资金吃小价差。
收益公式
profit = arbitrage_profit - flash_loan_fee - gas_fee
# 闪电贷费率 0.09%(Aave V3)
技术要点
- 智能合约开发(Solidity)
- 单笔交易原子性(失败回滚不损失本金)
- 链上节点 / Flashbots 通道
难点
- 抢跑严重(mev-boost / sandwich)
- Gas 战:出价高才能被打包
- 智能合约 bug = 全部资金损失
- 监管风险(部分司法辖区不承认套利合法性)
九、稳定币套利
原理
USDT、USDC、DAI、BUSD 之间的汇率脱锚(正常是 1:1,崩盘时会偏离)时,跨平台套利。USDC/USDT 在币安 P2P、Coinbase、Binance 现货之间。
收益公式
profit_per_unit = (sell_price - buy_price) * amount - fee
# 例:USDC 在 Curve 0.998 USDT,在 Binance 1.002 USDT
# 买 10w USDC,套利 400 USDT
技术要点
- 实时监控脱锚
- 区分场内价差和场外(P2P)价差
- 注意赎回/铸币限制(USDC 大额赎回需要时间)
难点
- 脱锚往往是单边大行情,回不去
- 大额赎回触发银行结算延迟
- 监管事件导致突然脱锚(SVB 事件 USDC 跌到 0.87)
十、期权套利
原理
- 跨交易所期权价差(同标的不同交易所)
- 隐含波动率(IV)套利:买卖波动率
- 期权 vs 现货合成套利(put-call parity)
收益公式(Put-Call Parity)
# 欧式期权无套利条件
C - P = S - K * e^(-r*T)
# C: call price, P: put price, S: spot, K: strike, r: risk-free rate, T: time to expiry
# 如果 C - P > S - K * e^(-r*T)
# 卖 call, 买 put, 买现货, 借 K*PV → 套利
技术要点
- 隐含波动率建模(Black-Scholes / SABR / local vol)
- Greeks 风险对冲(delta/gamma/vega)
- 资金利用率高
难点
- 币圈期权市场流动性差(Deribit 主导)
- Greeks 动态对冲(gamma scalping)
- 隐波曲面建模难
- 到期日跳跃(pin risk)
十一、统计套利 / 配对交易(Pairs Trading)
原理
找出历史高度相关的两个币种(如 ETH/BTC、LINK/ETH),当价差偏离均值时,做空高价、做多低价,等均值回归。
收益公式
# 计算价差 z-score
spread = log(price_A) - beta * log(price_B)
z_score = (spread - mean) / std
# z > 2: short spread(卖 A 买 B)
# z < -2: long spread(买 A 卖 B)
技术要点
- 协整检验(Engle-Granger / Johansen)
- beta 滚动估计(60/90/120 日窗口)
- 半衰期(half-life)判断回归速度
- 资金平衡(两边市值相等)
难点
- 相关性突变(黑天鹅后 β 失效)
- 趋势性走强不走回归(meme 行情)
- 配对融断(cointegration break)
十二、做市 + 套利结合
原理
挂双边单(bid/ask)赚 spread 同时,用套利对冲方向性风险。
收益公式
pnl = spread_capture - adverse_selection - inventory_risk
# adverse_selection: 被人抢先吃掉的信息交易
# inventory_risk: 持仓方向暴露的 delta
技术要点
- Avellaneda-Stoikov 做市模型
- 报价参数:spread / skew / 报价量
- 库存管理(quote skew 调整)
难点
- 跟大资金做市商(如 Wintermute、Jump)拼不过
- 极端行情 inventory 一边倒
通用难点总结
| 难点 | 描述 |
|---|---|
| 延迟 | 跨所套利毫秒级竞争,托管机房、FPGA、低延迟网络 |
| 资金 | 多账户分散持仓,资金利用率低 |
| 风控 | 黑天鹅(FTX 暴雷、SVB)交易所拔网线、暂停提币 |
| 费率 | 提币、Gas、Funding、爆仓罚金都要算 |
| 滑点 | 大单冲击成本,吃掉理论套利空间 |
| 监管 | 部分司法辖区禁止套利、KYC 限制 |
| 对手风险 | 中心化交易所挪用(FTX 事件)、DEX 合约漏洞 |
| 税务 | 高频套利交易频繁,税务记录复杂 |
基础设施 checklist
- 账户:CEX × 3+、DEX 钱包 × 2+、Flashbots 节点
- 网络:低延迟 VPS(东京 / 新加坡 / 法兰克福)、专线
- 数据:L2 orderbook(ws)、链上 mempool(自定义节点)
- 风控:单笔最大亏损、累计亏损熔断、敞口限额
- 对账:每天对账两边账户、Gas 报销、Funding 收入