2. 市场微观结构基础

算法交易执行的核心任务,是在不确定的市场环境中,以尽可能低的综合成本完成目标仓位。要理解“成本从哪里来、为什么会产生、如何被度量与控制”,必须先掌握市场微观结构的基本概念。本节围绕订单簿、买卖价差、流动性、市场冲击、滑点与交易成本六个关键词展开,建立从市场机制到执行成本的完整认知链条。

一、核心原理:订单簿是价格的“实时账本”

现代电子撮合市场以限价订单簿(Limit Order Book, LOB)为核心。订单簿按价格优先、时间优先原则记录所有未成交的买单与卖单。买盘(Bid)从高到低排列,卖盘(Ask)从低到高排列,最优买价与最优卖价之间的差额即为买卖价差(Spread)。

订单簿的形态直接决定交易成本。若某价位挂单量大,说明该价位流动性充足,小额成交不易推动价格;若挂单稀薄,则同样规模的订单会吃掉多个价位,产生更大冲击。因此,订单簿不仅是报价集合,更是流动性的“深度地图”。

订单簿结构与执行成本形成机制 买盘 Bid(从高到低) Bid1 100.00 × 800 Bid2 99.98 × 1500 Bid3 99.95 × 2200 Bid4 99.90 × 3000 深度越厚,承接卖单能力越强 卖盘 Ask(从低到高) Ask1 100.02 × 600 Ask2 100.05 × 1200 Ask3 100.10 × 1800 Ask4 100.18 × 2500 深度越薄,买单冲击越明显 Spread=0.02 价差 + 深度 + 订单规模 → 滑点与市场冲击 → 综合交易成本

二、方法流程:从报价到成本的传导链

交易成本的产生并非单点事件,而是一条清晰的传导链。理解这条链路,有助于在算法设计中定位优化环节。

  1. 观察报价:获取最优买卖价与各档深度,形成当前流动性快照。
  2. 决策下单:根据目标仓位、时间约束与风险偏好,选择市价单、限价单或混合方式。
  3. 撮合成交:订单与对手盘匹配,可能只成交最优档,也可能逐档吃单。
  4. 产生滑点:实际成交均价与决策参考价之间的偏差,即滑点。
  5. 形成冲击:大额订单改变供需平衡,推动价格向不利方向移动。
  6. 汇总成本:显性成本(手续费、税费)与隐性成本(价差、滑点、冲击)合并为综合交易成本。

关键公式:综合交易成本 ≈ 显性费用 + 买卖价差成本 + 滑点成本 + 市场冲击成本 + 机会成本。

三、案例/场景:一笔大额买单的成本拆解

假设某股票当前卖盘为:Ask1 100.02×600,Ask2 100.05×1200,Ask3 100.10×1800。若算法需买入 3000 股,且全部以市价单立即执行,则成交过程如下:

成交明细:
Ask1  600 股 @ 100.02
Ask2 1200 股 @ 100.05
Ask3 1200 股 @ 100.10

成交均价 = (600×100.02 + 1200×100.05 + 1200×100.10) / 3000
         = (60012 + 120060 + 120120) / 3000
         = 300192 / 3000
         ≈ 100.064

若决策参考价为 100.02,则:
滑点 = 100.064 - 100.02 = 0.044
滑点成本 = 0.044 × 3000 = 132 元

该案例说明:订单规模超过最优档深度时,必然向更差价位延伸,滑点随之放大。若采用限价单分批挂单,虽可降低冲击,但面临未成交风险与机会成本。

四、误区/复盘:常见认知偏差

误区 问题 正确认知
只看买卖价差 忽略深度与订单规模 价差小但深度薄,大单冲击依然很高
把滑点等同于冲击 混淆两个概念 滑点是结果,冲击是价格被推动的机制之一
认为限价单无成本 忽略机会成本与逆向选择 未成交导致错过行情,也是隐性成本
用收盘价评估执行 参考价选择不当 应使用决策时刻的中间价或到达价作为基准

复盘建议:每笔交易后记录决策价、成交均价、成交量、订单簿快照与市场波动率,建立TCA数据集。只有可度量,才能可优化。

注意:流动性具有时变性与状态依赖性。开盘、收盘、重大事件前后,订单簿形态可能剧烈变化,历史深度不能简单外推至当前执行。