本节摘要:执行算法的任务是把一笔大订单换成一组不起眼的小订单,在规定时间内以尽可能接近基准价的价格完成。本节讲清冲击成本的机理、TWAP 与 VWAP 两大主力算法的适用场景,以及执行权衡中"确定性与隐蔽性"的核心矛盾。执行不产生信号,却直接改写策略的净收益。
想象把一笔相当于盘口前十档总量的买单一次性砸进市场:前几档瞬间吃光,价格被推高,后面的成交全部落在更差的价位;与此同时,盘口上的算法嗅到异动,纷纷撤单或反向报价,你的订单成了全市场瞩目的方向标。这一来一回的代价就是冲击成本——它通常数倍于佣金与税费的总量,是执行环节真正的成本大头。拆单的目的因此不是省钱的小聪明,而是把"一次性供需冲击"摊成"一段时间内的普通流量",让自己的订单混进市场固有的成交节奏里隐身。
TWAP(时间加权平均价)的规则朴素到极致:把执行窗口切成等长的时间片,每片成交等量。它回答的执行问题最简单——"我有一个小时的时间,这笔单怎么不显眼地铺完"。TWAP 的优点是行为完全可预测:执行进度与时间成正比,剩余量一目了然,便于监控与对账。它的弱点同样明显:市场成交量在日内并不均匀(开盘收盘密集中间稀疏),等时间片意味着在清淡时段也要硬铺,冲击被不必要地放大;而且机械的节奏有被其他算法识别的风险——你的子单成了别人眼中的可预测流量。
VWAP(成交量加权平均价)的改进在于:不是按时间切,而是按预测的成交量分布切——历史统计显示十点档通常占全天成交的百分之八,那么子单也按百分之八下。这样订单天然藏在市场自己的流量里,隐蔽性显著优于 TWAP。VWAP 的基准价就是当日的成交量加权均价,执行结束时"跑赢还是跑输 VWAP"成为衡量执行质量的行业标准。它的软肋在预测:成交量分布的预测失准(突发放量或缩量),子单节奏就会与现实脱节,需要盘中动态校正。两派算法的选择因此变成一个判断题:标的成交量分布稳定、执行窗口内无预期事件,用 VWAP;分布不稳或时间极其刚性,用 TWAP 保确定性。

真实的执行算法远不止"定好切片慢慢来",它要在盘中回答三个动态问题。进度偏差:当前已完成量落后于计划进度多少?落后太多就得提速,提速就得多付冲击——执行算法本质是在"进度风险"与"市场冲击"之间做连续的再平衡。被动与主动的配比:挂限价单等成交(被动)省价差但冒着不成交的风险,市价扫单(主动)保成交但付价差。激进程度通常随剩余时间与剩余量的紧迫度动态调整:越临近截止、剩余越多,越被动不得。信息泄露的控制:如果你的子单被其他参与者识别出规律,对方会抢跑或反向狙击,所以成熟算法会在切片量与节奏上叠加随机化——执行研究里管这叫"不让自己成为别人的信号"。
执行改进的前提是度量。每次执行结束后应产出一份标准报告:实现成交均价对基准价(VWAP、到达价或开盘价)的偏差分解——滑点多少来自市场漂移(执行期间价格自然运动)、多少来自自身冲击、多少来自时机选择。这个分解极有价值:市场漂移不是执行的责任,冲击才是拆单算法要优化的对象,而时机选择偏差指向的是算法参数。多数团队的数据会显示一个朴素的规律:执行损耗与参与率(你的成交量占市场成交量的比例)近乎单调相关。参与率降一半,冲击通常显著低于一半——这也反过来解释了为什么"给执行更多时间"往往是最便宜的改进。
| 执行场景 | 推荐方法 | 理由 |
|---|---|---|
| 大单 + 时间充裕 | VWAP 或参与率算法 | 藏进流量,冲击最小 |
| 时间刚性、必须按时完成 | TWAP | 进度确定,牺牲部分隐蔽性 |
| 小单 | 直接限价或吃单 | 拆单的管理成本超过收益 |
| 流动性差品种 | 更长窗口 + 更低参与率 | 盘口薄,冲击系数大 |
| 收盘前必须调仓 | 收盘集合竞价委托 | 一次性以收盘价成交,冲击由竞价吸收 |
⚠️ 常见坑:用"成交均价对比下单时的盘口价"评价执行质量。下单时点的盘口价只是到达价,执行期间市场本身会动——不把市场漂移与自身冲击分开,执行改进就无从谈起。
把执行质量的度量闭环演一遍。某策略执行一笔大买单,计划基准是当日的成交量加权均价。执行结束,实现均价跑输基准二十个基点。直接下结论"执行很差"为时过早,先做三项分解:执行期间市场自身上涨了多少——这部分是市场漂移,即便立刻全部成交也要付,不是执行的错;自身的子单推高了多少价位——这部分才是冲击,是拆单算法要优化的对象;择时上吃了多少亏——对比"子单成交时点"与"全天成交量加权时点"的分布差。分解的结果可能是:漂移十二个基点、冲击六个基点、择时两个基点——执行真实损耗只有八个基点,且大头来自参与率过高。对应的改进就不是换算法,而是拉长执行窗口。这道分解题的通用价值在于:执行改进永远发生在归因之后,跳过分解直接调参数,多数时候是在优化错觉。
问:执行算法有必要自己开发吗? 取决于策略的执行敏感度。日均调仓一两次、单笔规模远小于盘口深度的策略,券商或交易所提供的标准算法绰绰有余;执行损耗占总收益比重高的策略,才值得自研或定制。判断方法还是 4.5 节的敏感性实验:执行参数对净收益的边际贡献,决定自研的预算上限。
问:被动挂单的成交概率怎么估计? 实用的方法是统计自己的历史挂单:按"挂单价格距盘口中间价的档位"与"挂单存续时段的波动率"分组,计算各组的成交率与成交前撤单率。这张自制的统计表比任何理论模型都可靠,因为它是你自己的订单在真实盘口里的命运记录。
问:什么时候应该放弃隐蔽性直接吃单? 当进度风险大于冲击成本的时候——临近截止时间、剩余量还很大、且该笔调仓的时间刚性来自更上游的约束(如指数调仓日)。执行算法的激进档位本质上是进度风险与冲击成本的实时汇率,吃单是这个汇率极端化时的理性选择。
💡 关键直觉:执行算法的目标不是"买得最便宜",而是"在时间约束下,让市场几乎察觉不到你来过"。最好的执行是市场回头看时,你已经在仓位里了,而盘口毫无痕迹。
拆单术的极限由速度决定。下一站进入延迟的物理世界:微秒从哪里省、又值多少钱。