← 返回模块
Q2.6.5.2beta 可读 · 未来付费内容校验中内容版本 2026-05-26

Alpha 信号与特征工程:标注、元标注与信号衰减

2.6.5 · 金融量化中的机器学习 · 数学与统计能力

钩子:五十条弱 alpha 与一个总组合

你在一家中证500 中频量化私募(private fund)工作。研究团队在过去六个月里训练出了五十条独立的 ML alpha:有用 LightGBM 在 沪深300 / 中证500 因子风格暴露上做次日 alpha 的,有 1-D CNN 在分钟线上做日内动量(momentum)的,有 Transformer 在卖方分析师报告 + 年报文本上做季度因子的,还有几条在 SSE Level-2 订单流(order flow)上做的分钟级队列失衡信号。每一条单独 看上一课刚教过的净化 CV 后,夏普都在 0.3 到 0.7 之间——单条看都不像能交易的策略。本周一,基金经理把这五十条全推给你:决定哪些进总组合、用什么权重组合,以及怎么估计这个组合的容量与衰减(decay)半衰期。这个问题不是 alpha 验证(lesson 1 已经把那个验证完了),而是 alpha 信号工程——把原始数据变成可交易信号的整条流水线。

四层特征分类

实务里特征自然分成四层,各有典型时间频率和衰减速度。

​第一层:经典因子暴露(factor model)。​ Fama-French 三/五因子 + Carhart 动量,Barra 模型(Barra model)风格因子(规模/价值/质量/低波动+行业暴露)。代表性术语:动量(momentum)、价值因子(value factor)、质量因子(quality factor)、规模因子(size factor)、低波动因子。日频或更低,容量大,半衰期以年计。CN 版基础是 国泰君安/中信证券/大成基金 风险模型,以及 Liu-Stambaugh-Yuan(2019)的 CN 中文学术因子构造。

​第二层:技术与价量特征。​ 滚动收益、已实现波动率、RSI / MACD / 布林带变换、收益偏度/峰度、趋势指标。日频到分钟频。是 2010 年前系统化私募的主力,衰减比第一层快,但每年的有效交易次数多。

​第三层:订单流与微观结构。​ 签名订单流(Lee-Ready 算法)、队列失衡 = bid size/(bid size+ask size)\text{bid size} / (\text{bid size} + \text{ask size})、隐藏单推断、订单簿主成分。分钟级到毫秒级,2007 年之后在 HFT/中频店主导。集合竞价(call auction)9:25 前的 SSE/SZSE 微观结构数据是 CN 独有信号源。

​第四层:另类数据(alternative data)。​ 文本情绪(10-K/年报解析、电话会议 NLP、新闻流)、卫星图(停车场占用、油储)、信用卡消费、网络抓取。事件驱动到周频,昂贵但拥挤度低。CN 独有的 北向资金 通过 沪深港通(Stock Connect)的流入数据、龙虎榜 公开大单数据是这一层的金子。

​关键权衡​​:长水平因子衰减慢但容量大、独立押注少;高频特征衰减快但每年的独立押注多。

三重栅栏标注

普通监督学习把 yi=r(ti,ti+h)y_i = r(t_i, t_i + h) 设为未来 hh 天收益,这是一个坏标签:它假设你能持有到第 hh 天底,忽略止损,忽略风险管理,而且对一个日频夏普约 1 的真实 alpha,日收益符号本身就是接近抛硬币的噪声。López de Prado(2018, Ch. 3)的三重栅栏标注用「以止损止盈策略实际能成交的结果」代替「假设你能扛到第 hh 天」。在 tit_i 起点设三道栅栏:上栅栏 uiu_i、下栅栏 lil_i、垂直时间栅栏 ti+ht_i + h,标签如下:

