3. 冲击信号的数学表达与参数化

在上一节中,我们把“冲击信号”理解为订单流对价格产生非对称推动力的可观测征兆。但要让这种征兆进入历史验证流程,必须把它从定性描述转化为可计算、可参数化的数学对象。本节的核心任务,就是建立一条从订单流不平衡(Order Flow Imbalance, OFI)到价格冲击的映射公式,并逐一拆解深度、斜率、衰减系数这三个关键参数的金融含义,使后续的历史回测能够用统一口径复现信号。

一、从订单流不平衡到冲击强度:映射公式的基本形式

订单流不平衡刻画的是某一时间窗口内主动买盘与主动卖盘的力量差。最常用的定义是净主动成交量除以总成交量:

OFI_t = (V_buy,t − V_sell,t) / (V_buy,t + V_sell,t)

其中 V_buy,t 与 V_sell,t 分别表示窗口 t 内以卖方报价成交的主动买量和以买方报价成交的主动卖量。OFI_t 落在 [−1, 1] 区间,正值表示买方主导,负值表示卖方主导。这个量本身只反映“方向与相对强度”,并不直接等于价格变化,因为同样的不平衡落在不同深度的盘口上,推动价格的距离完全不同。因此需要引入冲击映射:

ΔP_t = k · OFI_t · D_t^(−α) · exp(−λ · Δt)

这条公式是本节的主线。ΔP_t 表示窗口 t 内由订单流冲击引起的价格变动(以基点或相对百分比计);k 为斜率系数,衡量单位不平衡在标准深度下推动价格的能力;D_t 为盘口深度,α 为深度弹性指数;λ 为衰减系数,Δt 为距冲击发生时刻的时间间隔。公式的直观含义是:冲击强度与不平衡成正比,被深度稀释,并随时间指数衰减。下面分别说明三个参数的金融含义与取值方法。

二、深度 D:冲击的“吸收能力”

深度 D_t 通常取冲击发生前若干档买卖盘挂单量的加权和,例如前五档挂单量按距离加权求和。它代表市场在当前价位附近吸收主动成交的能力。深度越大,同样的 OFI 需要吃掉更多挂单才能推动价格,因此 ΔP 越小。在公式中 D 以负指数出现,正是表达这种“稀释”关系。实践中需要注意两点:其一,深度应取冲击发生前的快照,而非事后值,否则会引入前视偏差;其二,深度具有强烈的时变性,开盘、午盘与尾盘的深度差异可能达到数倍,因此历史验证中应按时间段分层统计,而不是用全样本均值一刀切。

三、斜率 k 与深度弹性 α:冲击的“传导效率”

斜率 k 是映射公式的尺度因子,它把无量纲的 OFI 与深度调整项转换为价格变动幅度。k 的金融含义是“市场在标准深度下对单位不平衡的价格敏感度”。k 越大,说明该标的的流动性越薄或做市意愿越弱,订单流更容易推动价格。k 通常通过历史样本回归得到:以 ΔP 为因变量,以 OFI·D^(−α) 为自变量做无截距回归,斜率即为 k 的估计值。

深度弹性 α 则刻画深度对冲击的抑制强度。当 α = 1 时,冲击与深度成反比,符合“线性吃单”的朴素直觉;当 α < 1 时,深度增加带来的抑制效果递减,常见于挂单分布不均匀、存在隐藏流动性的市场;当 α > 1 时,深度对冲击的抑制被放大,往往出现在大单集中挂出、盘口较“厚实”的标的。α 一般与 k 联合估计,可先网格搜索 α 使回归残差最小,再固定 α 估计 k。需要强调,k 与 α 都是示例性估计目标,实际取值必须由所验证标的的历史数据回归得出,不能直接套用其他品种的经验值。

四、衰减系数 λ:冲击的“记忆长度”

