混合高斯分布与跳价期因子 (Mixture Gaussian and Jump-Period Factors)
大白话:一只股票一天的分钟收益率,不是从同一条钟形曲线里抽出来的。它同时来自两种状态——大部分时间价格在公允价值附近小幅震荡,偶尔有一两段被大额买家硬推上去或砸下来。用两个正态分布的混合去拟合这一天,就能把这两段分开:权重大的那个是震荡期,权重小的那个是「跳价」期。跳价期那一段是大额投资者的手笔,于是它的均值 \mu_J 和权重 w_J 就成了两个因子。
来源:兴业证券经济与金融研究院(兴业金工)《高频研究系列三—收益率分布中的 Alpha(2)》,2022-05-04 对外发布,分析师郑兆磊 (S0190520080006)。回测区间 2014-09-01 至 2022-01-28。
一、为什么要引入混合分布
日内价格变动有两种状态
兴业金工的描述:
- 震荡期:价格在相对合理的价位,没有额外投资者用过高或过低的买卖单推动,分钟内每位投资者都通过相近的市价单成交。分钟收益率集中在 0 附近,难以出现极端值,日内占比相对较大。
- 「跳价」期:激进的大额投资者用大额买卖单在短时间内把价格推上去或砸下来。其他投资者发现价格异动后,为立刻建仓或获利而不断发出更高/更低价的单去匹配,这种追随进一步推高/压低价格,于是极端分钟收益率反复出现,日内占比相对较小。
这就是研究者早已熟知的收益率分布「尖峰(震荡)与厚尾(跳价)」现象。问题在于:基于正态分布假设的统计量(均值、方差、偏度)分不清这两种状态。
从 Clark (1973) 的子过程模型出发
Clark P K 在 1973 年引入混合高斯分布解释日度收益率分布(Econometrica 41: 135-155)。兴业金工把它搬到日内:
第一步:假设股票分钟收盘价服从随机过程
\frac{dP_t}{P_t} = \mu\,dt + \sigma g(t)\,dW_t
其中 \mu 和 \sigma 是漂移与波动,W 是标准布朗运动。g(t) 为常数时这就是标准的几何布朗运动;g(t) 是从属随机过程时,表示交易活跃度的变化会让股价的随机变动幅度不同。
第二步:推导出对数收益率
R_t = \ln\left(\frac{P_t}{P_{t-\Delta t}}\right) = \left(\mu - \frac{(\sigma g(t))^2}{2}\right)\Delta t + \sigma g(t)\,w_{\Delta t}
第三步:忽略时序关系,假设日内收益率服从两个正态分布的混合,其概率密度为
f(R_t \mid \theta) = w\,N(\mu_1, \sigma_1^2) + (1-w)\,N(\mu_2, \sigma_2^2)
u_1, \sigma_1^2, u_2, \sigma_2^2 是两个正态分布的参数,w 是各自在整体混合分布中的权重。实际计算中用 EM 算法(极大似然估计,含隐变量的概率模型参数估计)估计模型参数,共 5 个。
第四步(落到个股和日期上):震荡期对应 N_S(\mu_S, \sigma_S^2),「跳价」期对应 N_J(\mu_J, \sigma_J^2),混合密度为
f(R_t \mid \theta) = w_S\,N_S(\mu_S, \sigma_S^2) + w_J\,N_J(\mu_J, \sigma_J^2), \qquad w_S + w_J = 1, \quad w_J \in [0,\, 0.5)
w_J 被约束在 0.5 以下:跳价期是「小」权重分量,大额投资者不可能主导全天的分钟收益。
二、一个具体例子:603028.SH 赛福天(2022-01-28)
当天收涨约 3%。分钟收盘价显示:
- 11 点前后经历明显「跳价」:开盘 5 分钟内上涨约 2%,随后大幅下跌约 2.9%,此后又经历短时间大幅上涨,最高 5 分钟内上涨 1.4%,盘中前相对低点最高上涨 5%
- 午后进入明显震荡期,价格稳定在 12.4 元左右
5 分钟收益率分布图上「尖峰厚尾」非常明显。
只用正态分布统计:样本均值接近 0、样本标准差较小、偏度仅 0.17,完全分不清两个时期。
用混合高斯拟合:
| 分量 | 概率密度图颜色 | 均值 | 权重 |
|---|---|---|---|
| 震荡期 | 橙色(大权重、尖而窄) | 0.01% | 0.73 |
| 「跳价」期 | 蓝色(小权重、宽而平) | 0.1% | 0.27 |
拟合出两段之后,个股在日内不同阶段的收益特征就被分离出来了。
三、两个 capacity 因子
gmm_mean = \mu_J
跳价期分布的均值,同时代表大额投资者推动股价的方向和幅度。
经济逻辑:如果大额投资者这次推动的是上涨,那么当期股价已经高于公允价格,预计未来股价会跌回原先的价格;反之若推动的是下跌,当期股价低于公允价格,预计未来股价会涨回。所以:
gmm_mean 因子值越大,未来预期股价下跌幅度越大(这是一个反向因子;正号 \mu_J 代表推动上涨)。
gmm_mean2wgt = \mu_J / w_J
只除权重还不够——还要看幅度。兴业金工的论证是:
- 若「跳价」期持续时间较短或相互对抗较少,说明大额投资者能在短时间内用大额买卖单把股价推动,操作能力较强
- 若「跳价」期出现时间较长或存在较多反向跳价,说明该股当期受关注度高、大额投资者推动股价时容易受到干扰,需要长时间、大量的买卖单才能推动,操作能力较弱
\mu_J / w_J 就是「单位跳价时间份额下推动的幅度」——把「推动力」除以「所占的时间份额」,于是幅度越大、占比越小,因子值越大。
四、绩效
表 7(全股票池):
| 因子 | 多空收益率 | 多头收益率 | 空头收益率 | 年化波动率 | 夏普比率 | 最大回撤 | 胜率 | 换手率 |
|---|---|---|---|---|---|---|---|---|
| gmm_mean2wgt | 36.17% | 16.64% | 6.56% | 5.67% | 6.37 | -7.58% | 68.55% | 29.70% |
| gmm_mean | 48.88% | 23.47% | 10.24% | 6.49% | 7.53 | -3.84% | 67.22% | 27.90% |
表 8(日度 IC):
| 因子 | IC 均值 | IC 标准差 | ICIR | T 统计量 |
|---|---|---|---|---|
| gmm_mean2wgt | 3.52% | 4.29% | 0.82 | 34.9 |
| gmm_mean | 5.44% | 6.04% | 0.90 | 38.3 |
gmm_mean 是全篇表现最好的单因子之一:多空年化 48.88%、多头 23.47%、夏普 7.53、最大回撤仅 -3.84%、IC 均值 5.44%、ICIR 0.90。
五、特异性:与偏度因子撞车,然后正交化
相关性诊断
表 9(时序)与表 10(截面):
| 因子 | nos_gs | rtn_mean | real_kurt | real_skew | real_var | rv_up | rv_down | rv_umd |
|---|---|---|---|---|---|---|---|---|
| gmm_mean2wgt(时序) | 0.26 | 0.36 | 0.13 | 0.48 | 0.23 | 0.28 | 0.24 | 0.30 |
| gmm_mean(时序) | 0.41 | 0.56 | 0.25 | 0.66 | 0.53 | 0.53 | 0.48 | 0.35 |
| gmm_mean2wgt(截面) | 0.44 | 0.49 | 0.32 | 0.56 | 0.34 | 0.35 | 0.19 | 0.50 |
| gmm_mean(截面) | 0.41 | 0.40 | 0.30 | 0.52 | 0.36 | 0.35 | 0.21 | 0.45 |
gmm_mean2wgt与各常见收益率因子的时序与截面相关性几乎都在 0.4 以下(时序 0.13–0.48,截面 0.19–0.56)——最干净的一个。gmm_mean与 real_skew 时序相关 0.66、截面 0.52,偏度是主要撞车对象。- 两个 capacity 因子彼此时序相关在 0.7 左右。
正交化后的 gmm_meanN
把 gmm_mean 与 real_skew 正交化得到 gmm_meanN。正交化后相关性显著下降(表 11/12):
| 因子 | real_skew 时序 | real_skew 截面 | real_var 时序 | real_var 截面 |
|---|---|---|---|---|
| gmm_mean | 0.66 | 0.52 | 0.53 | 0.36 |
| gmm_meanN | 0.49 | 0.03 | 0.44 | 0.28 |
正交化没有毁掉因子,只是削掉了一块收益(表 13/14):
| 因子 | 多空收益率 | 多头收益率 | 空头收益率 | 年化波动率 | 夏普比率 | 最大回撤 | 胜率 | 换手率 | IC 均值 | ICIR |
|---|---|---|---|---|---|---|---|---|---|---|
| gmm_mean | 48.88% | 23.47% | 10.24% | 6.49% | 7.53 | -3.84% | 67.22% | 27.90% | 5.44% | 0.90 |
| gmm_meanN | 32.47% | 19.14% | 1.72% | 5.60% | 5.80 | -3.78% | 64.17% | 31.19% | 3.93% | 0.77 |
注意空头端:正交化后多空从 48.88% 掉到 32.47%,空头收益从 10.24% 掉到 1.72%——掉的几乎全是空头贡献。多头端只从 23.47% 降到 19.14%。原文的措辞是「因子表现出优秀的特异性」,但更准确的说法是:这个因子的空头端本来就主要在赚偏度因子的钱。
六、稳健性:中证 800 与不同成交价
中证 800 股票池(表 23/24):
| 因子 | 多空收益率 | 多头收益率 | 年化波动率 | 夏普比率 | 最大回撤 | IC 均值 | ICIR | T 统计量 |
|---|---|---|---|---|---|---|---|---|
| gmm_mean2wgt | 17.06% | 10.92% | 7.67% | 2.22 | -11.52% | 1.95% | 0.35 | 14.8 |
| gmm_mean | 29.89% | 19.23% | 6.93% | 4.31 | -3.80% | 3.84% | 0.57 | 24.0 |
不同成交价下的多空表现(夏普):
| 因子 | 最后 5 分钟均价 | 开盘 30 分钟均价 | 全天均价 |
|---|---|---|---|
| gmm_mean2wgt | 30.98% / 5.26 | 16.86% / 3.12 | 19.89% / 3.79 |
| gmm_mean | 44.80% / 6.86 | 26.74% / 4.33 | 31.03% / 5.37 |
IC 几乎不受成交价影响(表 28,gmm_mean):最后 5 分钟均价 5.43% / ICIR 0.90,开盘 30 分钟均价 4.13% / ICIR 0.71,全天均价 4.78% / ICIR 0.81。组合收益被冲击成本吃掉一大截,IC 却基本不动——这是判断因子是否「可交易」和是否「有信息」的一个有用区分。
七、复现时要自己补的东西
- EM 的具体实现:初值、收敛判据、是否对每只股票每天独立拟合、拟合失败时怎么办——原文都没说。每天对几千只股票各做一次五参数 EM 的计算量与稳定性都是实打实的工程问题。
- w_J 落到 [0, 0.5) 的约束怎么实现——是投影、拒绝采样还是重参数化,原文未写。
- 两个分量的排序约定:EM 对两个分量的标签是可交换的(交换 \mu_S \leftrightarrow \mu_J 后似然不变)。必须有一个规则把「小权重的那支」定为跳价期,否则 \mu_J 的符号会随机翻转,因子直接失效。原文没有明说这个约定,这是一个实打实的复现陷阱。
gmm_mean2wgt的解读在原文里有内部张力:同一段既说「因子值越大说明操作能力越强,后续获得的股价修复越明显」,又说「因子值越大,未来预期股价下跌幅度越大」。两句话需要把「能力」和「方向」分开才不矛盾(能力用 |{\mu_J}|/w_J 衡量,方向用 \mu_J 的符号),但原文没有做这个区分。
与本 wiki 的接口
- 跳价/震荡的分野,在本 wiki 里有一个更「微观结构」的对应物:大价格变动的四个机制(临界点抵消 / 订单簿空隙 / 流动性反向补偿 / 限价单反馈)——那篇问「为什么会出现大波动」,本页问「怎么从一天的收益分布里把大波动的那一段单独摘出来」。
- 「大额投资者推动价格」这一角色,与 机构与散户的订单流差异(拆出机构流的结构比例)方向一致,但方法完全不同:那篇需要账户分类数据,本篇只需要分钟收益率。
- 混合分布(非高斯)本身的方法论背景,见 订单不平衡分布——那里同样记录了「不能用高斯假设做推断」。
- 大单与母单的信息泄露,见 大单交易的信息泄露。
- 同一份研报的第 2 章: 极端收益因子与投资者心理承受能力;第 4 章(日内弹性,同一套混合分布拟合): 日内弹性因子。
Cross-ref
- 源报告: entities/Xingye 2022 Return Distribution Alpha · 中文摘要
- 机构: 兴业金工 · 分析师: 郑兆磊