首页 策略 正文
  • 本文约2846字,阅读需14分钟
  • 14
  • 0

精度套利:藏在盘口缝隙里的稳定机会

温馨提示:本文最后更新于2026年4月9日 15:19,若内容或图片失效,请在下方留言或联系博主。

我们先来看 BN 上一个交易对。

现货侧,PEPE/USDT 的价格精度是 1e-8

合约侧,1000PEPEUSDT 的价格精度是 1e-7

如果把合约价格换算回 PEPE/USDT 的单位,那么它对应的价格精度其实是 1e-10

这意味着,现货和合约在同一个标的上,天然就存在 2 位小数级别的精度差异

放到当前价格环境下看,这种差异会更加直观。

例如,PEPEUSDT 合约价格可以报到 0.0000033432,而现货价格只能报到 0.00000334

同样是在交易 PEPE,合约侧能够表达的价格更细,现货侧能够表达的价格更粗。也正因为如此,两边在真实可成交价格上,天然就更容易拉开一小段价差。

而这段价差,并不是由行情波动本身带来的,更多来自交易规则层面的精度差异

面对这种天然存在的精度差异,如何构建一套稳定的套利策略?


一、什么是精度套利?

这类套利策略就是精度套利

在现货和合约的价格精度、tick size、报价层级或成交规则存在差异的情况下,利用两边在真实可下单价格上的错位,完成一边挂单成交、另一边快速对冲,从中锁定一小段价差收益。

要在这类策略中实现盈利,最核心的问题有三个:

第一,这段由精度差异带来的价差是否真实存在,如何计算价差;

第二,这段价差在扣除手续费、滑点和资金费率之后,是否仍然能够留下稳定的净收益。

第三,如何提高 maker 侧挂单的成交率,让理论上的套利空间真正变成实际成交。

下面,我们就沿着这三个问题,逐一展开。

二、精度套利的核心问题


如何计算价差

在这类策略里,价差的计算方式和普通意义上的“现货-合约中间价差”并不完全一样,关键要结合实际成交路径来理解。

由于现货侧通常 spread 更大,同时 taker 费率也更高,实盘里更常见的做法是:

先在现货侧挂 maker 单,等现货成交后,再立刻到合约侧用 taker 无条件对冲。

因此,真正有意义的,并不是静态盘口上的理论价差,而是maker 成交价与 taker 对冲价之间的可实现价差

如果策略做的是“现货买入、合约卖出”,对应的是做多价差

这时,现货侧的成交价格来自 maker bid,合约侧的对冲价格来自 taker bid,因此做多价差可以写成:

如果策略做的是“现货卖出、合约买入”,对应的是做空价差

这时,现货侧的成交价格来自 maker ask,合约侧的对冲价格来自 taker ask,因此做空价差可以写成:

如何降低资费与对冲成本

1. 开仓前先用资金费率过滤方向

开仓之前,策略先结合资金费率对交易方向做一层过滤。

如果资金费率显著为正,那么持有某一侧仓位会持续产生额外成本;

如果资金费率显著为负,另一侧仓位的持有成本就会更高。

因此,当资金费率已经明显偏向某个方向时,策略需要主动排除对自己不利的那一边,只保留成本更低、预期收益更高的方向。

只有在资金费率不显著、对两边影响都较小时,策略才适合同时开放双边交易。

在开仓之前就先剔除掉一部分天然成本更高的交易机会,让后续的价差判断建立在更干净的成本基础上。

2. 提高对冲速度,缩短风险暴露时间

除了开仓方向的筛选,对冲速度本身也是套利成本控制中非常关键的一环。

在精度套利里,现货侧一旦成交,策略就需要尽快到合约侧完成对冲。

对冲越慢,面临的滑点风险越大,价差被市场波动吃掉的概率也越高。

很多策略只依赖 on_order 这类私有订单回调来判断现货是否成交,然后再触发对冲。

但在实盘环境里,私有订单回调并不一定总是最快的。为了进一步缩短响应时间,策略还可以同时监控公共频道的数据,例如:

  • trade

  • bbo

  • depth