价格冲击并非永久驻留。一笔大额主动买单推动价格上跳后,随着后续挂单补充、套利者入场与信息被消化,价格会部分回吐。衰减系数 λ 描述的正是这种回吐速度:λ 越大,冲击消退越快,信号的“记忆长度”越短;λ 越小,冲击越持久,可能反映真实信息而非单纯流动性消耗。在公式中 exp(−λ·Δt) 使冲击幅度随时间指数收敛。λ 的估计通常采用冲击后多个时间点的价格回撤序列做指数拟合,例如取冲击后 1、5、15、30 分钟的价格偏离度,拟合 ln(偏离度) 对 Δt 的线性关系,斜率的相反数即为 λ。历史验证中,λ 直接决定了信号的有效持有窗口:若 λ 较大,则信号发出后应快速兑现,持有过久反而被衰减吞掉收益。

订单流不平衡 OFI = (买−卖)/总量 取值 [−1, 1] 冲击映射公式 ΔP = k · OFI · D^(−α) · exp(−λ · Δt) 不平衡 × 深度稀释 × 时间衰减 输出:价格变动(基点) 价格冲击 ΔP 方向 + 幅度 进入历史验证 深度 D 盘口吸收能力,越大冲击越小 斜率 k / 弹性 α 传导效率,回归估计 衰减系数 λ 记忆长度,决定持有窗口 冲击随时间的指数衰减(示意) Δt ΔP λ 大 → 快速回吐 λ 小 → 冲击持久

五、参数估计的实操路径与示例

把公式落到历史验证,需要一套可复现的估计流程。以下步骤以某只流动性中等的股票为例,数据与数值均为教学示例假设,不代表真实回测结果。

  1. 构造样本:取过去 60 个交易日的逐笔成交与十档盘口快照,按 1 分钟窗口聚合,计算每个窗口的 OFI_t,并记录窗口开始前的深度 D_t(前五档挂单量加权和)。
  2. 计算价格变动:以窗口开始与结束时的中间价之差作为 ΔP_t,转换为基点。
  3. 联合估计 α 与 k:在 α ∈ [0.5, 1.5] 上以 0.1 步长网格搜索,对每个 α 做 ΔP 对 OFI·D^(−α) 的无截距回归,取残差平方和最小的 α,其对应斜率为 k。示例中假设得到 α ≈ 0.8、k ≈ 12 基点,含义是标准深度下单位不平衡约推动 12 个基点。
  4. 估计 λ:对每次冲击事件,记录冲击后 1、5、15、30 分钟的中间价偏离度,取对数后对时间回归,斜率相反数即 λ。示例中假设 λ ≈ 0.06/分钟,意味着约 11 分钟后冲击残留衰减到初始的约一半。
  5. 样本外检验:用前 40 日估计参数,后 20 日检验预测 ΔP 与实际 ΔP 的相关性与方向命中率,避免过拟合。
参数估计中最容易犯的错误是把深度取成事后值,或用全样本均值替代逐窗口深度。前者引入前视偏差,后者抹掉了深度的时变性,都会让 k 与 α 的估计失真。建议在数据管道中固定“冲击前快照”这一取数口径,并在验证报告中注明。

六、参数如何影响信号判读

三个参数不仅是拟合产物,更直接决定信号的使用方式。深度 D 决定了同一 OFI 在不同时段的可比性,若不做深度调整,开盘时段的高 OFI 可能被误判为强信号,而实际只是深度偏薄所致。斜率 k 提供了信号强度的绝对尺度,使不同标的之间的冲击可以横向比较。衰减系数 λ 则给出持有窗口的上界:若 λ 估计为 0.06/分钟,则信号发出后 15 至 30 分钟内冲击已显著消退,继续持有将暴露于回吐风险。历史验证时,应把这三个参数与信号阈值一起纳入分层测试,观察不同深度分位、不同 λ 区间下信号收益的差异,而不是只报告一个全样本平均值。

需要再次强调,本节给出的公式形式、参数符号与示例数值均为教学用途的合理设定。真实验证中,α 可能因标的与时段而异,k 会随波动率环境漂移,λ 也可能在信息事件前后出现结构性变化。稳健的做法是滚动估计参数、保留参数漂移的记录,并在信号触发时同时输出当时的 D、k、λ 估计值,使每一次历史验证都可追溯、可复核。