4. 流动性度量:Amihud非流动性比率、Roll Spread估计、基于订单簿的流动性指标

流动性这东西,说起来玄乎,其实就一句话:你想卖的时候,能不能马上卖掉,而且价格别太离谱。我做了这么多年订单簿分析,见过太多人把流动性挂在嘴边,但真要他量化一下,就懵了。今天咱们就把这事儿掰扯清楚。

我个人习惯把流动性度量分成三个层次:价格冲击维度交易成本维度订单簿微观维度。这三个维度各有各的用处,也各有各的坑。

核心观点:没有完美的流动性指标,只有适合场景的指标。做高频,看订单簿;做日频,看Amihud;做中低频,Roll Spread够用了。

4.1 Amihud非流动性比率

先说说Amihud。这个指标是2002年提出的,到现在还是学术界和业界的主流。它的逻辑很简单:每单位成交量能引起多大的价格变化

公式长这样:

Amihud_illiq = (1/N) * Σ(|r_t| / volume_t)

其中r_t是日收益率,volume_t是日成交金额。说白了,就是每天的价格波动除以成交量,然后取平均。

我在项目中遇到过一个问题:用Amihud的时候,如果某天成交量特别小,这个比值会变得巨大,直接拉高整个序列。嗯,这里要注意——极端值处理。我一般会做1%和99%的缩尾处理,或者直接用中位数代替均值。

实战技巧:Amihud值越大,说明流动性越差。比如一只股票每天涨跌1%只需要100万成交,另一只需要1000万,那前者的流动性明显更好。我习惯把Amihud取倒数,变成"流动性比率",这样数值越大流动性越好,看着更直观。

为什么Amihud这么流行?因为它只需要日线数据,任何市场都能算。但它的缺点也很明显:日内信息全部丢失。你想想看,如果一只股票上午流动性极差,下午恢复正常,Amihud只能反映一个平均状态。

4.2 Roll Spread估计

Roll Spread是另一个经典指标。它基于一个观察:买卖价差的存在会导致收益率序列出现负的自相关

公式很简单:

Roll_Spread = 2 * sqrt(-Cov(ΔP_t, ΔP_{t-1}))

其中ΔP是价格变化。如果协方差为正,说明价差为0——这种情况在现实中很少见。

我记得第一次用Roll Spread的时候,算出来一堆负值,差点以为自己代码写错了。后来才发现,当协方差为正时,这个公式就失效了。这是Roll Spread最大的硬伤。

避坑指南:我曾经在A股市场用Roll Spread做全市场流动性监测,结果发现大约30%的股票算出来是负值。后来我改用改进版——把负值设为0,或者用绝对值。但说实话,这已经偏离了原始公式的意图。所以我的建议是:Roll Spread更适合做截面比较,不适合做时间序列

Roll Spread的好处是只需要价格数据,不需要成交量。但它的假设比较强:市场是有效的,价格变化是随机的。现实中,这个假设经常不成立。

4.3 基于订单簿的流动性指标

这才是咱们做订单簿分析的重头戏。订单簿数据能提供最精细的流动性信息,但处理起来也最麻烦。

常用的指标有这么几个:

指标 定义 我的用法
Depth at N levels 前N档买卖挂单的总量 N=5时最常用,兼顾深度和实时性
Bid-Ask Spread 最优卖价 - 最优买价 衡量即时交易成本
Order Book Imbalance (买盘总量 - 卖盘总量) / 总挂单量 预判短期价格方向
Slope of Order Book 价格-深度曲线的斜率 衡量价格弹性

Depth at N levels 是最直观的指标。比如前5档买盘总共有100万股,卖盘有80万股,那深度就是180万股。但这里有个坑:不同股票的价格不同,直接用股数比较没意义。我习惯换算成金额,或者用市值的百分比。

你想想看,贵州茅台一股2000块,前5档深度可能只有几百股,但金额已经上百万了。而一只低价股可能挂了几十万股,金额却只有几十万。所以一定要标准化

我的经验:做日内交易策略时,我最喜欢用的是"加权深度"。把每档挂单量按距离最优价的距离加权,距离越近权重越大。这样能更真实地反映"我能以多快的速度成交多少量"。

还有一个指标叫流动性黑洞,虽然不常用,但关键时刻能救命。当订单簿的深度突然大幅下降,或者买卖价差急剧扩大,就说明流动性正在快速消失。我在2015年股灾时就亲眼见过——前一分钟还正常的订单簿,后一分钟买盘全撤了,只剩卖盘在那挂着。

4.4 知识体系总览

说了这么多,咱们用一张图把这三个维度串起来:

流动性度量三维度 流动性度量 Amihud非流动性比率 价格冲击 / 成交量 Roll Spread估计 收益率负自相关 → 价差 订单簿微观指标 Depth / Spread / Imbalance 需日线数据 需处理极端值 可能算出负值 适合截面比较 需高频数据 需标准化处理 选择建议 高频策略 → 订单簿指标 日频策略 → Amihud 中低频/截面研究 → Roll Spread

4.5 实战中的选择逻辑

说了这么多,到底该用哪个?我的建议很简单:

  • 如果你做高频交易,别犹豫,直接上订单簿指标。Depth at N levels和Bid-Ask Spread是标配。我自己的策略里还会加上Order Book Imbalance,用来预判短期方向。
  • 如果你做日频策略,Amihud就够了。它虽然粗糙,但胜在稳定。我一般用过去20天的Amihud均值,作为股票的"流动性标签"。
  • 如果你做中低频或者截面研究,Roll Spread是个不错的选择。它不需要成交量数据,很多数据库里都能直接算。

一个小技巧:我习惯把三个指标都算出来,然后做PCA降维,提取第一主成分作为"综合流动性得分"。这样既保留了各个维度的信息,又避免了多重共线性。当然,前提是你得有足够的数据量。

最后说一句:流动性指标不是算出来就完事了。你得理解它背后的经济含义,知道它在什么情况下会失效。比如Amihud在涨跌停时完全没用,订单簿指标在盘前集合竞价阶段也是废的。这些坑,我都是踩过才记住的。

嗯,流动性度量这块就聊到这儿。记住一句话:没有最好的指标,只有最合适的指标。根据你的策略频率和数据条件,选一个能用的,然后深入理解它的优缺点,比什么都强。

专注资料整理