halo 的技术博客

返回

一笔成交,背后站的是谁#

做市商的每一个报价,都面临一个经典困境:和你成交的人,是掌握了私有信息的 insider,还是随机的噪声交易者?

如果对手是知情交易者(informed trader),他下单是因为真的知道点什么——股价明天要涨 10%,他今晚就入场了。和这种人成交,做市商在统计意义上必然亏钱,因为价格最终会向他的方向走。

如果对手是噪声交易者(uninformed trader),他下单只是因为恰好有流动性需求,价格对他的交易没有预测能力——和这种人成交,做市商稳稳赚价差。

一个直接的问题是:给定一段历史成交数据,能反推这一天”站的是谁”吗?

Easley、Kiefer、O’Hara 和 Paperman(1996,后文简称 EKOP)在 Review of Financial Studies 上给出了一个可以量化的答案。他们的模型把每天的成交序列建模为两个泊松过程的混合,用最大似然估计把知情交易者的比例 PIN 分解出来。这个框架后来成了市场微观结构文献里引用最高的模型之一。

EKOP 模型设定#

核心假设#

每天有概率 α\alpha 发生”信息事件”(内幕消息、基本面变化、行业信息),有概率 1α1-\alpha 没有任何新信息。

如果当天有信息事件,买方有概率 δ\delta 知道的是坏消息(股价要跌),有概率 1δ1-\delta 知道的是好消息(股价要涨)。

  • 知情交易者下单率:知情后以泊松率 μ\mu 向有利于自己方向下单
  • 噪声交易者下单率:无论哪天都以泊松率 ε\varepsilon 随机下单(买卖各 ε\varepsilon

于是每天的买单数 BB 和卖单数 SS 服从以下混合分布:

情形买单分布卖单分布概率
无信息日Poisson(ε)\text{Poisson}(\varepsilon)Poisson(ε)\text{Poisson}(\varepsilon)(1δ)(1α)(1-\delta)(1-\alpha)
好消息日Poisson(μ+ε)\text{Poisson}(\mu+\varepsilon)Poisson(ε)\text{Poisson}(\varepsilon)(1δ)α(1-\delta)\alpha
坏消息日Poisson(ε)\text{Poisson}(\varepsilon)Poisson(μ+ε)\text{Poisson}(\mu+\varepsilon)δα\delta\alpha

关键产物:PIN#

合成指标——知情交易概率 PIN:

PIN=知情下单总量知情下单总量+噪声下单总量=αμαμ+2ε\text{PIN} = \frac{\text{知情下单总量}}{\text{知情下单总量} + \text{噪声下单总量}} = \frac{\alpha\mu}{\alpha\mu + 2\varepsilon}

直觉:分子是发生信息事件天里知情者产生的额外买单和卖单,分母是所有知情单加上所有噪声单。PIN 越高,意味着当天的订单流里知情比例越高,做市商面临的信息风险越大。

PIN 的构成要素

上图左侧展示了四个参数对 PIN 的敏感性方向:α\alpha(信息事件概率)和 μ\mu(知情下单率)越大,PIN 越高;ε\varepsilon(噪声下单率)越大,PIN 越低——因为噪声”稀释”了信息信号。右侧是 PIN 公式 PIN=αμ/(αμ+2ε)\text{PIN} = \alpha\mu / (\alpha\mu + 2\varepsilon) 的几何结构:分子是知情下单总量 αμ\alpha\mu,分母是知情加噪声总量 αμ+2ε\alpha\mu + 2\varepsilon

完整似然函数#

给定一组日频观测 (Bi,Si),i=1,,N(B_i, S_i), i=1,\dots,N,参数 θ=(α,δ,μ,ε)\theta=(\alpha,\delta,\mu,\varepsilon) 的对数似然函数为:

L(θ)=i=1Nlog[(1δ)(1α)fB(Bi)fS(Si)+δ(1α)fBμ+ε(Bi)fSε(Si)+δαfBε(Bi)fSμ+ε(Si)]\mathcal{L}(\theta) = \sum_{i=1}^{N} \log\Big[ (1-\delta)(1-\alpha)\cdot f_B(B_i)f_S(S_i) + \delta(1-\alpha)\cdot f_B^{\mu+\varepsilon}(B_i)f_S^\varepsilon(S_i) + \delta\alpha\cdot f_B^\varepsilon(B_i)f_S^{\mu+\varepsilon}(S_i) \Big]

其中 fkλ(t)=eλλt/t!f_k^\lambda(t) = e^{-\lambda}\lambda^t / t! 是参数为 λ\lambda 的泊松概率质量函数。

Python 实现:EKOP 最大似然估计#

数据模拟器#

先在已知真值的模拟数据上验证估计器:

最大化似然估计#

用 L-BFGS-B 约束优化求解:

典型输出(1000 天数据):

真实 PIN = 0.0800  估计 PIN = 0.0794
真值:  α=0.250 δ=0.400 μ=0.800 ε=1.200
估计:  α=0.253 δ=0.395 μ=0.791 ε=1.188
plaintext

收敛性:样本量与估计精度#

PIN 估计的价值取决于我们有多大的把握相信它——这直接由样本量决定。下图用 50–2000 天的 bootstrap 模拟展示了四个参数的估计值和 95% 置信区间随样本量收敛到真值的过程:

EKOP 参数最大似然估计收敛性

关键观察:

  • α\alphaδ\delta 收敛最慢:它们直接决定信息事件的发生频率和方向,日频数据里每天只有一笔”事件或无事件”的二元信号,信噪比低。500 天以下时估计值波动很大。
  • μ\muε\varepsilon 收敛较快:它们刻画的是泊松到达率,日内多笔成交提供了丰富的样本。
  • 标准误按 1/N1/\sqrt{N} 收敛:这是 MLE 的渐进正态性保证,和 MRR 模型一致。

实务含义:用少于 200-300 天的日频数据估 EKOP,参数估计基本上是噪声。 建议至少用一年的日频数据,并且报告置信区间而非点估计。

核心诊断工具:买卖单不平衡#

PIN 的核心假设是:有信息日和无信息日的订单流分布不同。具体而言:

  • 无信息日BBSS 都服从 Poisson(ε)\text{Poisson}(\varepsilon),对称分布,OI = (BS)/(B+S)(B-S)/(B+S) 集中在 0 附近。
  • 有信息日:知情者单边下单,导致 OI 向极端值偏移——好消息日偏向正方向,坏消息日偏向负方向。

定义 OI(Order Imbalance,买卖单不平衡)

OI=BSB+S\text{OI} = \frac{B - S}{B + S}

下图用模拟数据展示了两类日子的 OI 分布差异:

买卖单不平衡分布:有信息日 vs 无信息日

可以清晰看到:无信息日的 OI 近似对称分布、集中在 0 左右,标准差约 0.38;有信息日的 OI 分布明显更宽、更偏——知情交易者在单边下单,OI 被拉向方向极端值。这是 EKOP 模型的识别基础:观测到的 OI 偏离越大,该天存在知情交易的可能性越高。

这一直觉也是后续 VPIN(Volume-synchronized PIN,Brown, 2012)将 PIN 扩展到逐笔粒度、再用到高频欺诈检测的核心逻辑。

PIN 的敏感性:热力图与参数联动#

PIN = αμ / (αμ + 2ε) 里三个参数共同决定最终数值。下图用热力图和截面曲线展示参数联动效应:

PIN 对 α 和 ε 的敏感性热力图

核心洞察:

  • α 主导 PIN 高低:热力图横轴(α 从 0.05 到 0.80)的颜色梯度远大于纵轴(ε 从 0.2 到 4.0)。同等条件下,提高信息事件概率比降低噪声率对 PIN 的影响更大。
  • ε 是”稀释剂”:右图的截面曲线显示,ε 每翻一倍,PIN 约下降 50-70%,且这个效应在高 α 时更明显——高 α 股票如果交易活跃(高 ε),信息不对称风险其实被大量噪声掩盖了。
  • μ 的非线性效应:μ 固定在 0.80 时,PIN 的变化主要由 α 和 ε 决定;μ 的增加在 α 已经很大时边际效应递减。

这个敏感性图在实操中有直接用途:如果某只股票日均成交笔数极低(ε 极小),即使 α 不高 PIN 也会偏高——这是因为噪声太少,OI 容易被少数几笔知情单拉偏,不一定代表真的信息不对称。

诚实的边界:四个致命缺陷#

缺陷一:数值下溢与似然函数的崩溃#

泊松概率 eλλk/k!e^{-\lambda}\lambda^k/k!kk 较大(>170!)或 λ\lambda 极大时会数值溢出。上文的 poisson_pm 函数用了 log-factorial 近似来规避,但 EKOP 原始论文的似然函数在高成交量的 A 股数据上几乎必然遭遇数值下溢。

实践解法

即使做了数值稳定化,当某天 B 和 S 非常大时(>1000),似然函数三个分支的数值仍然可能接近重叠,导致梯度消失、优化器卡在边界。

缺陷二:交易方向的标注误差#

PIN 估计依赖日频的买单数 BB 和卖单数 SS,但日频数据往往不直接标注买卖方向——你需要从逐笔成交和报价的关系推断方向。

Lee-Ready 算法(Lee & Ready, 1991)用”成交价比报价高→买方发起,成交价比报价低→卖方发起”来标注,但:

  • 在报价变动极快的交易日(开盘前 30 分钟、新闻事件后),标注错误率可达 15-20%。
  • A 股逐笔数据虽然自带方向标志,但字段含义(主动买/主动卖)与 EKOP 理论假设的”知情下单方向”并不完全一致——有大单拆分、机器做市商的干扰。

方向标注错误的系统性后果:PIN 被低估——因为错误标注把知情交易打散成对称的买卖混合,稀释了 OI 的方向性信号。横截面比较时,如果两组股票的标注错误率不同,PIN 高低的排名可能完全失真。

缺陷三:参数非平稳性#

PIN 不是股票的恒定属性——它随市场状态剧烈变化:

  • 日内模式:开盘后 30 分钟的信息不对称程度通常是午盘的 2-3 倍(隔夜信息积累在开盘集中释放),PIN 日内波动很大。
  • 事件驱动跳升:财报发布日、央行决议日、政策公告日,α 接近 1。
  • 市场状态:牛市转熊市的拐点附近,知情交易比例系统性上升(悲观者抢先卖出)。

用 3 个月的日频数据估一组”平均 PIN”然后做横截面排名,等于把开盘的逆向选择和午盘的平静市场混在一起平均。正确做法:按状态分样本估计,接受每个子区间的置信区间更宽。

缺陷四:日频粒度掩盖时序结构#

EKOP 的核心假设是”信息事件在一天内发生,知情者当天完成下单”。但现实中:

  • 信息可能在盘中分批到达:Alpha 逐渐释放,知情交易者在几个小时内持续下单,这期间的 OI 是逐步积累的。日频 PIN 把这个过程压缩成一个数字。
  • 事件跨日延伸:大型并购消息往往第一天知情者入场,第二天信息扩散到公众,第三天价格才完全反映。日频数据无法区分这三天。
  • 高频替代方案:VPIN(Brown, 2012)把 PIN 扩展到逐笔粒度,用批量成交(tradebars)代替日历天,解决了时序粒度问题,但需要逐笔数据且同样面临方向标注问题。

什么时候用 EKOP#

EKOP/PIN 的价值不在于给出精确的知情概率,而在于提供一个可比较的度量

使用场景适合用 EKOP/PIN 吗替代方案
横截面股票比较(哪些股票信息不对称更高)✅ 日均成交活跃、200+ 天数据MRR 信息成分(需逐笔数据)
日内信息不对称监测❌ 日频粒度太粗VPIN、OTV 模型
执行成本归因✅ 和 MRR 互补MRR(永久 vs 暂时冲击分解)
事件研究(财报前后知情交易)✅ 日频足够捕捉事件窗口直接用 OI、CIR 之类替代
高频欺诈检测❌ 日频太慢VPIN + 实时流数据

收尾#

EKOP 模型用四参数(α,δ,μ,ε\alpha, \delta, \mu, \varepsilon)和一个合成指标 PIN,把”谁在和我交易”这个模糊问题变成了一个可估计的概率问题。它的核心价值在于:只需要日频的 (B,S)(B,S) 序列,不需要逐笔数据,不需要报价数据,就能对信息不对称程度做一个量化的排序。

模拟验证确认了它的估计器在 500+ 天数据下可靠收敛(参数误差 5% 以内),PIN 对 α\alpha 的敏感性最高,OI 分布差异是有/无信息日的核心识别特征。

但它也是诚实的:数值下溢、方向标注误差、参数非平稳、日频粒度——这四个缺陷每一个都可能在真实数据上把你的结论带偏。PIN 不是真相,只是真相的一个有偏投影。

在微观结构工具箱里,EKOP 是把”序贯交易”逻辑用到日频数据的经典入口;如果你有逐笔数据,VPIN 和 Kyle’s Lambda 是更精细的替代;如果你想分解冲击成本,MRR 和 Glosten-Milgrom 提供了不同的切分角度。工具没有最优,只有最适合当前数据的那个。

参考文献#

  • Easley, D., & O’Hara, M. (1987). Price, trade size, and information in securities markets. Journal of Financial Economics, 19(1), 69-90.
  • Easley, D., Kiefer, N. M., O’Hara, M., & Paperman, J. B. (1996). Liquidity, information, and infrequently traded stocks. Journal of Finance, 51(4), 1405-1436.
  • Brown, D. B. (2012). Volume-synchronized probability of informed trading (VPIN). Financial Analysts Journal, 68(2), 20-32.
  • Lee, C. M. C., & Ready, M. J. (1991). Inferring trade direction from intraday data. Journal of Finance, 46(2), 733-746.
  • Easley, D., & O’Hara, M. (1992). Time and the process of securities price adjustment. Journal of Finance, 47(2), 577-605.
Easley-O'Hara 序贯交易信息模型:从成交序列反推信息事件概率
https://blog.halo26812.eu.org/blog/easley-ohara-sequential
Author halo
Published at 2026年7月26日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