分钟级稀疏响应状态 (Sparse Minute-Level Response States)

大白话:上一页的分组回归告诉你「这只股票今天整体上是不是跟着市场走」,但没告诉你哪一分钟跟、哪一分钟不跟。这一页把参数下沉到每一分钟:给每一分钟一个自己的「非线性响应强度」,然后只让少数分钟有显著响应——于是每一分钟可以被分成三类:跟着市场走(收敛)、各走各的(分歧)、看不出来(线性)。

为什么要稀疏

分组线性回归虽然能给出分时段、分成交状态的参数,但本质上是「平均」意义上的估计——无法定位非线性响应具体发生在哪些分钟,也无法捕捉响应在日间的时间分布。

稀疏性的引入不是出于计算便利,而是基于行为金融的直觉:投资者的分歧或羊群行为往往是偶发的、局部的现象,而非全天持续的稳定状态。

模型

对每个交易日,共 T=240 个分钟观测。设 y 为个股相对市场收益的绝对偏离序列,X 为以市场波动为自变量的设计矩阵:

\min_{\beta \in \mathbb{R},\ \gamma \in \mathbb{R}^T} \frac{1}{2T}\left\lVert y - X\begin{bmatrix}\beta\\ \gamma\end{bmatrix}\right\rVert_2^2 \quad \text{s.t.}\ \lVert\gamma\rVert_0 \le s

y = \begin{bmatrix}\lvert r_1 - r_{m,1}\rvert \\ \lvert r_2 - r_{m,2}\rvert \\ \vdots \\ \lvert r_T - r_{m,T}\rvert\end{bmatrix}, \qquad X = \begin{bmatrix} \lvert r_{m,1}\rvert & r_{m,1}^2 & 0 & \cdots & 0\\ \lvert r_{m,2}\rvert & 0 & r_{m,2}^2 & \cdots & 0\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ \lvert r_{m,T}\rvert & 0 & 0 & \cdots & r_{m,T}^2 \end{bmatrix}

  • \beta:各分钟共享的线性项系数,即市场波动对个股偏离的平均线性影响
  • \gamma_t:第 t 分钟特有的二次项系数
  • s:预设的稀疏度上限,即允许非零 \gamma_t 的分钟数上限

与传统 CSAD 回归的关键区别:把「一个平均 \beta_2」替换成「一组随时间变化的 \{\gamma_t\}_{t=1}^T」,并强制只有少数分钟具有非零的二次项响应。

求解用的是剪枝交换算法 (pruning and swapping),兴业证券在《基于剪枝交换算法的稀疏学习——机器学习系列十》里有详细推导,本文不再复述。剪枝交换算法的图解是:把 s 个系数初始放错位置,通过「剪掉一个、换上一个」反复调整直到目标函数最优。

三种分钟状态

估计完成后,把每个分钟归为三类:

状态 判据 含义
收敛 (consensus) \gamma_{i,d,t} < 0 该分钟个股相对市场的偏离受到压缩,随市场波动增大反而趋于收敛
分歧 (dispersion) \gamma_{i,d,t} > 0 该分钟个股相对市场的偏离被放大,随市场波动增大而加速走阔
线性 (linear) \gamma_{i,d,t} = 0 该分钟未识别出显著的非线性响应,偏离与市场波动大致呈线性关系

三个因子:从分歧时刻里挑什么

目标是区分「高质量、有序的信息分歧」与「低质量、情绪化的投机分歧」。三个因子都只在分歧分钟(\gamma_{i,d,t} > 0)上计算,且都方向为负。

sr_dispersion_stdnumtrades:分歧是集中爆发还是均匀分布

F_{i,d} = \frac{\mathrm{Std}\left(N_{i,t} \mid \gamma_{i,t} > 0\right)}{\mathrm{Mean}\left(N_{i,t}\right)}

其中 N_{i,t} 是第 t 分钟的成交笔数,分母是全天平均成交笔数。

  • 取值高:分歧交易高度集中在少数几分钟内,交易呈现间歇式爆发——往往对应投机情绪骤起或注意力瞬时聚集,后续持续性较差
  • 取值低:分歧交易在分钟内分布均匀,更接近有序的机构调仓或缓慢的信息扩散,价格发现过程更稳健

