市场微观流动性指标 (Microstructure Liquidity Indicators)

大白话:不看「今天成交了多少」,而是从三个角度衡量「好不好做」——深度(在不推歪价格的前提下能吃进多大的量)、紧密度(买入价和卖出价差多少)、弹性(被砸下去之后价格多久能弹回来)。每个角度配两个能直接算出来的分钟级指标,一共六个。

来源:兴业金工《高频研究系列五—市场微观结构剖析》(2022-11-09),第 2 章。见 entities/Xingye 2022 Market Microstructure。

一、三个维度各自在量什么

原报告用一张「成交量—资产价格」示意图把三个维度画在一起:横轴是成交量,纵轴是对应成交价,左侧是卖出、右侧是买入,蓝线是价格随成交量变化的折线。

维度 大白话 示意图上对应哪一块 好的方向
深度 (Depth) 多大的单子能把价格推歪 折线的平台段(买卖成交量之差,橙色方块) 平台越宽越深
紧密度 (Tightness) 同一时刻买价和卖价差多少 纵轴上买价与卖价之间的垂直距离(蓝色方块) 距离越窄越紧
弹性 (Resiliency) 价格被冲击后恢复多快 平台段之外的价格变动斜率(红色方块) 斜率越缓越有弹性

深度同时还含有「多空双方在成交量上是否平衡」的意思——这一点很关键,它让深度指标不只是一个纯粹的容量度量,还带上了多空力量对比的信息。

微观流动性在量什么:报告的定义是「市场建立和/或解除头寸的时间成本,抑或是能否在短时间内建立和/或解除大量头寸而不造成价值上的重大损失(价值成本)」。广义流动性分三层:宏观层(货币供给、IPO 规模、外资流入)、中观层(市场成交量、换手率、杠杆)、微观层(深入到日内交易层面)。

二、六个二级指标:公式与口径

深度

订单比率 Order Ratio (OR) —— 用买卖双方成交量的不平衡程度衡量深度:

OrderRatio = \frac{\lvert \sum_{i=1}^{m} VBuy_i - \sum_{j=1}^{k} VSell_j \rvert}{\sum_{n=1}^{N} V_n}

分子是当日买方驱动与卖方驱动的分钟成交量之差的绝对值,分母是当日分钟成交量总和。分钟归属买卖方向用附录里的 LR 算法判定。该指标以分钟级数据计算,最终汇总为日度指标。OR 越大说明成交量越不平衡、资产深度越低、流动性越差。

shallowLIX —— 回答「推动一个单位的价格变动需要多少钱」:

shallowLIX_t = \log_{10}\left(\frac{Amount_t}{P_t^H - P_t^L}\right)

P_t^H、P_t^L 是第 t 分钟的最高价与最低价(分母即该分钟的价格波动),分子是成交额。取以 10 为底的对数是为了压住量级。推论:10^{shallowLIX} 就是制造 1 个单位价格波动所需的资本量——这个数越大,说明同样的资金量能推动的价格越小、深度越好。以分钟级计算,剔除日内异常值(分位数去极值)后取均值得到日度值。

紧密度

报价差 quotedSpread (QS):

QS_j = \frac{askprice_j^{(1)} - bidprice_j^{(1)}}{0.5\left(askprice_j^{(1)} + bidprice_j^{(1)}\right)}

第 j 分钟的卖一价减买一价,除以两者的简单平均。分钟级计算,分位数去极值后按分钟成交量加权得到日度值。

有效价差 effectiveSpread (ES) —— 在报价差上再叠一层实际成交价:

ES_j = \frac{2\lvert tradeprice_j - 0.5\left(askprice_j^{(1)} + bidprice_j^{(1)}\right) \rvert}{0.5\left(askprice_j^{(1)} + bidprice_j^{(1)}\right)}

tradeprice_j 取第 j 分钟的收盘价。交易价落在买一卖一中间说明成交在合理价差内、成本低;偏离中值则说明有一方占了便宜、另一方的成本大。同样分钟级计算、按成交量加权到日度。价差类指标越小代表紧密度越高、流动性越好。

