2. 金融市场微观结构基础

执行算法的所有决策,最终都要落到一个具体的市场微观结构里:你的订单如何被撮合、以什么价格成交、成交后价格会怎样变化。理解订单簿与流动性机制,是判断VWAP、TWAP、POV适用边界的前提。本节从订单簿出发,串联价差、流动性、市场冲击、滑点与交易成本,建立执行算法的“成本语言”。

一、订单簿:执行算法的战场地图

订单簿是交易所按价格优先、时间优先原则维护的买卖委托集合。它分为两侧:买方(Bid)与卖方(Ask)。最优买价与最优卖价之间的差额就是买卖价差。订单簿的深度决定了某一价格附近可吸收的成交量。

  • 限价单(Limit Order):指定价格,进入订单簿等待成交,提供流动性,但面临未成交风险。
  • 市价单(Market Order):不指定价格,立即吃掉对手方最优价位,消耗流动性,面临冲击成本。
  • 冰山单/隐藏单:只显示部分数量,真实深度可能远大于可见深度。

执行算法本质上是在“主动吃单”与“被动挂单”之间做动态权衡。VWAP与TWAP偏向时间维度拆分,POV偏向成交量维度跟随,但三者都必须读取订单簿状态来决定下单节奏与价格边界。

订单簿结构与执行算法交互 卖方 Ask(卖单) Ask3 10.06 800股 Ask2 10.05 500股 Ask1 10.04 300股 ← 最优卖价 买卖价差 Spread = 10.04 - 10.02 = 0.02 买方 Bid(买单) Bid1 10.02 400股 ← 最优买价 执行算法决策层 读取订单簿深度与价差 判断主动/被动执行比例 估算冲击成本与滑点预算 输出:下单价格、数量、节奏

二、流动性、市场冲击与滑点

流动性是市场以低成本快速成交的能力,通常用价差宽度、订单簿深度、成交速度来衡量。流动性越好,价差越窄,大单对价格的推动越小。市场冲击是指你的订单本身改变了市场价格,分为临时冲击与永久冲击。

  • 临时冲击:吃掉订单簿流动性导致价格短暂偏移,随后可能恢复。
  • 永久冲击:市场从你的交易中推断出信息,价格发生持久变化。
  • 滑点:实际成交均价与决策时预期价格之间的差额,包含价差成本与冲击成本。

核心公式:执行总成本 = 显性成本(佣金、税费)+ 隐性成本(价差成本 + 市场冲击 + 时机风险)。VWAP/TWAP/POV主要优化的是隐性成本中的时机风险与冲击分布。

三、交易成本分析基础:从成交明细到成本归因

交易成本分析(TCA)是把执行结果拆解为可度量、可对比的指标。常用基准包括到达价格、VWAP、TWAP、收盘价等。执行算法需要明确“相对什么基准”来评价。

成本类型来源度量方式算法应对
价差成本主动吃单跨越买卖价差成交价与中间价之差控制主动比例,多用限价单
市场冲击大单消耗订单簿深度成交后价格偏移幅度拆分订单,拉长时间
时机风险等待期间价格不利变动实际均价与基准之差VWAP/TWAP/POV节奏控制
机会成本未成交或未完成部分未执行量与目标量之比设置参与率下限与价格容忍度

一个典型的执行日志片段如下,用于事后归因:

订单号: ORD-20240612-001
标的: 600519.SH
目标量: 100,000 股
执行算法: POV 15%
开始时间: 09:35:00
结束时间: 14:20:00
成交均价: 1682.35
到达价格: 1680.10
区间VWAP: 1681.80
滑点: +2.25 (相对到达价)
冲击成本估算: 1.10
价差成本估算: 0.85
未完成量: 0 股

四、案例与误区复盘

场景:某机构需要在流动性中等的中盘股上买入80万股,当前最优卖价10.04,卖一仅300股,卖二500股,卖三800股。若直接下市价单买5000股,会连续吃掉多个价位,成交均价可能达到10.06以上,产生明显冲击。

此时POV算法按市场成交量15%参与,每笔被动挂单或小单主动吃进,避免一次性暴露大额需求。VWAP则按历史成交量分布分配各时段目标量,在开盘和收盘流动性高的时段多执行。TWAP均匀切分,适合流动性稳定、不希望暴露节奏的场景。

常见误区:

  • 只看佣金,忽略价差与冲击,导致实际成本被低估数倍。
  • 把VWAP当成“保证成交均价等于VWAP”,实际上VWAP只是跟踪目标,跟踪误差才是考核点。
  • 在低流动性标的上使用高参与率POV,导致自身订单主导市场,冲击急剧放大。
  • 忽略隐藏单与冰山单,误判真实深度,挂单价格过于激进。

复盘要点:每次执行后,将成交明细按时间切片,对比同期市场VWAP、到达价格与中间价,分离价差成本、冲击成本与时机成本。只有把成本拆开,才能判断是算法参数问题,还是市场环境变化,进而调整参与率、价格边界与时间窗口。