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 滑点的本质:流动性与时间赛跑
滑点的本质是什么?说白了,就是流动性和时间之间的博弈。
你下单越快,成交越确定,但价格可能越差(市价单)。
你下单越慢,价格可能越好,但成交越不确定(限价单)。
这个矛盾,贯穿了整个量化交易。我习惯把它画成一张图:
这张图我每次讲课都会放。你看,左边是流动性,右边是时间。你必须在两者之间找到平衡点。
我个人习惯的做法是:
- 小资金用市价单,追求速度
- 大资金用限价单 + 拆单,控制滑点
- 极端行情直接撤单,不赌
一句话总结:
滑点不是敌人,而是市场的语言。听懂它,你就能更好地和市场对话。
好了,这一章我们聊了滑点的定义、三种类型,以及对绩效的影响。下一章我会深入讲滑点的计算方法,包括如何用代码精确计算历史滑点。到时候我会分享一个我常用的 Python 脚本,帮你把滑点算得明明白白。