yi={+1if ui 先被触及1if li 先被触及0if ti+h 先到达,ui=μi+kuσi,li=μiklσi.y_i = \begin{cases} +1 & \text{if } u_i \text{ 先被触及} \\ -1 & \text{if } l_i \text{ 先被触及} \\ 0 & \text{if } t_i + h \text{ 先到达} \end{cases}, \qquad u_i = \mu_i + k_u \sigma_i, \qquad l_i = \mu_i - k_l \sigma_i.

其中 μi\mu_i 是局部漂移估计(常取零),σi\sigma_i 是局部已实现波动率,ku,klk_u, k_l 是 2-3 倍的标准差倍数。这个标签直接匹配带止损保护的实盘 P&L,极大降低标签噪声。CN 版关键修改:涨跌停(主板 ±10%、创业板/科创板/STAR Market(科创板)/ ChiNext(创业板)±20%)封顶 uiu_i 与底封 lil_i——上栅栏取 min(ui,Pt1.10)\min(u_i, P_t \cdot 1.10),下栅栏对称——这是美股没有的标签调整。

​示意图(三重栅栏)​​:从 tit_i 起步的一条价格路径,头上一条横线为 uiu_i,脚下一条为 lil_i,右侧一条竖线为 ti+ht_i + h。三条样本路径分别标为 +1(先碰上栅栏)、−1(先碰下栅栏)、0(先到时间栅栏)。

Formula Explorer

2 * sigma * sqrt(t)

(把 σ\sigma 设为日波动率、tt 设为持有天数,你能感受到 ku,klk_u, k_l 选 2 时栅栏宽度随持有期增长的尺度——这是栅栏校准的工作粗值。)

元标注:做不做这一笔

三重栅栏给了一个​​方向​​预测器(初级分类器):是做多、做空,还是不动。但实务里方向对的不一定是赚钱的,因为风控会因仓位或波动率限制把交易卡掉。López de Prado(2018, Ch. 3.6)引入元标注(meta-labeling):再训一个​​二级分类器​​,只决定「初级模型说要做的这一笔,我到底做不做」。元标签是

zi=1[y^iprimaryyitriple-barrier>0],z_i = \mathbb{1}[\hat{y}_i^{\text{primary}} \cdot y_i^{\text{triple-barrier}} > 0],

也就是「初级分类器的方向预测与三重栅栏的真实标签同号」时取 1。二级分类器的输入是初级特征 XiX_i 加上初级的预测概率 p^iprimary\hat{p}_i^{\text{primary}},它在做的事情是「精度-召回(precision-recall)」的权衡:把召回拉低、精度拉高,过滤掉初级模型预测的低质量信号。​​在风控敏感的实盘里,做错一笔花真金白银,漏掉一笔只是机会成本——把精度拉高是正确的方向。​

​示意图(元标注架构)​​:左侧初级分类器(XGBoost / NN)吃特征 XX,输出方向概率。右侧二级分类器吃 (X,p^primary)(X, \hat{p}^{\text{primary}}),输出「这一笔做不做」概率。中间标注精度-召回权衡,把元标签当成一个置信度阈值过滤器。鸣石、衍复、九坤、灵均的级联 XGBoost / LightGBM 堆叠模型本质上是元标注的工业化实现。

样本权重:不是每个标签都同样宝贵

30 秒内触及上栅栏的标签比 5 天后才被时间栅栏强制收尾的标签信息量大得多——前者反映了局部收益动力,后者基本是噪声。López de Prado(2018, Ch. 4)给出​​样本唯一性​​权重:样本 ii 的权重正比于它的标签窗口 [ti,ti+h][t_i, t_i + h] 与其它样本不重叠的比例。这是因果推断里的逆概率加权在序列相关金融标签上的推广——它把同一段价格路径产生的多条标签的总权重压住,避免它们共同盖住罕见但信息丰富的非重叠样本。

信号衰减(alpha decay):普适经验事实

任何被发表的 alpha 都在衰减。McLean & Pontiff(2016, J. Finance)记录:发表后五年内,平均异象的样本外夏普下降 58%。Chordia-Goyal-Saretto(2020)把这个结论扩展到 ML 挖掘的因子,定性结论一致。Heath-Ringgenberg-Samadi-Werner(2023)进一步指出:被多家机构同时挤占的因子衰减更快。模型化为指数衰减:

SR(t)=SR0exp(t/τ),t1/2=τln2,τ=t/ln(SR(t)/SR0).\mathrm{SR}(t) = \mathrm{SR}_0 \exp(-t / \tau), \qquad t_{1/2} = \tau \ln 2, \qquad \tau = -t / \ln(\mathrm{SR}(t) / \mathrm{SR}_0).

衰减的三个驱动因素:(i)资金涌入引发市场冲击(market impact)反噬;(ii)竞争者学习同一信号;(iii)市场结构本身演化(2008 印花税、2015 停牌潮、2024 监管细则修改)。Alpha 衰减(alpha decay)是 alpha 流水线必须正面处理的一阶约束。

​示意图(衰减曲线)​​:横轴为发现后年数 0—10,纵轴为夏普;一条拟合的 SR(t)=SR0exp(t/τ)\mathrm{SR}(t) = \mathrm{SR}_0 \exp(-t/\tau) 曲线;半衰期 t1/2t_{1/2} 在曲线上标注。叠加 McLean-Pontiff「五年衰 58%」的水平虚线。

Alpha 聚合:从五十个弱信号到一个组合

五十条弱 alpha 各 Sharpe 0.5,组合上能逼近什么?IID 假设下:SRportfolio=NSRindividual500.53.5\mathrm{SR}_{\text{portfolio}} = \sqrt{N} \cdot \mathrm{SR}_{\text{individual}} \approx \sqrt{50} \cdot 0.5 \approx 3.5。但 alpha 之间相关,有效 NN 远低于名义 NN:

SRportfolio=NeffSRindividual,Neff=N1+(N1)ρˉ,\mathrm{SR}_{\text{portfolio}} = \sqrt{N_{\text{eff}}} \cdot \mathrm{SR}_{\text{individual}}, \qquad N_{\text{eff}} = \frac{N}{1 + (N - 1) \bar{\rho}},

其中 ρˉ\bar{\rho} 是平均成对相关系数。三种组合协议:

  1. ​等权重​​:简单,对协方差估计噪声最稳健,常被实务当作基线。
  2. ​逆方差/夏普加权(均值方差优化, mean-variance optimization)​​:Markowitz 把 alpha 夏普当均值、alpha 收益作协方差矩阵估计。理论正确但对协方差估计误差极敏感——五十只 alpha 的 50×50 协方差矩阵估计噪声会主导。
  3. ​层次风险平价(hierarchical risk parity, HRP, López de Prado 2016)​​:用聚类把 alpha 树状分组,组内再用风险平价(risk parity);对估计噪声更稳健。

工作示例:五十条弱 alpha 的组合上限

50 条 ML alpha,每条夏普 0.5,平均成对相关 ρˉ=0.3\bar{\rho} = 0.3

  1. ​算 NeffN_{\text{eff}}​​​:Neff=50/(1+490.3)=50/15.73.2N_{\text{eff}} = 50 / (1 + 49 \cdot 0.3) = 50 / 15.7 \approx 3.2
  2. ​算组合夏普​​:3.20.51.790.50.9\sqrt{3.2} \cdot 0.5 \approx 1.79 \cdot 0.5 \approx 0.9
  3. ​对比 IID 上限​​:500.53.5\sqrt{50} \cdot 0.5 \approx 3.5,组合实际能达到的上限只有 IID 上限的四分之一。

如果 ρˉ\bar{\rho} 能压到 0.1(更独立的 alpha),Neff=50/5.98.5N_{\text{eff}} = 50 / 5.9 \approx 8.5,组合夏普约 1.46。alpha 设计的核心目标因此不是再拉高单条 Sharpe,而是降低 alpha 之间的相关性——这是「多元化天花板」(diversification ceiling)的工程含义。

Exercise

某中频量化团队有 30 条 alpha,平均成对相关 0.4,每条夏普 0.6。

(i) 算 NeffN_{\text{eff}} 与组合夏普上限。

(ii) 假设你能通过引入新的另类数据源(信息比率, information ratio 不同的 LLM 衍生情感特征)把 30 条扩展到 50 条,但新 alpha 与现有 alpha 平均相关 0.5、个体夏普只 0.3。这 20 条新 alpha 加进来会让组合夏普上升还是下降?给数值估算。

(iii) 用指数衰减模型 SR(t)=0.6exp(t/3)\mathrm{SR}(t) = 0.6 \exp(-t/3) 拟合现有 alpha 的衰减,算半衰期 t1/2t_{1/2} 与三年后单条 alpha 的预期夏普。

提示
Neff=N/(1+(N1)ρˉ)N_{\text{eff}} = N / (1 + (N-1)\bar{\rho})。30 条 alpha、ρˉ=0.4\bar{\rho} = 0.4Neff=30/(1+11.6)2.4N_{\text{eff}} = 30 / (1 + 11.6) \approx 2.4,组合夏普 2.40.60.93\sqrt{2.4} \cdot 0.6 \approx 0.93
提示
把 50 条混合 alpha 当成一个混合相关矩阵,粗算 ρˉ\bar{\rho} 加权后约 0.45,NeffN_{\text{eff}} 落到 2 多一点,新组合夏普由加权平均个体夏普乘以 Neff\sqrt{N_{\text{eff}}} 估算。半衰期 t1/2=τln2=30.6932.08t_{1/2} = \tau \ln 2 = 3 \cdot 0.693 \approx 2.08 年;三年后 SR(3)=0.6exp(1)0.22\mathrm{SR}(3) = 0.6 \exp(-1) \approx 0.22

下一课接什么

这一课构造了​​信号层​​:特征、标签、样本权重、衰减建模与多 alpha 聚合。下一课从「信号说要买」走到「现在买进去」:Almgren-Chriss 闭式最优执行轨迹、Nevmyvaka-Feng-Kearns Q-learning 在订单簿上的强化学习扩展,以及 Deep Hedging(深度对冲)在含交易成本的不完备市场中对期权头寸的政策梯度对冲。前两课是预测层,第三课开始是控制层。