跳到正文

Amihud 非流动性测度:每成交一美元的价格冲击

Amihud (2002) 用一个除法刻画非流动性:绝对收益除以成交金额。只要价格和成交量就能算,所以它成了资产定价研究的标准。这篇讲它到底在估计什么、量级怎么读、以及它的每个毛病都从哪儿来。

第 7 篇 · 共 12 篇 约 9 分钟

流动性是那种人人都在用但没人精确定义的词。你看到非流动性的东西是认得出的(试试在周五下午 3:50 卖 $10M 的小盘生物科技股就知道了),但要做研究,得有个能算的数。这就引出一个听起来过分的问题:一个数怎么可能装下”流动性”这么大的概念?

Amihud (2002) 的回答是一个除法,Amihud 非流动性比率:

ILLIQt=∣rt∣DVOLt\text{ILLIQ}_t = \frac{|r_t|}{\text{DVOL}_t}

其中 rtr_t 是第 tt 天的收益,DVOLt\text{DVOL}_t 是第 tt 天的成交金额。绝对收益除以成交金额,没了。直觉也就一句话:没多少成交却动得厉害的股票不流动,成交很大却动得小的股票流动。

这个除法简单到骗人。这篇文章要讲清楚三件事:它到底在估计什么(答案:Kyle 的 lambda 的粗代理);它为什么能横扫数百篇资产定价研究、成为流动性因子动物园的标准成员(跟买卖价差、换手率、Pastor-Stambaugh 因子并列,Harris 在第 21 章和第 19 章把它放进更广的流动性分类里讨论);以及它的每一个已知毛病是怎么从分子 ∣rt∣|r_t| 里长出来的。

量级:先学会读这个数

对单只股票、TT 天取平均:

ILLIQ‾=1T∑t=1T∣rt∣DVOLt\overline{\text{ILLIQ}} = \frac{1}{T} \sum_{t=1}^{T} \frac{|r_t|}{\text{DVOL}_t}

单位是(收益 / 成交美元)= 1 / 美元,所以这个数本身很小,读它要看数量级。用一组算得出来的例子建立感觉。一只类苹果的大盘股,日波动率 1.5% 意味着典型一天的 ∣rt∣|r_t| 在 1.2% 左右(正态假设下 E∣r∣≈0.8σE|r| \approx 0.8\sigma),日成交金额按 $5B 算:

ILLIQ=0.0125×109≈2.4×10−12 每美元\text{ILLIQ} = \frac{0.012}{5 \times 10^9} \approx 2.4 \times 10^{-12} \text{ 每美元}

一只典型一天动 0.5%、日成交金额只有 $5M 的小盘股:ILLIQ = $0.005 / 5\times10^6 = 1\times10^{-9}$每美元——比大盘股高了大约 400 倍。这就是以数字表达的流动性差距。把整个美股横截面按 ILLIQ 排开:最流动的十分位在$10^{-12}到到10^{-11}$一带,最不流动的十分位在$10^{-8}$或更高;加密主流币大约$10^{-9}到到10^{-8}$,山寨币 $10^{-6}$ 起步。流动和不流动资产之间差 4–5 个数量级——正是这个巨大的跨度让 ILLIQ 实用,它能把整个谱系放在同一把尺子上。

读法上有一个粗糙但好用的近似:把 ILLIQ 乘上你的成交金额,当成预期冲击。ILLIQ 为 10−910^{-9} 的名字上成交 $1M,预期动 10 bp 量级。这个线性读法在大单上会高估(冲击经验上是次线性的,见平方根律那篇),但当量级估计足够了。

Python 实现

import numpy as np
import pandas as pd

def amihud_illiquidity(returns, dollar_volume):
    """
    计算 Amihud (2002) 非流动性比率。
    returns: pd.Series of daily returns (decimal)
    dollar_volume: pd.Series of daily dollar volume
    返回:样本期内的平均 ILLIQ。
    """
    illiq = returns.abs() / dollar_volume
    return float(illiq.mean()), illiq


# 玩具数据
rng = np.random.default_rng(42)
n_days = 252
returns = pd.Series(rng.normal(0.0005, 0.015, n_days))
dollar_volume = pd.Series(rng.lognormal(20, 0.5, n_days))
avg_illiq, daily = amihud_illiquidity(returns, dollar_volume)
print(f"平均 ILLIQ: {avg_illiq:.3e}")
# 这组玩具参数(日成交额均值约 $5 亿)打印出来在 1e-11 量级;
# 真实大盘股的量级见正文

做横截面研究时,对每只股票算 ILLIQ‾\overline{\text{ILLIQ}} 然后排名,就这么直接。

它其实在估计什么

Amihud 测度抓的是每单位成交的价格冲击。把冲击线性化——假设价格变动正比于成交流量——那么”绝对收益除以成交额”就是那条斜率,也就是 Kyle 模型里的 lambda:

ILLIQt≈λt\text{ILLIQ}_t \approx \lambda_t

所以 ILLIQ 本质上是一个不需要任何模型设定的、非参数的价格冲击估计器。这解释了它为什么有效:它没有假装度量”流动性”这个大概念,它度量的是流动性最有经济意义的那个侧面——你交易时价格挪多远。

