1. 滑点认知:交易中最熟悉的陌生人

做量化交易这些年,我见过太多人把滑点当成「玄学」。其实说白了,滑点就是你的订单成交价格和预期价格之间的差值。嗯,就这么简单。

我记得刚入行时,有个前辈跟我说:「你永远无法以你看到的价格成交。」当时我不信,直到自己实盘跑策略,才发现这句话有多真实。

1.1 什么是滑点?

滑点,英文叫 Slippage。指的是你下单时看到的报价,和最终成交价之间的差额。

举个例子:

  • 你看到 BTC 报价 50000 USDT,于是下了一个市价买单
  • 结果成交价是 50005 USDT
  • 这 5 USDT 的差价,就是滑点

为什么会这样?因为市场在流动。你下单的那一瞬间,价格可能已经变了。尤其是大单,吃掉了好几个档位的挂单,价格自然就跑了。

核心公式:

滑点 = 实际成交价 - 预期成交价

正数 = 负向滑点(你买贵了 / 卖便宜了)

负数 = 正向滑点(你买便宜了 / 卖贵了)

1.2 滑点的三种类型

很多人以为滑点只有坏处,其实不然。我把它分成三类:

类型 定义 对交易者影响 常见场景
负向滑点 成交价劣于预期价 亏损增加 / 盈利减少 大单吃单、流动性枯竭
正向滑点 成交价优于预期价 盈利增加 / 亏损减少 流动性充裕、对手盘急迫
无滑点 成交价等于预期价 无影响 小单、深度好的品种

负向滑点——这是大家最讨厌的。你买的时候价格往上跳,卖的时候价格往下砸。我曾在一次 ETH 大单交易中,因为流动性不足,硬生生多付出了 0.3% 的成本。别小看这 0.3%,高频策略一年下来,可能就是盈亏的分水岭。

正向滑点——这个比较少见,但确实存在。比如你挂了一个限价买单,结果市场突然砸盘,你的单子以更低的价格成交了。说白了,就是运气好。但别指望靠这个赚钱,不稳定。

无滑点——理想状态。通常发生在流动性极好的品种上,比如 BTC/USDT 在深度好的时候,小单基本无滑点。

我的经验:

做回测时,我习惯把滑点设成固定值(比如 0.05%),而不是 0。因为实盘中「无滑点」几乎不存在。你想想看,连交易所的撮合都有延迟,怎么可能完全无滑点?

1.3 滑点对交易绩效的影响

滑点的影响,比你想象的大得多。我见过一个策略,回测年化 30%,实盘只有 12%。一查,滑点吃掉了大半利润。

具体来说,滑点影响以下几个方面:

  • 收益率:每次交易多亏 0.1%,一年 1000 次交易,就是 100% 的收益差距
  • 夏普比率:滑点增加了交易成本,降低了风险调整后收益
  • 最大回撤:滑点可能让止损单成交在更差的位置,放大亏损
  • 策略容量:资金量越大,滑点越严重,策略的有效规模受限

我曾经优化过一个高频策略,回测时滑点设了 0.02%,实盘跑了一个月发现不对劲。后来一查,实际滑点平均 0.08%。嗯,那一个月白干了。

避坑指南:

我曾经犯过一个低级错误——回测时把滑点设成 0。结果实盘被市场狠狠教育了一顿。现在我做任何回测,至少设 0.03% 的滑点,保守一点设 0.05%。

记住:回测是天堂,实盘是战场。滑点就是战场上的子弹,躲不掉的。

1.4 滑点的本质:流动性与时间赛跑

滑点的本质是什么?说白了,就是流动性和时间之间的博弈。

你下单越快,成交越确定,但价格可能越差(市价单)。
你下单越慢,价格可能越好,但成交越不确定(限价单)。

这个矛盾,贯穿了整个量化交易。我习惯把它画成一张图:

滑点核心逻辑:流动性 vs 时间 流动性维度 • 订单簿深度 • 买卖价差 • 市场成交量 • 挂单数量分布 流动性越好 → 滑点越小 流动性越差 → 滑点越大 时间维度 • 订单执行速度 • 网络延迟 • 撮合引擎效率 • 订单类型选择 执行越快 → 确定性越高 执行越慢 → 价格风险越大 博弈 滑点 = 流动性成本 + 时间成本

这张图我每次讲课都会放。你看,左边是流动性,右边是时间。你必须在两者之间找到平衡点。

我个人习惯的做法是:

  • 小资金用市价单,追求速度
  • 大资金用限价单 + 拆单,控制滑点
  • 极端行情直接撤单,不赌

一句话总结:

滑点不是敌人,而是市场的语言。听懂它,你就能更好地和市场对话。

好了,这一章我们聊了滑点的定义、三种类型,以及对绩效的影响。下一章我会深入讲滑点的计算方法,包括如何用代码精确计算历史滑点。到时候我会分享一个我常用的 Python 脚本,帮你把滑点算得明明白白。

专注资料整理