第 19 章 流动性
对应 Harris《Trading and Exchanges》Part V 导言与第 19 章 “Liquidity”。“流动性”是交易者、交易所和监管者嘴里出现频率最高的词之一,但不同的人说的往往不是一回事。本章把流动性定义为双边搜寻(bilateral search)的对象,由此推出它的几个维度,再把前面各章出现过的流动性提供者放到一张图里比较。第 21a、21b 章的交易成本度量、第 20 章的波动率分解都以本章的概念为基础。
学习目标
读完本章,你应当能够:
- 给出流动性的定义,并说明即时性、宽度、深度、弹性四个维度各自对应搜寻问题的哪一面,以及宽度与深度为何互为对偶。
- 写出单边搜寻的停止规则,说明双边搜寻多出的两点差异(主动/被动、可能回不去)。
- 区分已展示流动性、未展示流动性与潜在流动性,并说出各自的搜寻方式。
- 比较做市商、大宗交易商、价值交易者、预承诺交易者和套利者:各自的信息优势、提供的流动性维度、交易方式和亏给谁。
- 复述一个大额急躁卖单从冲击到价格恢复的完整过程,理解暂时性冲击与市场弹性。
- 用日度数据计算 Amihud 非流动性指标,用分布滞后回归估计价格冲击的大小与衰减速度。
读前导读
这一章在解决什么问题。 你在 CFA 里接触的流动性大多是一个数字:流动比率、买卖价差、流动性溢价,或者 GIPS 和另类投资里"流动性差的资产要折价"。这一章说,流动性至少有四个侧面,混着谈就会吵不清楚。急着成交的人在意"多快"(即时性),做小单的人在意"多贵"(宽度),做大单的人在意"能做多少"(深度),被别人砸过盘的股票能不能弹回来是"弹性"。Harris 把它们统一成一个搜寻问题:买方找卖方、卖方找买方,搜得越久价格越好,但时间也是成本。然后他把做市商、大宗交易商、价值交易者、预承诺交易者、套利者放进同一张表,说清各自卖的是哪一种流动性、会亏给谁。
和 CFA 知识的连接点有两个。其一,停止规则就是经济学里的"边际收益等于边际成本",你在资本预算里见过同样的逻辑。其二,章末的冲击衰减模型,用的是 CFA 二级时间序列一章的 AR(1),只是这里被衰减的是"被砸出来的价格偏离"。
需要先想起来的数学。
- 对数收益与差分。 若 \(\log P_t\) 是对数价格,日收益 \(r_t=\log P_t-\log P_{t-1}\),代码中的
np.diff。价格由"基本面 + 暂时压力"两部分相加,收益就是两部分各自的差分之和。见 第 00 册第 04 章 级数与收敛 中 e 与指数对数部分。 - AR(1) 与几何衰减。 \(D_t=\phi D_{t-1}+\kappa f_t\):今天的价格压力等于昨天的 \(\phi\) 倍加上今天新冲击。一次冲击 \(\kappa\) 在 \(k\) 天后剩下 \(\kappa\phi^k\)。例如 \(\phi=0.5\),每天减半,半衰期 1 天。
- 几何级数求和。 \(1+\phi+\phi^2+\dots+\phi^{n-1}=(1-\phi^n)/(1-\phi)\)。用来把逐日的冲击回复加总成"5 日后还剩多少"。这和年金现值公式是同一个求和。见 第 00 册第 04 章 级数与收敛。
- 多元回归(分布滞后)。 把 \(r_t\) 同时对 \(f_t,f_{t-1},\dots,f_{t-10}\) 回归,每个系数表示"\(k\) 天前的订单流对今天收益的影响"。这就是 CFA 二级的多元回归,只是解释变量是同一个变量的不同滞后。
- 对偶(只需直观)。 "给定数量求最低成本"和"给定成本求最大数量"有相同的最优解,正如有效前沿上"给定收益最小化风险"和"给定风险最大化收益"描出同一条曲线。见 第 00 册第 05 章 多元微积分与优化 的拉格朗日乘子部分。
怎么读这一章。 19.1 定义、19.3 四个维度、19.4.4 价值交易者是核心,必读。19.2 搜寻部分的专栏故事可以快读,抓住停止规则和"回不去"两点即可。19.4 五类提供者建议对照 19.4.7 汇总表读。19.5 大单的一生是全章最好的整合材料,值得逐步对照五类提供者读。量化实战部分先理解脉冲响应公式(下面的推导拆解会展开),再看输出表。
19.1 什么是流动性
定义:流动性是在你想交易时,以低成本、快速地交易大额头寸的能力(the ability to trade large size quickly, at low cost, when you want to trade)。Harris 认为它是运转良好的市场最重要的特征。
人人都喜欢流动性:交易者能低成本地实施策略;交易所靠流动性吸引交易者;监管者喜欢流动市场,因为它们通常比不流动市场波动更小。人人也都在影响流动性:急躁的交易者**取用(take)流动性;交易商、限价单交易者和部分投机者提供(offer)流动性;经纪商和交易所组织(organize)**流动性。
混淆的来源在于流动性有多个维度——快速、大额、低成本——不同的人看重不同维度,却很少说清楚。本章的主线是:流动性(交易的能力)是双边搜寻的对象,买方找卖方,卖方找买方;各维度通过搜寻的机制联系在一起。交易者测量流动性,是为了判断策略是否可行、评估经纪商;经纪商评估交易商;监管者比较市场结构。“无法定义的东西就无法测量”,本章为第 21a、21b 章的测度方法打基础。
原书专栏“市场摩擦”给了一个好用的比喻:交易成本之于经济系统,犹如摩擦之于机械系统——它使活动变慢,足够大时让活动停止,所以经济学家称之为市场摩擦(market frictions)。
19.2 流动性的搜寻
19.2.1 单边搜寻与停止规则
单边搜寻(unilateral search)是你单方面寻找好的匹配,比如找最低价的商品。主要决策是何时停止。
停止规则:只要再查一次的预期收益大于其预期成本,就继续搜寻。预期收益取决于两点:找到比当前最佳更好的匹配的概率,以及更好的匹配能好多少。随着已找到的最佳越来越好,两者都在下降。写成式子:
其中 \(c\) 是一次搜寻的成本。
白话解释:左边是"再找一次"的期望收益,右边是"再找一次"的成本,这就是边际收益与边际成本的比较,和资本预算里"只要增量 NPV 为正就继续投"同一个道理。符号 \(E[\cdot\mid\cdot]\) 是条件期望:\(E[\text{改进幅度}\mid\text{找到更优}]\) 读作"在确实找到更好报价的前提下,平均能好多少"。两项相乘等于不加条件的期望改进,因为找不到更优时改进为零。随着手上的最佳报价越来越好,两项都变小,迟早低于 \(c\),搜寻就该停了。
例(原书专栏:买 35mm 相机)。 Fred 时间价值 30 美元/小时。网上搜 5 分钟,发现 AlePhoto 卖 112 美元;再搜 5 分钟,BNDPicture 卖 109 美元;再搜 6 分钟,CDBirD 卖 119 美元。要不要继续?他估计即使找到更低价也不会低于 99 美元(最多再省 10 美元),且找到这种低价的概率小于 0.25。于是预期收益小于 \(10\times0.25=2.50\) 美元;而每次搜寻至少 5 分钟,成本至少 \(30\times5/60=2.50\) 美元。成本不低于收益,停止,以 109 美元从 BNDPicture 购买。
两点推论:
- 搜寻昂贵时,常在找到最佳匹配之前就停下,事后可能发现本可以更好。最优搜寻只有在运气好时才产生最佳结果。 一般而言,搜寻成本越低,结果越好。
- 结果部分取决于运气,部分取决于技巧——好的搜寻者知道先去哪里找。好交易者知道先去哪里找流动性。
原书专栏“交易所是搜索引擎”:如果 Fred 用搜索引擎,可能发现 GR8 Film and Photo 只卖 87 美元。交易所和电子报价系统收集“谁想交易、什么价格”的信息并组织起来,让买方廉价找到最低卖价、卖方廉价找到最高买价——交易所本质上就是搜索引擎,它降低了搜寻成本,使市场更有竞争性。
19.2.2 双边搜寻
双边搜寻(bilateral search)与单边搜寻有两点不同:
- 可以主动也可以被动:主动搜寻者(active searchers)去找对手,被动搜寻者(passive searchers)等对手来找。
- 可能回不到之前的最佳匹配:你继续搜寻时对方也在搜寻,想回头时它可能已经不在了。
主动双边搜寻的停止规则与单边相同,但继续搜寻的成本要加上可能失去当前最佳匹配,所以会更早停下;不过搜寻未必更早结束——想停的时候最佳匹配可能已不可得,只能继续。
交易者的搜寻方式由交易目标决定:急躁的人主动搜寻,有耐心的人被动等待被急躁者找到。急躁者发起交易,称其需求流动性(demand liquidity);耐心者供给流动性(supply liquidity)。
被动交易者常展示交易意愿以便被找到:挂限价单、报价、发布意向,或只告诉经纪商。展示最广泛的被动交易者通常先成交。 许多市场中被动交易者承诺按所挂价格交易,这种承诺提高了被找到的概率——主动者偏好确定能成交的对手,总搜寻成本因此下降。
大额交易者的搜寻更复杂:怕被抢跑、怕流动性提供者退避(第 18 章),他们要么在挂确定报价的人里主动寻找,要么成为不展示意愿的被动搜寻者,等主动者去发掘其潜在需求。经纪商比客户更清楚谁想交易,能帮客户更高效地搜寻,并避免向他人展示订单。
找流动性的成本因品种和时间差异很大:两边都有很多人同时在找时,流动性最容易找到。 所以广泛持有的品种、新闻热点品种通常非常流动;人们注意力不在时(例如节假日前后很多交易员不上班),大额交易就很难完成。
19.2.3 流动性藏在哪里
原书表 19-1(扩展自 Goldman Sachs 的 George Sofianos 的分类)把流动性按展示程度分类:
| 类型 | 例子 | 搜寻策略 |
|---|---|---|
| 已展示报价(displayed quotes) | 交易商报价;公开限价簿中的展示订单 | 直接取用(take it) |
| 交易场所内未展示 | 限价簿中的隐藏数量;场内经纪人手里未披露的订单 | 下单试探(offer to trade) |
| 已展示意向(displayed indications) | 订单意向 | 询问(ask) |
| 经纪-交易商处未展示 | 楼上市场(upstairs market)经纪商持有的代理订单;交易商愿意给但不展示的流动性 | 询问 |
| 买方处未展示 | 买方交易台 blotter 中尚未发出的订单 | 询问;使用 Liquidnet |
| 潜在流动性(latent) | 买方被问到时才会提供的流动性 | 询问 |
这张表的量化含义很直接:屏幕上能看到的深度只是冰山一角。估计大单成本时,既不能把可见深度当作全部流动性,也不能假设隐藏流动性取之不尽(第 21a、21b 章还会回到这一点)。
原书在这里穿插了几个生活化的专栏:“有时回不去了”(John 想起七年前约会过的 Ruth 是好对象,可她已经嫁人,而且即便单身也未必再信任他——交易中反复试探再回头的人会被区别对待);“婚姻市场的订单暴露”(人们怕显得“急需”而不愿暴露在找对象,媒人就是保密的婚姻经纪人);“舞会策略”(主动邀请 = 主动搜寻;在舞池边跟着节拍晃 = 展示但被动;靠墙站的“壁花”= 潜在流动性)。这些故事都在说明同一件事:人们会从你的搜寻方式推断你的处境。
19.3 流动性的维度
19.3.1 搜寻是一个生产过程
可以把搜寻看作生产:投入是搜寻时间,产出是好价格和足够的数量。由此可以写出各维度之间的权衡(原书表 19-2):
| 改变 | 保持不变 | 预期结果 |
|---|---|---|
| 花更多时间搜寻 | 交易规模 | 更好的平均价格 |
| 花更多时间搜寻 | 愿付/愿收的价格 | 更多数量 |
| 增大期望规模 | 搜寻时间 | 更差的平均价格 |
| 增大期望规模 | 价格 | 更长的搜寻时间 |
| 给对方更好的价格 | 交易规模 | 更短的搜寻时间 |
| 给对方更好的价格 | 搜寻时间 | 更多数量 |
这张表就是“时间—价格—数量”三角。量化里的最优执行(例如 Almgren–Chriss 框架在冲击成本和时间风险之间的权衡)是它的数学化版本。
19.3.2 三个常用维度与弹性
- 即时性(immediacy):给定规模、给定成本下多快能成交。交易者一般用市价单需求即时性。
- 宽度(width):完成给定规模交易的成本。小额交易时基本等于买卖价差(加上佣金)。宽度是单位流动性的价格,交易者也称市场广度(market breadth)。
- 深度(depth):在给定成本下能完成的规模,用给定流动性价格下可得的数量度量。
宽度与深度互为对偶(duals):“给定规模最小化成本”与“给定成本最大化规模”本质上是同一个问题,最优策略也相同(都要求高效搜寻)。所以深度与广度概括的是同一类信息,只是一个固定数量看价格,一个固定价格看数量。
金融直觉:把它想成一条"成本—数量"曲线。宽度是在横轴上选一个数量(比如 1 万股),往上读成本;深度是在纵轴上选一个成本(比如 20 个基点),往右读数量。两者读的是同一条曲线,就像收益率曲线既可以"给定期限读收益率",也可以"给定收益率找期限"。曲线越平坦,市场越流动:同样的数量成本更低,同样的成本能做更多。
交易者对流动性理解混乱,常常是因为关注的侧面不同:急躁的小额交易者主要关心即时性和宽度;大额交易者关心深度。
第四个维度:弹性(resiliency)。它与双边搜寻的联系不如前三者直接,指未知情交易者造成的大额订单流失衡推动价格后,价格回到原有水平的速度。下文讲价值交易者时会看到,弹性主要由价值交易者提供。
19.3.3 更一般的刻画:成交概率
既然流动性是交易的能力,可以更一般地把它写成一个函数:给定愿意投入的搜寻时间,以给定价格交易给定数量的概率。 这一刻画能容纳规模、价格、时间以外的许多因素:
- 为何交易? 交易者更愿意与未知情者交易。市场对已知的未知情者可能很流动,对已知的知情者则不然。能让别人相信自己不知情的交易者通常能得到更好的价格或更大的数量。
- 交易什么? 吸引大量交易者的品种更流动。
- 基本面价值是否清楚? 价值不清楚的品种往往不流动,流动性提供者怕碰上更知情的人。
- 何时交易? 休市时更难;大家怀疑有人掌握未反映在价格中的信息时也更难。
- 其他人在做什么? 价格下跌时买入比上涨时买入容易——顺着对手方需要的方向提供流动性更容易成交。
- 展示的买卖订单是否失衡? 失衡常意味着流动性对一方便宜、对另一方昂贵。
- 谁在交易? 好交易者更可能完成交易——他们知道如何展示、谁想交易、如何接近对手。
19.4 谁在提供流动性,为什么
19.4.1 总体视角
只要是对别人发起的订单作出反应而交易,就是在提供流动性。 提供者可以是做市商、大宗交易商、买方机构或个人。买方一般用限价单提供流动性,但也可以用市价单回应别人的流动性请求——所以订单类型并不总是判断提供还是取用流动性的最佳指标。提供流动性也不必展示订单:只在经纪商询问时才交易的人,同样在提供流动性。
按主要动机分两组:
- 被动流动性提供者(passive liquidity suppliers):交易商和价值交易者,为获利而交易,通常只在有人需求流动性时才交易。
- 预承诺流动性提供者(precommitted liquidity suppliers):本来就打算交易(投机、投资、对冲等),但不急,提供流动性只是为了降低成本;限价单不成交时最终可能转而需求流动性。
下面把交易者按其“特征策略”分成五类。现实中多数人兼用多种策略,但把复杂行为拆成简单成分,有助于把利润归因于各策略、识别自己的比较优势。
19.4.2 做市商
做市商(market makers)允许急躁客户以其报出的买卖价交易。他们交易非常频繁,避免大存货——一般不太了解基本面价值,大存货在市场反向时会亏钱。他们只想找到能产生平衡双边订单流的价格。
- 主要提供即时性:小数量报窄价差,大数量报宽价差以防亏给知情者。
- 是被动交易者,靠调整报价为自己招揽能减少存货的交易;存货特别不安时也会需求流动性。
- 只有确信能从未知情者身上赚回亏给知情者的部分,才提供流动性。由于看到的订单流比别人多,作为订单预期型投机者(第 11 章)也有优势。
- 资本约束:做市需要资本为存货融资。投资者不太愿意投资做市业务,主要不是怕存货风险(大部分可分散),而是怕交易员激励问题——做市需要持续专注,为别人工作的人往往不如为自己工作努力。有大量外部融资的做市公司通常有出色的风控:严格限制每个交易员的资本,用奖惩对称的薪酬让交易员持有类似股权的头寸。
- 最低资本标准未必有效:资本多的交易商能够提供更多流动性,但未必愿意;逆向选择太强时,再多资本也没用。资本充足监管只能保证交易商在愿意时有能力提供流动性。
19.4.3 大宗交易商
大宗交易商(block dealers)为想交易大额头寸(单一证券大宗或多品种组合)的客户提供流动性,这类交易叫撮合便利(facilitations)。
- 头寸大,特别怕碰上知情者,所以仔细研究交易对象、只为认为不会伤害自己的客户服务。因此常不能快速交易,也不愿提供即时性——急躁的交易者往往是知情者。
- 提供深度:因为了解客户,能给出远大于做市商的规模。
- 需要大量资本和强风控,通常在能把存货风险分散到众多头寸的大公司工作。
- 比较优势:向大额交易者提供流动性时优于做市商(更了解谁想交易);向小额交易者提供流动性时不如做市商(做市商快得多)。
- 最好的大宗交易商知道如何出清:要么拆开分销到市场(需要好交易员),要么配售给其他客户(需要好销售)。
19.4.4 价值交易者:最终的流动性提供者
价值交易者(value traders)是在经济合理范围内尽量收集基本面信息、形成估值观点的知情交易者,在价格与其估值差距较大时交易。他们通常只在提供流动性时交易。为什么?看价格偏离价值的两种情形:
- 价值变了、价格还没调整(例如工厂烧毁)。据此交易的是新闻交易者(news traders,第 10 章)。
- 价格变了、价值没变。未知情者需求流动性时常推动价格,原因有三:交易商分不清知情与未知情者;交易商承担大存货要丰厚回报;交易者常要较大价格激励才肯放弃喜欢的头寸或有未实现利得的头寸。价值交易者买入被低估的、卖出被高估的,是在回应别人的流动性需求,所以是流动性提供者。
由此得到几个重要结论:
- 价值交易者是流动性的最终提供者(ultimate suppliers of liquidity):没有别人愿意交易时,只要价格合适,他们会交易。他们提供深度,因为最能解决逆向选择问题——比任何人都更清楚价值。
- 他们通常是慢交易者:要非常确信了解与估值相关的一切,因此往往在未知情的流动性需求已经推动价格之后才进场。同一事件常让许多价值交易者同时想交易,最快的价值交易者最赚钱。
- 价值交易者使市场具有弹性:资本充足、信息充分、愿意交易时,未知情者的交易对价格影响小而短暂。
金融直觉:价值交易者在这里的角色,和 CFA 股权估值里"市场先生"的寓言一致。市场先生情绪化地报价,价值投资者只在报价远离内在价值时成交。区别在于本章强调:当市场先生是"被迫卖出的基金"而不是"情绪",价值交易者接盘时其实是在出售流动性,赚取的是被迫卖方支付的流动性费用,而不仅仅是"市场错了"的回报。
- 外部价差(outside spread):价值交易者愿意买卖的价格构成外部价差,远宽于做市商价差——他们交易规模大、要弥补研究成本,而且虽然遇到更知情者的频率低,承担的逆向选择风险却更大(规模大、持有久)。他们只亏给对最新新闻更知情的新闻交易者和估值更准的其他价值交易者。
- 转移头寸(layoffs):做市商持有不安的存货时,常把它转给价值交易者——压价让价值交易者买走多头存货,或抬价让价值交易者卖给自己以补空头。
19.4.5 预承诺交易者
预承诺交易者(precommitted traders)为本来就要做的交易争取更好价格,通常挂限价单试图在买价买、在卖价卖。若市场背离其订单,可能错失机会或最终以差得多的价格成交,所以他们把订单挂得靠近市场。因此预承诺交易者往往是最激进的流动性提供者;公开竞价市场中这类人多,价差就小。
- 他们能、也常常把交易商挤出市场:交易商的价差要覆盖经营成本,预承诺交易者不承担这些成本。
- 交易商的优势是调整报价更快;若交易商掌管限价簿(如专家),还能决定自己接单还是让订单与簿上限价单成交,自然会做对自己有利的选择。所以限价单交易者常发现:不想成交时成交了,想成交时没成交——这就是限价单的逆向选择(第 18 章的模拟展示过)。
- 提供即时性,特别激进时价差可以很窄,但一般不提供显著深度——大户不愿展示大额挂单,展示了就会招来报价匹配者。
19.4.6 套利者:流动性的搬运工
套利者(arbitrageurs)在两个或多个市场之间的价差上交易,效果是把一个市场的流动性需求与另一个市场的流动性供给连接起来。所以套利者不是流动性的提供者,而是流动性的搬运者(porters of liquidity):在流动性充足的市场需求流动性,在有人需求的市场供给流动性。套利一般风险低,所以能把大量流动性搬来搬去,增加本市场的深度。
一个精炼的类比:套利者是在同一时间连接不同市场买卖方的做市商;交易商是在同一市场连接不同时间到达的买卖方的做市商。 两者因此相互竞争。
19.4.7 汇总
原书表 19-3 汇总了五类流动性提供者。该表在原书中是旋转排版,精读笔记的文本抽取严重损坏,只能辨认零星词语(如套利者一行的 “Know relative values”“Increase market depth”,以及“亏给谁”一栏的 “Well-informed traders”“Better-informed traders”“Other arbitrageurs”)。下表是依据正文重建的版本,与原表措辞可能不同,需要原表细节时请对照原书第 406 页(PDF 第 419 页)。
| 类型 | 信息优势 | 提供的流动性 | 交易方式 | 主要亏给谁 |
|---|---|---|---|---|
| 做市商 | 订单流(对价值和客户所知不多) | 小额即时性 | 报价,窄价差小数量 | 知情交易者 |
| 大宗交易商 | 了解客户 | 深度(只对未知情客户) | 协商撮合,事后拆分或配售 | 知情交易者 |
| 价值交易者 | 基本面价值 | 最终深度;弹性 | 价格大幅偏离时限价或市价单交易 | 更知情的新闻交易者、估值更准的价值交易者 |
| 预承诺交易者 | 无特定信息优势 | 即时性(极窄价差) | 靠近市场的限价单,必要时改用市价单 | 被逆向选择(不想成交时成交) |
| 套利者 | 相对价值 | 把其他市场的深度搬过来 | 跨市场同步下单(常用市价单) | 其他套利者 |
19.5 一个完整的例子:大额急躁卖单的一生
原书 19.4 节用一个虚构但常见的场景把五类提供者串起来,值得逐步读:
- 起点:一位急躁的未知情交易者想在 NYSE 场内卖出一大宗 XYZ 股票,需求的流动性超过场内容易找到的量。作者指出:此人大概自以为是知情者,否则这样激进地需求流动性是不明智的。
- 订单到了他的场内经纪人 Florence。此时专家(specialist)报 40 买 / 40.05 卖,只针对小数量——窄价差的小额即时性。
- Florence 到专家柜台说有大额卖单、客户想尽快成交。于是两人都推定客户是知情者。
- 专家展示限价簿(深度不足),并呼叫可能有兴趣的场内经纪人。摸清各方兴趣后,显然价格必须跌到 37 美元才能成交全部数量,Florence 同意。
- 成交安排:专家先把大单与簿上 37–40 之间的买单匹配(其中有预承诺交易者和价值交易者),全部按 37 美元成交;场内经纪人为其客户在 37 美元接一部分(大量深度,但代价高昂);剩余部分由专家以 37 美元自营买入。
- 专家现在存货远超意愿,把报价降到 37 买 / 37.30 卖(都是中等数量)。买价报中等而非小数量,是为了不让人怀疑簿上买方已空——否则有人可能试图把价格打下去,严重伤害持有大量多头存货的专家。
- 很快,期权市场的一位套利者用市价单以 37.30 从专家处买入中等数量,同时在期权市场卖出看涨、买入同行权价同到期的看跌(合成空头股票,short synthetic stock)。她向专家需求即时性,同时间接向专家并进而向大额卖方提供深度;期权市场上买看涨、卖看跌的人也经由套利者间接提供了流动性。
- 几小时或几天后,报价 38.10 / 38.25 时,一位价值交易者用市价单以 38.25 买入中等数量。他直接向专家、间接向大额卖方提供深度,帮助价格恢复——使市场具有弹性。
- 几天或几周后,报价回到 40 附近,专家存货回到目标水平。
金融直觉:把这 9 步记成一笔账。卖方在 37 成交,相对报价中点 40.025 损失约 3 美元,即 7.5%,远大于 0.05 美元的报价价差。这 3 美元被分给了几方:簿上 37–40 之间的限价买方、场内经纪人的客户、专家、套利者,以及最后在 38.25 进场的价值交易者,他们各自持有的存货随价格回到 40 而获利。所以大单的"隐性成本"不是蒸发掉的,而是转移给了提供流动性的人。第 21a 章的执行差额(implementation shortfall)测量的就是这类损失。
结论:大额交易者因交易过于激进而亏钱。激进让市场误以为他知情;市场发现并非如此,价格就回升了。若他能让别人相信自己不知情,结果肯定更好。
这个例子是理解“暂时性冲击(transient impact)”与“永久冲击(permanent impact)”的最佳微观叙事:从 40 跌到 37 的 3 美元中,未知情卖单造成的部分最终被价值交易者和套利者修复;如果卖方真是知情者,价格就不会回去。第 20 章把这种可回复的价格变化称为暂时性波动,第 21b 章 Glosten–Harris 模型把它写成回归。
现状补充:原书中的 NYSE “专家”制度已在 2008 年改为“指定做市商”(Designated Market Maker, DMM),场内人工撮合大宗的情形今天已大为减少,大宗更多通过电子化的大宗交易平台、暗池和算法执行完成。但上面例子中的经济学——谁提供即时性、谁提供深度、谁带来弹性——没有变化。
19.6 小结
流动性是双边搜寻的对象,是快速、低成本、大额交易的能力,有即时性、宽度、深度三个维度,外加弹性。急躁的小额交易者用交易所和交易商网络这类“搜索引擎”就能解决搜寻问题;耐心的小额交易者挂限价单等人来找;大额交易者因暴露问题,搜寻成本可能很高,搜寻策略显著影响成交价。五类提供者各有所长:做市商给小额匿名交易者窄价差的即时性;大宗交易商给大额未知情者深度;价值交易者给所有人深度并让市场有弹性;预承诺交易者以极窄价差提供即时性;套利者在市场之间搬运流动性。
量化实战:从日度数据度量流动性的维度
本章四个维度在量化中都有对应指标:
| 维度 | 常用指标 | 需要的数据 |
|---|---|---|
| 宽度 | 报价价差、有效价差、Roll 价差 | 报价/逐笔或日度价格 |
| 深度 | 最优档及前 N 档挂单量;Kyle \(\lambda\) | 盘口 |
| 即时性 | 成交速度、限价单成交时间 | 订单级数据 |
| 宽度+深度(日度近似) | Amihud 非流动性 \(\text{ILLIQ}=\frac{1}{T}\sum_t \frac{\vert r_t\vert }{\text{DVol}_t}\) | 日收益与成交额 |
| 弹性 | 冲击衰减半衰期 | 订单流与收益 |
下面模拟三只流动性不同的股票。每天有标准化的未知情净订单流 \(f_t\);它造成暂时性价格压力 \(D_t=\phi D_{t-1}+\kappa f_t\),\(\kappa\) 越大越“浅”,\(\phi\) 越大越缺乏弹性(价值交易者来得慢);另有与订单流无关的基本面新闻。我们用两种方法度量流动性:Amihud 指标,以及把日收益对当日和滞后订单流做分布滞后回归,估计冲击的大小与衰减速度。在这个模型里,收益对订单流的脉冲响应是 \(b_0=\kappa\),\(b_k=-\kappa(1-\phi)\phi^{k-1}\)(\(k\ge1\)),所以 \(\phi\) 可以用 \(b_2/b_1\) 估计,半衰期为 \(\ln 0.5/\ln\phi\)。
推导拆解:脉冲响应公式是怎么来的? 第一步,对数价格 \(\log P_t=\log V_t+D_t\),所以收益 \(r_t=\Delta\log V_t+(D_t-D_{t-1})=\varepsilon_t+(D_t-D_{t-1})\)。新闻 \(\varepsilon_t\) 与订单流无关,只需看 \(D\) 部分。 第二步,假设只在第 0 天来了一单位订单流 \(f_0=1\),其余天为 0。由 \(D_t=\phi D_{t-1}+\kappa f_t\) 得 \(D_0=\kappa\),\(D_1=\kappa\phi\),\(D_2=\kappa\phi^2\),一般 \(D_k=\kappa\phi^k\)。 第三步,收益是 \(D\) 的差分:第 0 天 \(r_0=D_0-0=\kappa\);第 \(k\) 天 \(r_k=\kappa\phi^k-\kappa\phi^{k-1}=-\kappa(1-\phi)\phi^{k-1}\),为负,表示价格在回落。 第四步,\(b_2/b_1=\phi^1/\phi^0=\phi\),所以相邻滞后系数之比就是持续系数。累计到第 \(n\) 天:\(\kappa-\kappa(1-\phi)(1+\phi+\dots+\phi^{n-1})=\kappa-\kappa(1-\phi^n)=\kappa\phi^n\),这里用了几何级数求和,就是代码里"5日残余(真实)"\(=\kappa\phi^5\) 的来源。 第五步,半衰期:令 \(\phi^h=0.5\),取对数得 \(h=\ln0.5/\ln\phi\)。例如 \(\phi=0.85\),\(h=0.693/0.1625\approx4.3\) 天。注意表中小盘冷门的估计 \(\hat\phi=0.79\) 偏低,所以半衰期只估出 2.9 天,这正是下文说的"弹性难测"。
import numpy as np, pandas as pd
import statsmodels.api as sm
rng = np.random.default_rng(19)
T = 2500 # 约 10 年日度数据
def simulate(kappa, phi, adv, sigma_v=0.015):
"""kappa: 单位订单失衡的冲击;phi: 暂时冲击的日持续系数(越小越有弹性);adv: 日均成交额"""
flow = rng.normal(0, 1, T) # 标准化的未知情净订单流(买为正)
eps = rng.normal(0, sigma_v, T) # 基本面新闻
D = np.zeros(T) # 暂时性价格压力
for t in range(1, T):
D[t] = phi * D[t-1] + kappa * flow[t]
logV = np.cumsum(eps)
logP = logV + D
r = np.diff(logP, prepend=0.0)
dollar_vol = adv * np.exp(rng.normal(0, 0.3, T)) * (1 + 0.5 * np.abs(flow))
return pd.DataFrame({"r": r, "flow": flow, "dvol": dollar_vol})
def measures(df, K=10):
amihud = (df.r.abs() / (df.dvol / 1e8)).mean() # 每亿元成交额对应的绝对收益
X = pd.concat({f"L{k}": df.flow.shift(k) for k in range(K + 1)}, axis=1)
fit = sm.OLS(df.r, sm.add_constant(X), missing="drop").fit()
b = fit.params.drop("const").values # 冲击响应:b0 = kappa, bk = -kappa(1-phi)phi^(k-1)
cum = np.cumsum(b) # 累计冲击:从 kappa 回落到永久部分(此处为 0)
phi_hat = np.clip(b[2] / b[1], 0, 0.999) if b[1] < 0 else np.nan
half_life = np.log(0.5) / np.log(phi_hat) if 0 < phi_hat < 1 else np.nan
return amihud, b[0], cum[5], phi_hat, half_life
specs = {"大盘蓝筹": (0.002, 0.30, 5e9), "中盘股": (0.006, 0.60, 5e8), "小盘冷门": (0.015, 0.85, 3e7)}
rows = []
for name, (kappa, phi, adv) in specs.items():
a, b0, c5, ph, hl = measures(simulate(kappa, phi, adv))
rows.append({"股票": name, "真实kappa": kappa, "真实phi": phi, "Amihud": a,
"估计当日冲击": b0, "5日残余(估计)": c5, "5日残余(真实)": kappa * phi**5, "估计phi": ph, "半衰期(日)": hl})
pd.set_option("display.float_format", lambda x: f"{x:.4f}")
print(pd.DataFrame(rows).to_string(index=False))
# 单边搜寻停止规则:原书相机例子
p_better, max_gain, cost_per_search = 0.25, 10.0, 30 * 5 / 60
print(f"\n相机例:继续搜寻的预期收益上限 {p_better*max_gain:.2f} 美元,单次搜寻成本至少 {cost_per_search:.2f} 美元 -> "
+ ("停止" if p_better * max_gain <= cost_per_search else "继续"))
输出:
股票 真实kappa 真实phi Amihud 估计当日冲击 5日残余(估计) 5日残余(真实) 估计phi 半衰期(日)
大盘蓝筹 0.0020 0.3000 0.0002 0.0021 0.0010 0.0000 0.4129 0.7835
中盘股 0.0060 0.6000 0.0020 0.0057 0.0006 0.0005 0.6763 1.7722
小盘冷门 0.0150 0.8500 0.0426 0.0156 0.0078 0.0067 0.7886 2.9185
相机例:继续搜寻的预期收益上限 2.50 美元,单次搜寻成本至少 2.50 美元 -> 停止
几点说明:
白话解释:Amihud 指标 \(|r_t|/\text{DVol}_t\) 的含义是"每成交一单位金额,价格平均挪动多少"。例如某天成交 1 亿元、涨跌 2%,当天的值就是 2% / 1 亿元。它像一个粗糙的"价格弹性的倒数":同样的成交额推得价格动得越多,市场越浅。它不区分涨跌方向(取绝对值),也不区分价格变动是来自交易还是来自新闻,所以只是代理指标。代码里把成交额以亿元为单位,是为了让数字落在便于阅读的范围。
- Amihud 指标把三只股票的流动性差异拉开了两个数量级,排序正确。它便宜、只需日度数据,是因子研究和容量估计中最常用的流动性代理。但它把“宽度/深度”和“弹性”混在一起,无法区分冲击是永久的还是暂时的。
- 当日冲击估计得很准(\(\hat b_0\approx\kappa\));衰减参数 \(\phi\) 的估计噪声大得多,尤其是大盘股——冲击本身相对新闻噪声太小,5 日残余冲击的估计值甚至比真实值大一个数量级。这是一个普遍规律:弹性比宽度难测得多,需要更长样本、更高频的数据或订单级信息。
- 真实研究中订单流 \(f_t\) 不可直接观测,通常用 Lee–Ready 规则(第 21a 章)把逐笔成交分为主动买和主动卖,再汇总为净主动买入量。
对量化交易的几条启示:
- 策略容量:一个策略能做多大,取决于它要在多短时间内吃掉多少深度。用 Amihud 指标或冲击系数估计成本随规模的上升速度,是容量分析的起点。
- 均值回复策略的利润来源:在本章的框架里,短期反转策略就是在扮演“价值交易者/预承诺交易者”,赚的是未知情冲击回复的钱;它的收益与股票的 \(\kappa\) 和 \(\phi\) 直接相关,也随做这类交易的资本多少而变化。
- 执行择时:“价格下跌时买入更容易”“盘口失衡预示单边流动性贵贱”可以直接转化为执行算法的择时规则——买单在卖压大时更容易以好价格成交。
本章小结
流动性是“想交易时能以低成本、快速、大额成交”的能力,本质是双边搜寻的结果。单边搜寻在边际收益不再超过边际成本时停止;双边搜寻还要考虑被动等待和“回不去”。即时性、宽度、深度对应时间、成本、数量,宽度与深度是对偶;弹性衡量冲击后的恢复速度。流动性提供者有五类,信息优势决定了各自的专长:做市商卖即时性,大宗交易商和价值交易者卖深度,价值交易者还带来弹性,预承诺交易者给出最窄的价差,套利者搬运流动性。
| 概念 | 要点 |
|---|---|
| 流动性 | 想交易时以低成本快速交易大额的能力;双边搜寻的对象 |
| 单边搜寻停止规则 | \(\Pr(\text{更优})\times E[\text{改进}]>c\) 才继续 |
| 双边搜寻 | 主动/被动之分;继续搜寻可能失去当前最佳 |
| 即时性 / 宽度 / 深度 | 时间 / 单位成本 / 给定成本下的数量;宽度与深度对偶 |
| 弹性 | 未知情冲击后价格回到原水平的速度,主要由价值交易者提供 |
| 订单类型 ≠ 流动性角色 | 用市价单回应别人的大单也是在提供流动性 |
| 价值交易者 | 最终的流动性提供者;外部价差;最快者最赚钱 |
| 预承诺交易者 | 最激进的提供者,可挤出交易商,但承受逆向选择 |
| 套利者 | 流动性的搬运工;跨市场的“做市商” |
| Amihud 指标 | \(\frac1T\sum\vert r_t\vert /\text{DVol}_t\),日度流动性代理 |
练习
基础
- 用自己的话解释为什么“宽度”和“深度”互为对偶。
- Fred 的相机例中,如果他的时间价值是 15 美元/小时,其他条件不变,他应该继续搜寻吗? 答案要点:单次成本至少 1.25 美元,预期收益上限 2.50 美元,有可能值得继续(需看实际概率与改进幅度的乘积是否超过成本)。
- 市价单总是在需求流动性吗?(原书思考题 7) 提示:价值交易者在价格被打压后用市价单买入,是在回应别人的流动性需求,属于提供流动性。
- 为什么做市商主要提供即时性,而大宗交易商主要提供深度?
- 套利者为什么被称为“流动性的搬运工”而不是提供者?
进阶
- 19.5 节的例子中,大额交易者为什么没有直接与价值交易者交易?(原书思考题 8) 提示:价值交易者慢,要等价格先偏离、并确认没有遗漏信息才进场;大额交易者急躁且被推定为知情者;双方找到彼此的搜寻成本高。
- 公开限价簿(open limit order book)有什么利弊?交易所应否公开限价簿?(原书思考题 3) 提示:公开降低搜寻成本、提高透明度;但增加暴露成本,大户会更多拆单或使用隐藏单。
- 在本章代码中把样本长度
T从 2500 改为 250(约一年),重复运行若干次(换随机种子),观察 \(\hat\phi\) 与半衰期估计的波动。据此讨论用一年数据估计弹性是否可靠。 - 你认为流动性哪个维度最重要?对大额交易者、小额交易者、监管者分别是哪个?(原书思考题 11)
原书推荐习题:思考题 7(市价单是否总在需求流动性)、8(大额交易者为何没直接与价值交易者交易)、11(各维度对不同主体的重要性)、3 与 5(公开限价簿利弊;双方都不展示能否找到彼此,可联系 Liquidnet)。
原书对照
- Part V 导言:PDF 第 406 页(原书页码约为 PDF 页码减 13,即第 393 页)。
- 原书第 19 章 Liquidity,PDF 第 407–422 页(原书第 394–409 页)。
- 章首导言与专栏 “Market Frictions”:PDF p.407–408;19.1 流动性的搜寻(单边/双边搜寻、相机例、表 19-1、婚恋与舞会专栏):p.408–411;19.2 流动性的维度(表 19-2):p.411–413;19.3 流动性提供者(做市商、大宗交易商、价值交易者、预承诺交易者、套利者):p.413–418;表 19-3:p.419(旋转排版,本章所列为依据正文的重建版本);19.4 示例:p.418–421;总结与要点:p.421–422;思考题:p.422。