但同一个视角也暴露了它的所有毛病,因为分子 ∣rt∣|r_t| 里装的不只是价格冲击。

最大的混杂是波动率。∣rt∣|r_t| 跟基本面波动率相关:一只高波动的股票即便流动性还行,ILLIQ 也会偏高,因为价格本来就在动,跟有没有人在推它无关。除以成交额部分缓解了这一点,但调整不完美——这是用 ILLIQ 时永远要记着的第一号警告。其次是不对称:∣rt∣|r_t| 对涨跌一视同仁,但现实中负收益往往幅度更大(杠杆效应),有些研究者干脆只用 max⁡(0,−rt)\max(0, -r_t) 看下行。然后是数据端的三个麻烦,全都集中在不流动股票上,偏偏那正是你最想度量的对象:零成交日让 ILLIQ 未定义或无穷(典型做法是丢掉或 winsorize);财报、并购这类极端日子的大动能主导整个平均(在 99 分位 winsorize,或用中位数);而收盘价本身可能是陈旧的——很少交易的股票(一些债券 ETF、微盘股),收盘价可能是停滞报价或某笔异常大单,某天一笔大宗成交会让 ILLIQ 显得假低,报价停滞没成交的日子又让它显得假高。买卖弹跳还会往 ∣rt∣|r_t| 里掺进纯噪音:收盘价在买价和卖价之间来回跳,给日收益添上量级可达半个价差的假动作(它把测得的收益方差抬高约 s2/2s^2/2,Roll 的经典结果)。对价差 1% 的不流动股票,这些假动作是每天几十个 bp 量级,足以淹没真实的冲击信号——有中间价就用中间价收益,别用收盘到收盘。

尽管毛病一箩筐,Amihud 仍是横截面流动性研究的标准,原因很实际:它只要价格和成交量,而这两样数据哪儿都有。它是一个”够用”的测度,前提是你知道它哪儿不够。

资产定价那条线:非流动性溢价

Amihud (2002) 让这个测度出名的不是定义,是它跟收益的关系。理论底子是 Amihud-Mendelson (1986) 的流动性调整 CAPM:

E[ri]=rf+βi⋅E[rm−rf]+λ⋅ILLIQiE[r_i] = r_f + \beta_i \cdot E[r_m - r_f] + \lambda \cdot \text{ILLIQ}_i

其中 λ>0\lambda > 0 抓的是投资者持有非流动资产要求的补偿。注意这是一个经验规律,不是从公理推出来的定理。它在横截面上成立:控制市场 beta 后,ILLIQ 高的股票平均收益更高。也在时间序列上成立:聚合 ILLIQ 上升时,未来超额收益倾向于更高。

量级:Amihud (2002) 在美股上按 ILLIQ 分十分位、算等权收益,最高分位跑赢最低分位大约 6% 每年(1963–1997 样本);后续文献里这个溢价的估计大致落在 4–6% 一年,是因子动物园里最大的”异常”之一。随着流动性因子投资流行,溢价近年被套利抹平了一部分,但仍然存在。

不过别把整个溢价都记在”非流动性补偿”账上。ILLIQ 高的股票同时暴露在小盘、价值等其他因子上;ILLIQ 又跟信息不对称相关,信息扩散慢本身就带收益可预测性;还有一部分来自彩票偏好——有些投资者就喜欢不流动名字的高波动长尾。Amihud 测度把这些一锅端了,“真正”的非流动性溢价大概率比原始 ILLIQ 溢价小。Harris 第 19 章的实战派立场就是这个:非流动资产赚溢价,但量级有争议。

这条线在美股之外也验证过。Amihud, Hameed, Kang, Zhang (2015) 在 45 个市场的全球股票上确认了溢价;公司债上溢价存在但因为交易稀疏难估计(Dick-Nielsen, Feldhutter, Lando, 2012);加密市场上低频流动性代理(包括 Amihud)的有效性被专门检验过(Brauneis, Mestel, Riordan, Theissen, 2021),溢价证据则波动大、依赖情景;商品期货上的流动性测度与共性也有专门研究(Marshall, Nguyen, Visaltanachoti, 2013)。跨资产的一致性令人宽心:ILLIQ 抓住了流动性溢价里某些真实的东西。

自己做这类研究时,有两个坑比测度本身杀伤力更大。一个是生存者偏差:股票池必须包含退市股票——Amihud 原始的 CRSP 样本包含退市,很多后续研究没有,而退市恰恰集中在最不流动的分位里,漏掉它们溢价就有偏。另一个是前视偏差:用今天的 ILLIQ 预测今天的收益等于用了交易时还没有的信息,必须用滞后值(比如 t−1t-1 月的 ILLIQ 预测 tt 月收益)。Harris 第 19 章讲这些坑的实务面,Hasbrouck (2007) 第 3 章有正式处理。

它在测度家族里的位置