弹性

交易弹性 elasticityTrading(原文拼作 elatricityTrading):

elasticityTrading_j = \frac{\%\Delta T_j}{\%\Delta P_j}

第 j 分钟成交量变化率除以收盘价变化率,度量价格相对于成交量的变化速度。分钟级计算,分位数去极值后取均值到日度。实际计算中剔除开盘与尾盘的最后一项数据以避免估计误差。

修正的 Roll 指标:

\gamma_j = -cov(\Delta p_j, \Delta p_{j+1})

\Delta p_j 是第 j 分钟收盘价相对前一分钟的差值。逻辑是:流动性差 → 价格里残留暂时性变动成分 → 相邻分钟价格变动出现负相关 → 用「相对价格变动的自变量(协方差)的负数」作为非流动性的度量。该指标越大说明流动性越弱(表 3 中它被归到弹性维度,实际刻画的是冲击后的价格不稳定性)。

三、汇总与方向

一级指标 二级指标 指标含义 原始值方向
深度 订单比率 Order Ratio 买卖双方订单上的不平衡性 越小越好
深度 shallowLIX 创造同样单位价格波动所需的资金量 越大越好
紧密度 报价差 QS 流动性资产买卖价格之间的差异 越小越好
紧密度 有效价差 ES 买卖价差与实际交易成本结合 越小越好
弹性 交易弹性 elasticityTrading 价格相对于成交量的变化速度 越大越好
弹性 修正的 Roll 指标 暂时性的价格变动成分相对大小 越小越好

⚠️ 原报告的表 3 还有一列「顺序」,标的只有「升序 / 降序」,正文没有解释这一列的含义。从六个指标的定义与正文可以一致地反推:标「升序」的四个指标(OR、QS、ES、Roll)是数值越小代表流动性越好,标「降序」的两个(shallowLIX、交易弹性)是数值越大代表流动性越好。落笔做实现时以这个映射为准,不要直接按字面猜。

四、底表:分钟级行情数据

数据名称 英文名 含义
开/高/低/收 open / high / low / close 基于交易所成交明细,在分钟区间内(左开右闭)按成交价计算
成交量 / 成交额 volume / amount 同区间内按成交明细累计
买一价 bid(1) 最后一笔快照数据中未成交的最高买盘价
卖一价 ask(1) 最后一笔快照数据中未成交的最低卖盘价

注意「高开低收」是成交价算出来的,与尚未成交的挂单快照是两个不同的东西,混用会得到没有经济含义的价差。

五、从个股到市场:历史分位数合成

个股日度二级指标构成一个 T \times N 的矩阵(T 为交易日数、N 为股票数)。要变成市场/宽基/行业层面的指标,报告用三步:

  1. 先在股票池内去极值再加权:按分析对象(全市场、宽基、中信一级行业)在成份股池内做分位数去极值,再按流动市值加权或指数权重加权,得到该对象的二级指标。
  2. 再转成过去一年的历史分位数,并统一调整为降序,使「指标越大 = 对应的流动性属性越好」。
  3. 一级指标 = 该维度两个二级指标历史分位数的平均。例如深度 = OR 与 shallowLIX 的历史分位数时序值取平均。

为什么要做历史分位数这一步:日内指标本身波动大,而且部分指标受市值影响很大,不处理就没法比较。实证支持这一点——OR 的原始值按流通市值分组是单调递增的(大盘股深度更好),做历史分位数处理后,分组之间已经没有明显趋势。

六、几组关键实证数字

OR 按流通市值分组的中位数(2022-08-31,Top 组市值最大):

分组 Top 2 3 4 5 6 7 8 9 Bottom
OR 中位数 0.125 0.120 0.117 0.118 0.131 0.138 0.145 0.140 0.136 0.156
OR 历史分位数中位数 0.575 0.548 0.536 0.520 0.560 0.567 0.611 0.579 0.563 0.560

