结构化高频风险模型 (Structured High-Frequency Risk Model)
一句话:常见风险模型(Barra)用基本面因子解释个股的波动,但组合经理现在拿高频因子构建组合,Barra 对这类组合几乎解释不动;这篇的做法是把风险模型的分析对象从个股换成高频因子组合,再用两套因子(自上而下的基本面高频风险因子 + 自下而上的 PCA 统计风险因子)去解释这个组合的协方差。
从「Alpha 因子」到「风险因子」
多因子收益模型是
R^a_t = \beta_{t-1} f_t + \varepsilon_t
(a 是资产类型,N 只资产,K 个因子)。把它的协方差形式写出来:
\Sigma_a = \beta \Sigma_f \beta^T + \Sigma_\varepsilon
风险因子模型的形式完全一样(把 f 换成风险因子收益率 f_k):
\Sigma_a = \beta \Sigma_k \beta^T + \Sigma_\varepsilon
两者的差别不在公式,而在因子的选择标准:
- Alpha 因子要能解释横截面收益差异。它可以「特质性极强」——如果它的因子收益率协方差矩阵 \Sigma_{alpha} 是对角阵,那么 \Sigma_\varepsilon 的非对角元素不再为零,资产协方差矩阵的估计就出现较大误差。
- 风险因子要能解释协方差矩阵的运动。这要求风险因子的个数 K 远小于资产数 N,因为样本协方差矩阵在 K>T 时是奇异矩阵:X_{it}=f_{it}-\bar f_i 去均值后只有 T-1 列相互独立,于是 r(XX^T)\le T-1<K,\hat\Sigma_a=(\beta SCM \beta^T+\Sigma_\varepsilon)^{-1} 不存在,均值-方差优化、最大夏普优化都求不出可行解。
所谓结构化,就是重新挑选一批适合当风险因子的变量,让 K 小于资产数,以换取协方差估计的可解与稳健。
为什么分析对象选「高频因子组合」
绝大多数风险模型都建模个股收益率 R^a_t。这篇把资产类型 a 换成高频因子组合 f_{HFS}(左端变成因子组合收益率),理由有三条:
- 个股与组合暴露的高频风险存在共性——高频因子组合往往就是高频信息暴露最大的那批股票;
- 因子组合暴露的风险可解释性更强——个股层面的高频风险变化太快,刻画适用性与稳定性都差;因子层面暴露的风险相对稳定,从这里出发做业绩归因更有意义;
- 应用性更强——以因子组合为对象,可以直接把风险模型接进组合优化,把一堆因子复合成一个因子,不必关心个股风险。
第一部分:五个基本面高频风险因子(自上而下)
用「逐次回归取残差」的方式保证风险因子之间相互正交:后一个因子先对前面已建成的因子回归,取残差作为新因子。
| 因子 | 命名 | 构造方法 |
|---|---|---|
| 特质性波动率 | vol_risk |
日度残差收益率的标准差 |
| 动量 | mom_risk |
长短期收益率均值之差 |
| 流动性 | liq_risk |
价格波动与成交金额的关系 |
| 集中性 | con_risk |
分钟成交量占比的偏度 |
| 价差 | spread_risk |
买卖价差除以买卖一价的简单平均 |
特质性波动率沿用 Barra 的 Residual Volatility,但把周期缩短到适配高频因子:
DASTD^t = \sqrt{\sum_{s=t-T+1}^{t} w_{t-s}\cdot(r_{i,s})^2},\qquad CMRA^t = \ln\!\big(1+\max\{Z(K)\}\big)-\ln\!\big(1+\min\{Z(K)\}\big)
HSIGMA^t = \sqrt{\sum_{s=t-T+1}^{T} w_{t-s}\cdot(\varepsilon_{i,s})^2},\qquad vol\_risk = 0.74\times DASTD + 0.16\times CMRA + 0.10\times HSIGMA
其中 T=20,w_{t-s} 是指数衰减权重(半衰期 10 日);Z(K)=\sum_{k=0}^{K-1}[\ln(1+R^{t-k\cdot5})-\ln(1+R_f^{t-k\cdot5})],回望周期 K=4。
动量沿用 Barra「长期动量减短期动量」的想法,但把周期调短:长期动量是过去 20 日收益率的半衰加权,短期动量是过去 5 日收益率半衰加权减去市场收益率半衰加权:
mom\_risk = \sum_{s=t-T+1}^{t} w_{t-s}\big(\ln(1+r_{i,s})\big) - \sum_{s=t-T'+1}^{t} w_{t-s}\big(\ln(1+r_{alpha,s})\big)
T=20,T'=5。取残差前先对 vol_risk 回归。
流动性用价格波动与成交金额刻画「金额对价格波动的影响」,需要对 vol_risk 与 mom_risk 各做一次回归取残差。
集中性是日内分钟成交量占比序列的偏度——成交量均匀铺满全天则偏度低、该因子小:
con\_risk = skew\!\left(\frac{volume_t}{sum(volume_t)}\right)
同样先对 vol_risk、mom_risk、liq_risk 回归取残差。
价差是相对报价差:
spread\_risk = \frac{askprice_t^{(1)}-bidprice_t^{(1)}}{0.5\big(askprice_t^{(1)}+bidprice_t^{(1)}\big)}
以分钟级计算,剔除日内异常值(分位数去极值)后按分钟成交量加权得到日度值;需对前四个因子依次回归取残差。
第二部分:五个统计高频风险因子(自下而上)
统计风险模型不主观定义因子,而是让 PCA 找「能对协方差矩阵解释最准的 K 个方向」。对高频因子多空组合的协方差做特征分解:
\Sigma^{ls}_{i,t} = \beta^{ls}_{t-1}\Sigma_{k,t}(\beta^{ls}_{t-1})^T + \Sigma^{ls}_{\varepsilon,t}
\Sigma^{ls}_{i,t} 的特征根 \lambda_1\ge\lambda_2\ge\cdots,对应标准化特征向量 u_1,u_2,\dots,特征向量矩阵 U。精确分解没有实用价值(要用满 N 个因子),所以只取解释力排名靠前的 k 个主成分:
\Sigma^{ls}_{i,t} \approx \beta^{ls}_t\Sigma_{k,t}\beta^{lsT}_t + \Sigma^{ls}_{\varepsilon,t} = \big[\sqrt{\lambda_1}u_1,\sqrt{\lambda_2}u_2,\dots,\sqrt{\lambda_k}u_k\big] \begin{bmatrix}\sqrt{\lambda_1}u'_1\\ \sqrt{\lambda_2}u'_2\\ \vdots\\ \sqrt{\lambda_k}u'_k\end{bmatrix} + \Sigma^{ls}_{\varepsilon,t}
具体做法:在 t 日,用过去 6 个月的高频因子多空组合日度收益率序列(标准化处理)做 PCA 降维,按特征值排序取前 5 个主成分;每个主成分按 PCA 贡献度给出各高频多空组合的权重,把各高频因子值加权加和,得到该主成分当期在个股层面的因子载荷——这就是一个统计风险因子,记为 riskFct0 至 riskFct4。
两种建法的差别:基本面风险模型是主观地把 N 维面板降维到 K 个有逻辑的风险因子;统计风险模型的 K 个因子不作逻辑定义,唯一目标是在给定 K 下尽量无偏地解释 \Sigma_a,因此天然适用于量价类因子。两者都要求 K\ll T。
两个有效性检验
一、风险因子的「时序形状」应该像风险因子而不像 Alpha 因子。 理想的 Alpha 因子收益预测能力长期为正且波动小;理想的风险因子预测能力波动大、有周期性、无法长期稳定贡献非零超额收益。用周度调仓下 12 周 IC 移动均线验证:
| 因子 | IC 均值 | ICIR | 形态 |
|---|---|---|---|
RTN_20D(A 股常用 Alpha 因子) |
0.053 | 0.385 | 长期为正,符合 Alpha 因子 |
| Barra Momentum(风险因子) | 0.020 | 0.137 | 明显周期性 |
mom_risk(本文高频风险因子) |
-0.001 | -0.005 | 明显周期性 |
二、正交性与和 Barra 的差异。 10 个高频风险因子内部相关性普遍很低(最大的两对是 liq_risk–riskFct0 的 −0.37 与 spread_risk–riskFct1 的 −0.39),可以安全做横截面回归。跟 Barra 风险因子比:riskFct0 与 Residual Volatility 相关性 0.56、与 Liquidity 0.49——高频因子组合大多在这两类风险上有暴露;但与 Size、Beta、Momentum 等其他 Barra 因子的相关性极低(如 riskFct1 与 Momentum −0.18),说明两者刻画的是不同的风险。
解释力度:Adjusted R^2
R^2 = 1 - \frac{\text{未被模型解释的方差}}{\text{投资组合的总体方差}}
风险模型里 R^2 尤其要看 Adjusted R^2——引入的风险因子越多 R^2 越大,但因子个数不该过多,Adjusted R^2 会按自变量个数做调整,衡量「是否用较少的因子解释了更高的组合总体方差」。
设定:把高频因子的多头组合与空头组合(70\times1)作为被解释变量 R_t,用 Barra 因子载荷与高频风险因子载荷 \beta_{t-1} 做横截面回归,看过去 250 个交易日的 Adjusted R^2 移动平均。
结果:高频风险模型(基本面 + 统计,共 10 个因子)的 Adjusted R^2 均值约 75%,强于纯 Barra 风险模型;两者差距在样本早期最大,后期收窄。单独看,高频统计风险模型(约 67–71%)明显强于高频基本面风险模型(约 60–63%)。
与本 wiki 的接口
在《高频研究》系列里的位置:本篇是系列七,处在《高频漫谈》(2022-01,框架篇)之后。框架篇定义了「分布 / 时序 / 关联 / 另类」四类高频信息与风险识别的基本口径,本篇把同一批高频因子换到风险侧重新组织——从「哪些因子能预测收益」翻到「哪些因子能解释协方差的运动」。它与系列十(2026-10)是一对:系列十做的是收益侧的正交化与因子检验(对底层约 70 个高频因子做正交化、解释放量/缩量事件的异质性),本篇做的是风险侧的正交化(10 个风险因子彼此取残差)与解释力度检验(Adjusted R^2)。两篇的正交化思路一脉相承,只是被正交化的对象和目标函数不同。
- 这篇的下游应用(协方差估计 → 最大化夏普 → 复合因子)见 高频复合因子
- 协方差估计的收缩方法(本文用 Ledoit-Wolf 估计风险因子收益率协方差)见 Covariance Shrinkage Estimation
- 「统计因子 vs 基本面因子」的取舍见 Statistical Factors vs Fundamental Factors
- 瞬时统计因子做风险模型增强的另一种路线见 Risk Model Enhancement via Transient Statistical Factors
- 协方差「估计 vs 预测」的路线选择见 协方差估计与预测的方法选择
- 中文摘要: summaries/202310-xingye-high-frequency-risk-model/202310-xingye-high-frequency-risk-model
- 研报 entity: entities/Xingye 2023 High Frequency Risk Model