流动性不止一个测度,每个抓的侧面不同:买卖价差抓即时成交的成本;有效价差抓相对中间价的实际执行成本(比报价价差更真实);Roll 测度从价格变化反推价差;换手率(成交量 / 流通股数)度量交易活跃度但不度量成本;Pastor-Stambaugh (2003) 用归因于流动性的收益反转构建因子;Kyle 的 lambda 是理论上每单位流量的冲击。这些测度相关但不相同,Hasbrouck (2007) 第 3 章有清晰的对比。

选择上有一个实用的分工表:

用途推荐测度
横截面资产定价Amihud
单资产流动性的时间序列有效买卖价差
执行算法标定Kyle 的 lambda
市场质量监控有效 + 实现价差
跨资产类比较Amihud
高频冲击估计Kyle 的 lambda(回归)

这张表背后的逻辑值得展开一层,拿 Amihud 和有效价差对比最清楚:两者都度量交易成本,但回答的问题不同。有效价差是瞬时快照——你现在在 touch 上成交 $1M,它就是你这一笔的成本;所以执行算法标定用它(和实现价差),因为你在乎的是下一笔。Amihud 是**长期平均**——你一年里每天成交 $1M,它近似每天的平均成本;所以组合构建、风险管理和因子研究用它,因为你需要的是稳定的时间序列。两者都有时应该正相关,高价差的股票也该高 Amihud;如果背道而驰,多半哪儿出了问题——报价停滞,或者这只股票的流动性状态正在切换。这个交叉核对本身就是个好用的健全性检查。

顺带一提执行路由:现代智能路由主要看各场所的有效价差、队列深度和 maker-taker 费用,Amihud 不直接进路由逻辑,但在报价数据稀疏时是决定”要不要把某个场所纳入”的有用退路。

实战:用 ILLIQ 干活

对实战派,ILLIQ 有三个直接用途,从事前到实时。

第一是事前成本预测。发单之前你预期付多少?最简单的预测公式:

cost^=α⋅ILLIQ‾⋅Q\hat{\text{cost}} = \alpha \cdot \overline{\text{ILLIQ}} \cdot Q

其中 QQ 是成交美元数,ILLIQ‾\overline{\text{ILLIQ}} 是滞后的 ILLIQ,α\alpha 是缩放因子(通常 0.5–2.0,取决于紧急度和市场条件)。一只 ILLIQ‾=10−9\overline{\text{ILLIQ}} = 10^{-9} 的股票上成交 1M,1M,\alpha = 1$时预期成本 1 bp,流动名字上合理;换成$10^{-7}$的名字,同样$1M 就是 10 bp。把这个事前数跟事后实际成本对账,就是最朴素的执行质量评估。反过来它也是回测假设的照妖镜:如果你在 Arithmion 里回测时给一只 ILLIQ 为 10−810^{-8} 的名字假设 5 bp 冲击,乐观了一个数量级——这类不匹配是回测好看、实盘难看的经典来源。

第二是执行节奏调整。同一套逻辑反着用:ILLIQ 高的名字慢慢成交、用被动单、接受更长水平期、付点差换冲击;ILLIQ 低的名字可以快、用市价单、水平期短。一个简单规则是把冲击目标设为买卖价差的一定比例(比如 10%),ILLIQ 告诉你为守住这个目标该走多快。这是自适应执行算法的基础逻辑。

第三是实时监控。在滚动 20 天窗口上算 ILLIQ,突破历史 95 分位就告警——流动性恶化通常先出现在这个数上,再变成执行报表上的坏数字。对做市或执行 desk,这是个值当的低成本哨兵:告警触发就减仓或撤单。用于监控(以及一切机构级用途)时,前面说的数据清理不能省:能用日内数据就用日内,零成交日丢掉或记缺失,∣rt∣>5%|r_t| > 5\% 但没有新闻的日子按停滞报价处理。

它不度量什么

收尾前把边界画清楚。Amihud 抓的是每成交金额的价格冲击,仅此而已。它不抓买卖价差(即时执行的代价)、不抓报价深度(touch 上有多少量)、不抓波动率本身(信息环境)、也不抓韧性(价格从冲击中多快恢复)。要做全面的流动性评估,拿它跟有效价差、换手率合用——它是被引用最多的那个,但从来不是唯一需要的那个。

一个除法能走这么远,靠的不是精巧,是数据要求低加上含义直白:每成交一美元,价格动多少。知道它在估计 Kyle 的 lambda,知道分子里掺着波动率和噪音,知道量级怎么读,这个数就够你用了。

参考文献

  • Harris, L. Trading and Exchanges: Market Microstructure for Practitioners. Oxford University Press, 2003. 第 21 章(流动性),第 19 章(资产定价含义)。ISBN: 978-0-19-514470-3.
  • Amihud, Y. “Illiquidity and Stock Returns: Cross-Section and Time-Series Effects.” Journal of Financial Markets, 2002.
  • Amihud, Y., Mendelson, H. “Asset Pricing and the Bid-Ask Spread.” Journal of Financial Economics, 1986.
  • Pastor, L., Stambaugh, R. “Liquidity Risk and Expected Stock Returns.” Journal of Political Economy, 2003.
  • Hasbrouck, J. Empirical Market Microstructure. Oxford University Press, 2007. ISBN: 978-0-19-518115-9(精装)/ 978-0-19-539320-0(平装)。