一、滑点概述:交易中的隐形杀手

做量化交易这些年,我见过太多人把策略回测做得漂漂亮亮,一上实盘就亏得怀疑人生。为什么?说白了,就是没把滑点当回事。

滑点是什么?我习惯这么定义:你下单时预期的成交价格,和实际成交价格之间的差值。听起来简单,但这里面的门道,够我们聊一整章的。

1.1 一个真实的例子

假设你看到某股票当前盘口是这样的:

卖五:10.05  200股
卖四:10.04  300股
卖三:10.03  500股
卖二:10.02  800股
卖一:10.01  1000股
——当前价——
买一:10.00  1200股
买二:9.99   600股
买三:9.98   400股

你想买入2000股。如果按「理想情况」,你希望全部在10.01成交。但现实呢?

  • 10.01只有1000股,吃掉
  • 10.02有800股,吃掉
  • 还差200股,只能去10.03拿

最终成交均价:(10.01×1000 + 10.02×800 + 10.03×200) / 2000 = 10.016

比你的预期高了0.006元。这就是滑点。

关键认知:滑点不是bug,是市场微观结构的固有特征。你无法消除它,只能管理它。

1.2 滑点的两种面孔

很多人以为滑点都是坏事,其实不然。我把它分成两类:

负向滑点(Bad Slippage)

就是上面那个例子——买贵了,或者卖便宜了。这是常态,占了滑点事件的90%以上。

  • 买入时:成交价 > 预期价
  • 卖出时:成交价 < 预期价

为什么会这样?你想想看,当你下大单时,相当于在跟市场抢流动性。你吃得越急,价格就越往不利方向跑。

正向滑点(Good Slippage)

嗯,这个比较少见,但确实存在。我曾在一次做市策略中遇到过:

  • 你挂单买入,结果有人砸盘,你反而在更低的价格成交了
  • 或者你卖出时,刚好遇到一波拉升,卖在了更好的价位

正向滑点通常发生在流动性突然改善,或者你的订单恰好「搭了顺风车」的时候。但别指望靠这个赚钱——它太不稳定了。

我的经验:做高频策略时,我会把正向滑点视为「意外之喜」,从不把它算进预期收益里。否则,回测曲线会骗人。

1.3 滑点对交易成本的影响

咱们来算笔账。假设你做一个日内策略,每天交易10次,每次买卖各一次(共20笔交易)。

场景 单笔滑点 日滑点成本 月滑点成本(22天) 年滑点成本
理想情况 0 0 0 0
低滑点 0.01% 0.2% 4.4% 52.8%
中等滑点 0.05% 1.0% 22% 264%
高滑点 0.1% 2.0% 44% 528%

看到没?即使单笔只有0.01%的滑点,一年下来也能吃掉你一半以上的本金。我见过太多人回测年化30%,实盘却亏钱——滑点就是那个「隐形杀手」。

避坑指南:我曾经犯过一个低级错误——在回测中完全不考虑滑点,结果策略上线第一天就亏了2%。从那以后,我的回测框架里永远加一条:slippage_model = 'fixed_0.02%',至少先打个底。

1.4 滑点的微观结构根源

为什么会有滑点?从市场微观结构角度看,核心原因就两个:

  1. 流动性不足:盘口的挂单量不够你吃的,只能去更远的价位
  2. 信息不对称:你的订单本身就在向市场传递信息,其他参与者会抢跑

举个例子。你下了一个大买单,做市商看到了,他会怎么想?「有人要买,价格可能要涨,我先提价。」于是你还没成交,价格已经被推高了。这就是所谓的市场冲击成本

嗯,这里要注意:滑点不光是「吃不到单子」的问题,更是「你的行为改变了市场」的问题。

1.5 一张图看懂滑点

下面这张图,是我自己总结的滑点知识框架,帮你快速建立全局认知:

滑点知识体系 滑点 = 预期成交价 - 实际成交价 负向滑点(常见) 正向滑点(罕见) 买入价更高 / 卖出价更低 原因:流动性不足 + 市场冲击 买入价更低 / 卖出价更高 原因:流动性改善 / 搭顺风车 对交易成本的影响 短期:单笔交易成本增加 长期:复利效应放大亏损 核心结论:滑点不可消除,只能通过算法优化来管理

1.6 怎么量化滑点?

做量化的人,最怕「感觉」。我习惯用两个指标来量化滑点:

1. 实现差价(Implementation Shortfall)

实现差价 = (实际成交均价 - 决策时基准价) × 成交量

这个指标最直观。决策时基准价可以是下单前最后一笔成交价,也可以是到达目标价位时的盘口中价。

2. 市场冲击成本(Market Impact Cost)

冲击成本 = (成交后短期均价 - 成交前短期均价) / 成交前短期均价

这个指标衡量的是「你的订单对市场造成了多大扰动」。我一般用成交前后各1秒的VWAP(成交量加权平均价)来计算。

一个小技巧:如果你没有高频数据,可以用一个简单粗暴的方法——在回测中直接加一个固定滑点比例。我个人习惯是:流动性好的股票加0.02%,流动性差的加0.1%。虽然不精确,但至少不会让你在实盘时太意外。

好了,关于滑点的基本概念就聊到这儿。记住一句话:滑点不是你的敌人,而是你需要理解并与之共存的交易伙伴。后面的章节,我们会深入探讨如何预测滑点、如何用算法减少滑点——那才是真正有意思的部分。


专注资料整理