18. 执行缺口分析:执行缺口的定义与分解、如何评估交易执行质量

做量化交易这些年,我见过太多策略在回测里跑得漂亮,一上实盘就拉胯。原因在哪?说白了,就是忽略了执行缺口。

你想想看,回测里你按收盘价成交,或者按最优价成交,但实盘里呢?滑点、延迟、市场冲击,这些都会吃掉你的利润。执行缺口,就是用来量化这个差距的。

18.1 执行缺口的定义

执行缺口,英文叫 Implementation Shortfall。它衡量的是:你决策时的理论价格实际成交价格 之间的差异。

公式很简单:

执行缺口 = (实际成交均价 - 决策价格) × 成交数量

如果结果是正的,说明你买贵了,或者卖便宜了。这就是亏损。如果是负的,说明你执行得比预期还好——这种情况很少见,但也不是没有。

我个人习惯把执行缺口拆成两部分来看:

  • 显性成本:佣金、印花税、过户费。这些是明摆着的。
  • 隐性成本:滑点、市场冲击、延迟成本。这些才是大头。

核心观点:隐性成本往往占执行缺口的 70% 以上。很多新手只盯着佣金,却忽略了滑点,这是典型的捡了芝麻丢了西瓜。

18.2 执行缺口的分解

我习惯把执行缺口拆成四个部分。这样分析起来更清晰:

成本类型 定义 典型来源
固定成本 佣金、税费 券商收费、交易所规费
延迟成本 从决策到下单的时间差 网络延迟、人工审批
市场冲击 大单推动价格反向移动 流动性不足、订单簿深度不够
机会成本 未成交部分的价格变动 部分成交、撤单重发

举个例子。我在项目中遇到过一只小盘股,流动性很差。我打算买 10 万股,决策价格是 10.00 元。结果呢?

  • 第一笔 2 万股,成交在 10.01 元——这是滑点。
  • 中间等了 3 秒,价格跳到 10.05 元——这是延迟成本。
  • 后面 8 万股,一路买到 10.15 元——这是市场冲击。
  • 最后只成交了 7 万股,剩下 3 万股没买到,收盘价 10.20 元——这是机会成本。

你看,一个简单的买入指令,被拆成了四块成本。每一块都有办法优化。

18.3 如何评估交易执行质量

评估执行质量,不能只看成交价格。我一般用三个指标:

18.3.1 实现差价(Vs. VWAP)

VWAP 是成交量加权平均价。如果你的成交价比 VWAP 好,说明执行不错。

实现差价 = 实际成交均价 - VWAP

这个指标适合评估大单的日内执行。但有个坑:VWAP 本身是滞后的。你想想看,如果你在上午买,VWAP 是全天均价,那下午的行情波动会拉偏 VWAP。所以,我一般用滚动 VWAP,比如过去 5 分钟的 VWAP。

18.3.2 实现缺口(Vs. 决策价格)

这个就是我们前面说的执行缺口。它直接衡量你的交易成本。

实现缺口 = 实际成交均价 - 决策价格

决策价格怎么定?我习惯用下单前那一刻的中间价,或者上一笔成交价。别用开盘价,那太粗糙了。

18.3.3 实现滑点(Vs. 到达价格)

到达价格,就是订单到达交易所那一刻的最优买卖价。这个指标排除了延迟成本,只看市场冲击。

实现滑点 = 实际成交均价 - 到达价格

我的经验:如果你做高频交易,重点关注实现滑点。如果你做日内趋势,重点关注实现缺口。不同策略,侧重点不一样。

18.4 执行缺口的可视化分析

光看数字不够直观。我习惯画一张图,把执行缺口拆开来看。

执行缺口分解图 决策时刻 订单到达 成交结束 市场价格 决策价格 成交均价 延迟成本 市场冲击 机会成本 延迟成本 市场冲击 机会成本 成交均价

这张图里,决策价格是 10.00 元。订单到达时,价格已经涨到 10.02 元——这是延迟成本。然后你开始买入,一路把价格推到 10.06 元——这是市场冲击。最后还有一部分没成交,收盘价 10.10 元——这是机会成本。

你看,每一段都有对应的成本。这样分析,你就能知道问题出在哪。

18.5 避坑指南

我曾经犯过的错:刚开始做执行分析时,我只用 VWAP 来评估。结果发现,有些交易明明执行得很好,VWAP 却显示亏损。后来才明白,VWAP 是滞后指标,它反映的是市场整体走势,不是你的执行质量。

所以,我现在的做法是:

  • 用实现缺口做主要评估指标
  • 用实现滑点做辅助指标
  • 用 VWAP 做参考,但不作为唯一标准

另外,还有一个坑要注意:不要只看单笔交易。单笔交易可能因为运气好或差,导致执行缺口失真。我习惯看一个交易日的所有交易,或者至少看 100 笔以上的样本。

18.6 实战中的执行优化

知道了执行缺口怎么拆,接下来就是怎么优化。我分享几个实战经验:

  1. 降低延迟成本:把交易服务器搬到交易所机房附近。我见过有人从上海到北京,延迟从 30ms 降到 5ms,执行缺口直接砍掉一半。
  2. 降低市场冲击:大单拆小单,用算法交易。比如 TWAP、VWAP、Iceberg 订单。别一股脑全砸进去。
  3. 降低机会成本:用限价单代替市价单。虽然可能成交不了,但至少不会买在最高点。

我的习惯:对于流动性好的股票,我直接用市价单。对于流动性差的股票,我用 Iceberg 订单,每次只暴露一小部分。这样既能成交,又不会把价格打飞。

嗯,执行缺口分析就讲到这里。记住一句话:回测看策略,实盘看执行。执行缺口管不好,再好的策略也是白搭。

无相订单流研究社 微信Lucian808555