2. 滑点类型:正向滑点与负向滑点、成交滑点与挂单滑点、预期滑点与实际滑点
做价差交易的朋友,对「滑点」这个词肯定不陌生。但说实话,很多人对滑点的理解还停留在「买贵了、卖便宜了」这个层面。
我刚开始做量化那会儿,也踩过这个坑。有一次回测曲线漂亮得不行,实盘一跑直接亏钱。后来一查,就是滑点分类没搞清楚,预估和实际差了十万八千里。
今天咱们就把滑点这事儿掰开揉碎了讲。我会从三个维度来拆解:
- 正向滑点 vs 负向滑点 —— 按盈亏方向分
- 成交滑点 vs 挂单滑点 —— 按订单类型分
- 预期滑点 vs 实际滑点 —— 按时间维度分
这三组分类,说白了就是帮你搞清楚:滑点到底从哪来、怎么算、怎么控。
2.1 正向滑点与负向滑点
这个分类最简单,也最直观。说白了就是看成交价对你有利还是不利。
- 正向滑点:成交价比你预期的还要好。比如你挂单买,结果成交价比你挂的价格还低。这种情况虽然少见,但确实存在。
- 负向滑点:成交价比你预期的差。这是咱们最常遇到、也最头疼的情况。比如你看到价差信号,市价单进场,结果成交价比你看到的价格高了几个tick。
核心观点:在价差交易中,我们追求的是「正向滑点」的稳定出现,而不是偶尔的运气。这需要精细的订单设计和市场微观结构理解。
我个人习惯把正向滑点分成两类:
- 主动型正向滑点:通过挂单等待,吃到了流动性提供者的返利。这在做市策略中很常见。
- 被动型正向滑点:市场瞬间波动,你的限价单恰好被扫到。这种可遇不可求,不能作为策略依赖。
我在项目中遇到过一件事:有个同事做跨期价差,回测里正向滑点占比高达30%。他高兴坏了,觉得找到了圣杯。结果实盘一跑,正向滑点直接降到5%。为什么?因为回测用的是tick级数据,但实盘的订单执行有延迟,那些「好价格」根本抢不到。
避坑指南:千万不要把回测中的正向滑点当成策略优势。我曾经吃过这个亏,后来养成了一个习惯——回测中把所有正向滑点都砍掉一半,再评估策略是否还能盈利。
2.2 成交滑点与挂单滑点
这个分类是按订单类型来的。很多新手只关注成交滑点,忽略了挂单滑点,结果策略在实盘中完全变样。
成交滑点
成交滑点发生在你使用市价单的时候。你想想看,市价单追求的是「必须成交」,所以它要吃掉对手盘的最优价格。如果对手盘深度不够,你就得往更差的价格上吃。
举个例子:
// 假设当前盘口
卖一:100.10 100手
卖二:100.15 200手
卖三:100.20 500手
// 你下了一个市价买单,数量300手
// 成交明细:
// 100手 @ 100.10
// 200手 @ 100.15
// 加权成交价 = (100*100.10 + 200*100.15) / 300 = 100.1333
// 如果你只看卖一价100.10,预期成交价是100.10
// 实际成交价是100.1333
// 滑点 = 100.1333 - 100.10 = 0.0333
这个0.0333就是成交滑点。它直接反映了市场深度的不足。
挂单滑点
挂单滑点发生在你使用限价单的时候。限价单追求的是「好价格」,但代价是可能成交不了。
挂单滑点怎么算?它不是直接体现在成交价上,而是体现在机会成本上。
- 你挂了一个限价单,价格没到,没成交。行情跑了,你错过了这波利润。
- 或者你挂单后,价格到了但只成交了一部分,剩下的仓位被迫用更差的价格补上。
我的经验:在价差交易中,我建议对「腿」使用不同的订单类型。比如,流动性好的腿用市价单,流动性差的腿用限价单。这样可以平衡成交滑点和挂单滑点。
我曾经犯过一个错误:在螺纹钢和热卷的价差交易中,两条腿都用限价单。结果价差信号出现了,但两条腿都没成交,眼睁睁看着价差从5个点扩大到15个点。那次之后,我学乖了——至少有一条腿要用市价单去「锁」住价差。
2.3 预期滑点与实际滑点
这个分类是量化交易中最容易被忽视的。说白了,就是「你以为的」和「实际发生的」之间的差距。
| 维度 | 预期滑点 | 实际滑点 |
|---|---|---|
| 来源 | 回测假设、历史统计 | 实盘执行、市场冲击 |
| 计算方式 | 固定值(如1个tick)或比例 | 逐笔计算成交价与信号价的差值 |
| 影响因素 | 历史波动率、平均盘口深度 | 瞬时流动性、订单流、网络延迟 |
| 可控性 | 可通过参数调整 | 受限于市场环境和执行系统 |
为什么这个分类重要?因为很多策略在回测中表现很好,一到实盘就崩,问题就出在「预期滑点」和「实际滑点」的偏差上。
我见过最夸张的一个案例:有个团队做股指期货的期现套利,回测时假设滑点固定为0.5个tick。结果实盘时,因为他们的资金量太大,每次进场都直接把盘口打穿,实际滑点达到了3-5个tick。策略直接从盈利变成亏损。
核心观点:预期滑点是一个「假设值」,实际滑点是一个「真实值」。两者之间的差距,就是你的策略在实盘中需要承受的「额外成本」。
我个人习惯的做法是:
- 回测时使用动态滑点模型,而不是固定值。比如根据当前盘口深度和订单量来估算滑点。
- 实盘上线前,先用小资金跑一段时间,收集实际滑点数据,和预期滑点做对比。
- 如果实际滑点持续大于预期滑点,说明你的滑点模型有问题,需要重新校准。
避坑指南:我曾经在回测中用了「平均滑点」这个概念,觉得取个平均值就万事大吉了。结果发现,滑点的分布是严重偏态的——大部分时候滑点很小,但偶尔会出现极端大的滑点。这些极端值才是真正杀死策略的元凶。所以我现在更关注滑点的「尾部风险」,而不是平均值。
小结
好了,三种分类方式都讲完了。咱们来捋一捋:
- 正向/负向滑点告诉你滑点对你有利还是有害。
- 成交/挂单滑点告诉你滑点来自哪种订单类型。
- 预期/实际滑点告诉你回测和实盘的差距有多大。
这三组分类不是孤立的,它们是相互交织的。比如,一个负向滑点,可能同时是成交滑点,也可能导致实际滑点远大于预期滑点。
理解这些分类,不是为了在别人面前显摆专业术语。而是为了在实盘中,你能快速定位问题:
- 「嗯,这个滑点是负向的,说明我的进场时机有问题。」
- 「哦,这是挂单滑点,说明我的限价单策略需要调整。」
- 「靠,实际滑点比预期大了两倍,我的滑点模型该重做了。」
下一节,咱们会深入讲滑点的计算方法。到时候你会发现,理解了这些分类,计算滑点就变得有章可循了。