如果最新的 trade、bbo 或 depth 已经击穿了我们的挂单价格,那么即使私有订单频道的成交回报还没有到,策略也可以推断这张挂单已经成交。

在这种情况下,策略就可以更早启动对冲逻辑。

很多时候,公共频道的推送速度反而会快于私有订单频道,这种成交推断的机制,能够有效压缩现货成交到合约对冲之间的时间差,从而减少对冲滑点。

如何提高 maker侧挂单成交率

模式一:机会出现后,立刻去抢一档

第一种模式属于“触发后出手”。

当策略发现现货和永续之间已经出现了足够大的价差,立刻去现货盘口争取更好的成交位置。最常见的做法,就是挂在对侧价格减 1 tick 的位置,尽量让自己的订单成为新的最优价。

这种模式有几个特点:

  • 出手时点直接

  • 只有在机会出现时才挂单

  • 对成交位置的争夺更积极

它适合那些盘口变化快、机会窗口短、需要快速抢占一档位置的环境。

相应地,这种模式对速度要求也比较高,包括:

  • 行情推送速度

  • 下单速度

  • 撤改单速度

所以这套方式,主要依赖的是速度带来的成交优先级

模式二:提前把预期价差体现在挂单里,靠排队拿优先级

第二种模式,更接近“埋伏式执行”。

我们不会等到价差完全出现之后再去抢,而是根据永续盘口、参数阈值和预期收益,提前算出值得挂单的位置,把订单先放进去。

而且通常不会只挂一张,而是挂两张:

  • 第一张更靠近成交

  • 第二张在第一张基础上再偏移一个步进单位,作为第二层埋伏单

这种方式的优势来自交易所撮合规则中的两条原则:

  • 价格优先

  • 时间优先

如果大家挂在同一个价格,排队更早的订单,会自然排在前面。

尤其是第二单,虽然离盘口更远,但它拥有一个很重要的优势:

更早进入队列。

等价格走到那个位置时,排在前面的订单通常就会更先成交。

这在“价格优先、时间优先”的撮合规则下,非常有价值。

所以从策略设计角度看,挂两单相当于同时做了两件事:

  • 扩展挂单覆盖范围

  • 把未来可能出现的机会提前纳入队列中


三、整套策略在实盘里通常怎么实现?

如果把这套精度套利策略拆成工程模块,大致可以分成下面几层,这里我们讲解双层预埋挂单的模式。

1. 数据层:持续读取盘口、资金费率和账户状态

策略实时监听:

  • 现货盘口

  • 永续盘口

  • 资金费率

  • 账户余额

  • 当前持仓状态

2. 方向层:做方向过滤

策略先根据资金费率换算综合日化,再决定今天偏向做哪边:

  • 只允许现货买单

  • 只允许现货卖单

  • 或两边都允许

3. 定价层:根据永续盘口反推现货挂单价

接着,策略用永续盘口和参数阈值去生成现货挂单价,并按交易所精度修正成真实可下单价格,买单向下取有效位数,卖单向上取有效位数。

4. 挂单层:在现货侧挂单并动态维护

策略会维护两档订单。

当永续盘口变化时,重新计算理论挂单价,并判断原挂单是否还处于合理位置。

撤单与补单逻辑:

  • 行情下跌时,撤掉较高的买单,再往下补新单

  • 行情上涨时,撤掉较低的买单,再往上补新单

5. 对冲层:现货成交后,永续立即对冲

现货一旦成交,策略就要立刻在永续侧完成反向对冲,把刚刚产生的风险敞口尽快打平。

为了尽量缩短响应时间,如前文所说,策略会同时监控多种数据源,包括:

  • bbo

  • depth

  • trade

  • order

来更早确认现货订单是否已经成交。


四、实盘曲线

这里放一些交易对的实盘曲线。

五、盈利源于对交易细节的持续理解

精度套利的价值,来自对交易细节的持续理解。

盘口、精度、排队、成交、对冲,这些微小但高频出现的因素,最终都会转化为实盘收益。

当策略能够稳定地把这些环节串起来,那些只有几个 bp 的空间,也能逐步积累成长期可观的收益。

标签:量化交易
评论