日内形态(2022-08-31):shallowLIX 呈明显的「U 型」——开盘与收盘阶段深度较高、流动性较好,与日内成交量的 U 型分布一致;QS 与 ES 在开盘阶段数值偏高(紧密度低、交易成本大),报告归因于集合竞价期间未成交的委托单;交易弹性全天变化不大,只在开盘、尾盘与午休后相对较好。

Roll 对小盘股格外敏感:按市值分十组后,最小市值组(Bottom)的 Roll 中位数明显跳高到其余各组的两倍以上;其余各组都挤在 3\times10^{-5}–4\times10^{-5} 一线。

六个指标的历史分位数时序相关性(全市场)里,除 QS 与 ES 两个价差指标外,其余指标之间相关性都很低。最突出的一对是 QS 与 ES 相关性 0.98(本来就测同一件事),而 交易弹性与 shallowLIX 相关性 −0.73(两者互为反向)。正因为 QS 与 ES 高度重合,报告在计算紧密度一级指标时直接只用 QS。

七、附录:LR 算法(买卖方向判定)

区分成交量由买方还是卖方主导,是衡量日内流动性与日内规模的关键一步。报告的 LR 算法把每一分钟归为买方驱动或卖方驱动:

  1. 用第 t 刻的最高价 P_t^H 与最低价 P_t^L 算中间价 P_t^{mid} = (P_t^H - P_t^L)/2;
  2. 若 P_t > P_t^{mid} 判为买方驱动,若 P_t < P_t^{mid} 判为卖方驱动,相等则进入第 3 步;
  3. 若 P_t > P_{t-1} 判为买方驱动,若 P_t < P_{t-1} 判为卖方驱动,相等则进入第 4 步;
  4. 取时间早于 t 且收盘价不等于 P_t 的最近一个分钟收盘价 P_{t-k},P_t > P_{t-k} 判买方驱动,否则判卖方驱动。

(第 1 步的中间价原式写作 (P_t^H - P_t^L)/2,按中间价的通常定义应为 (P_t^H + P_t^L)/2,这是原文笔误。)

八、与本 wiki 的接口

  • 深度与冲击:本报告的深度是「成交量维度的深度」,与 市场深度与冲击反比的「最优价挂单量维度的深度」不是一回事;后者给的是 \beta \approx 1/(cL),本报告的 OR 与 shallowLIX 给的是「不平衡程度」与「推动单位价格所需资金」。两者可以互为补充。
  • 价差估计:QS 与 ES 是有快照数据时的直接测量,与 Corwin-Schultz 2012、Abdi-Ranaldo 2017 这类「无报价数据时从日频 OHLC 反推价差」的方法互补。Roll 指标的原始版本见 Roll 1984——本报告把日频用法搬到了分钟级并做了修正。
  • 买卖方向判定:本报告的 LR 算法是「分钟收盘价对中间价/前收盘价」的启发式,与 订单流分解(按订单速度拆 HFQ/非 HFQ)、机构与散户的订单流差异(按投资者类型拆)属于不同来源的「谁在主动」口径,三者不可互换。
  • 极端行情:报告在展望里明确说下一阶段要从「闪电崩盘」刻画与预警出发;本 wiki 已有 极端行情订单流 与 闪崩机制 可对照。
  • 系列定位:本篇是兴业《高频研究系列》的第五篇,属于「不构造选股因子、只做市场监控」的方法论铺垫;系列十的选股因子路线见 entities/Xingye 2026 Trading Anomaly and Divergence Alpha。

九、原文没写清楚的地方

  1. 表 3「顺序」列没有解释。只能从六个指标的定义反推含义(见上文第三节)。
  2. 「分位数去极值」的具体分位数没有给(是 1%/99% 还是 5%/95% 之类),复现时会直接影响日度值。
  3. 弹性与紧密度各只保留一个指标进入一级指标的做法只对 QS/ES 说了理由(相关性 0.98),交易弹性与 shallowLIX 相关性 −0.73 却仍取平均,报告未解释为什么深度和弹性要取平均而不是取其中一个。
  4. shallowLIX 的分母在最高价等于最低价时为零(一字板或极低波动分钟),报告未说明如何处理。

相关页面