sr_dispersion_mean_vwap:分歧发生在什么价位

分钟 VWAP 定义为成交金额除以成交量:

VWAP_{i,t} = \frac{Amount_{i,t}}{Volume_{i,t}} 因子是分歧分钟的平均 VWAP 除以全天平均 VWAP: $$F_{i,d} = \frac{\mathrm{Mean}\left(VWAP_{i,t} \mid \gamma_{i,t} > 0\right)}{\mathrm{Mean}\left(VWAP_{i,t}\right)}

它不是简单的绝对价格因子,而是刻画**「分歧状态发生在日内价格区间的相对位置」**。 - **取值高**:分歧主要发生在**日内相对高价位**——可能对应追涨情绪、获利了结分歧或估值泡沫争论,**短期价格有透支风险** - **取值低**:分歧主要发生在**相对低价区**——可能对应恐慌抛售、承接资金介入或利空消化,**后续修复概率更高** ### `sr_dispersion_volume_absret_corr`:放量是否伴随剧烈波动 F_{i,d} = \mathrm{Corr}\left(Volume_{i,t},\ \lvert r_{i,t}\rvert \mid \gamma_{i,t} > 0\right) $$

  • 高值:分歧分钟中成交量越大,股价波动越剧烈——个股流动性偏弱、订单不平衡严重或信息不对称程度较高,价格冲击成本大
  • 低值:即使有较大成交量,市场也能以较小的价格波动吸收——说明该股票在分歧时刻依然具备较好的深度和流动性,价格发现效率更高

绩效

因子 IC 均值 IC 标准差 ICIR 多空年化 多头年化 夏普 最大回撤 多头换手
sr_dispersion_stdnumtrades 0.027 0.057 0.471 29.31% 15.83% 5.40 −4.29% 13.52%
sr_dispersion_mean_vwap 0.029 0.074 0.394 16.26% 10.97% 2.18 −14.16% 20.86%
sr_dispersion_volume_absret_corr 0.028 0.076 0.362 18.12% 12.63% 2.67 −8.33% 16.65%

sr_dispersion_stdnumtrades 的夏普 5.40 是全篇最高(多空 29.31%、最大回撤仅 −4.29%),2017-08 以来净值长期上升,2026 年以来无明显大回撤。

局限

  • s(稀疏度上限)没有敏感性分析。这是模型最关键的超参数:太小则真实分歧分钟被漏掉,太大则退化为普通回归、与 CSAD 分组回归无异
  • 剪枝交换是启发式算法,不保证全局最优;L0 约束下的精确解是 NP-hard
  • \gamma_t 是在单股单日上估的(每只股票每天单独做一次稀疏回归)。一天 240 个观测、s 个自由参数,\gamma 的符号判断可能不稳——而后面所有因子的成败都建立在「这一分钟是不是分歧分钟」这个判断上
  • 「分歧」和「收敛」被二分,但线性(无响应)分钟被归入「尚未分歧」——这在第三层的分歧命中构造里是刻意的(只从未分歧的分钟出发),但也意味着线性分钟既不算分歧也不算收敛

与本 wiki 其他页面的接口

Open Questions

  • s 怎么定?可以按 s 与当日 \gamma 非零个数的关系自适应,也可以用 BIC 式的模型选择
  • 稀疏回归能不能收缩?本页的 \gamma 没有做任何收缩处理,第三层的贝叶斯方法却用得很细——两层的统计待遇不一致
  • 剪枝交换 vs 坐标下降 vs ADMM:在 240×241 规模上,精确解的差距有多大
  • 跨股票的 \gamma 估计能否共享?同一天全市场一起估,样本量从 240 变成 240×N
  • A 股涨跌停:涨跌停分钟的市场收益代理会退化,r_{m,t} 几乎为 0,\gamma 的估计在这些分钟上无意义——但恰恰是这些分钟最可能出现分歧

Sources