冲击成本模型基础:市场微观结构简介

做量化交易这些年,我越来越觉得——不懂微观结构,就别谈冲击成本。你想想看,我们下的每一笔订单,本质上都是在跟市场里的其他参与者博弈。这个博弈的规则,就是市场微观结构。

市场微观结构是什么?

说白了,就是订单怎么进来、怎么匹配、怎么成交的那一套机制。我刚开始做高频策略时,总觉得这东西太底层了,跟我做中低频策略没关系。后来有一次回测跑得漂亮,实盘一上就亏钱——嗯,就是吃了微观结构的亏。

市场微观结构主要包含这几个要素:

  • 订单类型:限价单、市价单、冰山订单等等
  • 撮合规则:价格优先、时间优先,这是最基础的
  • 信息披露:盘口能看到几档?挂单量是否透明?
  • 交易机制:连续竞价还是集合竞价?有没有做市商?

我个人习惯把微观结构理解成「市场的骨架」。骨架长什么样,决定了你的交易策略能不能站稳。

买卖价差与市场深度

这两个概念,是冲击成本模型的基石。

买卖价差,就是买一价和卖一价之间的差值。你想想看,如果你现在想立刻买入,就得吃卖一的价格;想立刻卖出,就得吃买一的价格。这一来一回,价差就是你的成本。

我在项目中遇到过一只流动性很差的港股,价差能到 2% 以上。你做个套利策略,年化收益才 5%,光价差就吃掉一半——这还玩什么?

市场深度,指的是在某个价格水平上,有多少订单在等着。深度越厚,你吃掉的订单越多,价格滑动的幅度就越小。

举个例子:

价格卖单量累计量
10.011,0001,000
10.022,0003,000
10.035,0008,000
10.0410,00018,000

如果你想买入 15,000 股,按市价单执行,你会吃掉 10.01 到 10.04 四个价位的订单。平均成交价是多少?算一下就知道,比当前卖一价高了不少。这个差价,就是冲击成本的一部分。

核心观点:价差是「第一口」的成本,深度决定了「吃多深」的成本。两者共同构成了冲击成本的基础。

冲击成本的定义与度量

冲击成本,就是你下单行为本身导致的价格变动。我经常跟团队说一句话:「你看到的行情,是你下单前的行情;你成交的价格,是你影响后的价格。」

度量冲击成本,业界常用的方法有两种:

  1. 实现价差法:用实际成交价与基准价(比如下单时的买一价)的差值来衡量
  2. 模型估计法:用 Almgren-Chriss 这类模型来估算

我个人更推荐第二种。为什么?因为实现价差法受市场波动影响太大。你刚下完单,价格自己就涨了 0.1%,这算不算冲击成本?说不清楚。模型估计法能把「市场自身波动」和「你的订单造成的冲击」分离开来。

避坑指南:我曾经用实现价差法做回测,结果策略表现特别好。一上实盘就崩了。后来才发现,回测时市场波动小,冲击成本被低估了。改用模型估计法后,回测结果才跟实盘对得上。

永久冲击与暂时冲击

这是冲击成本模型里最核心的区分。我建议你把这个概念刻在脑子里。

暂时冲击:你的订单吃掉了一部分流动性,价格暂时偏离了。但等你的订单执行完,市场流动性恢复,价格会回到原来的水平。就像你在平静的湖面扔了一块石头——水花溅起来,但很快又平了。

永久冲击:你的订单太大了,市场认为你的交易行为包含了信息(比如你知道什么内幕消息),于是价格永久性地移动了。还是那个湖——你扔的不是石头,而是一艘船,水位线都变了。

区分这两者有什么意义?

  • 暂时冲击可以通过拆单、延时执行来降低
  • 永久冲击是你无法避免的——只要你的订单规模大到暴露了信息

我记得有一次做大宗交易,一个客户要卖出 5% 的持仓。我们拆成 200 笔小单,用了一周时间执行。结果呢?价格还是跌了 3%。这就是永久冲击——市场已经嗅到了抛压。

注意:不要以为拆单就能解决所有冲击成本问题。拆单只能降低暂时冲击,对永久冲击基本无效。如果你的订单规模大到能影响市场预期,那就要考虑更复杂的执行策略了。

知识体系总览

下面这张图,是我自己整理的知识框架。每次带新人时,我都会先让他们看这个:

冲击成本模型知识体系 市场微观结构 买卖价差 市场深度 冲击成本 暂时冲击 永久冲击 拆单 / 延时执行 算法交易(TWAP/VWAP) 信息隐藏 / 冰山订单

这张图把整个知识脉络串起来了。从微观结构出发,到价差和深度,再到冲击成本的两种类型,最后落到应对策略上。你每次做交易成本分析时,都可以拿这个框架来对照——看看自己忽略了哪个环节。

好了,这一章的内容就到这里。冲击成本模型的基础打牢了,后面我们才能聊怎么建模型、怎么优化执行策略。


公众号:蓝海资料掘金营,微信deep3321