Gibbs 抽样估计买卖价差:用贝叶斯 MCMC 从收盘价里捞出交易成本
Roll 估计量有个著名死穴:一旦价格变化的序列协方差算出正数,开根号直接失败——低信噪比下这能废掉三成样本。Hasbrouck (2009) 的解法是换武器:把 Roll 模型原封不动搬进贝叶斯框架,用 Gibbs 抽样把「每笔交易是买是卖」这个隐变量和价差参数一起从后验里抽出来。本文从 Roll 模型的状态空间形式推到三步 Gibbs 循环(抽方向 → 抽价差 → 抽波动率),全程只用 numpy 手写采样器。500 笔模拟实测:真实半价差 0.05,后验均值 0.0494,95% 可信区间 [0.048, 0.051];隐藏的交易方向恢复准确率 96.8%;低信噪比场景下 Roll 三成样本算不出数且幸存样本偏高 24%,Gibbs 每次都给出正的估计和完整的不确定性刻画。灵魂在于截断先验:价差被约束为非负,协方差为正的样本不再是灾难而只是「后验更宽」。诚实边界:模型仍是 Roll 的全部假设(方向独立、无逆向选择)、MCMC 收敛需检查、计算量是矩估计的千倍(中阶)。