精度套利:藏在盘口缝隙里的稳定机会
现货侧,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 的空间,也能逐步积累成长期可观的收益。





