社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

机器学习选股,真正该优化的可能不是模型,而是标签

映翡量化 • 1 月前 • 268 次点击  

在机器学习选股中,研究者通常将注意力集中在两个方面:一是不断扩充公司特征,二是尝试更复杂的预测模型。然而,一个更基础的问题却常常被忽略:模型究竟在预测什么?

现有研究大多直接使用未来一个月或一年的股票收益率作为标签,并将其原样输入模型。论文《Label alchemy: Target engineering for improved stock selection》(2026年9月22日)则提出,预测目标本身同样需要“工程化”。在固定股票池、公司特征和模型的情况下,仅仅改变标签的表达方式,就可能显著提升组合表现。

研究发现,原始收益率标签对应的多空组合夏普比率为0.68,而将同一收益率转化为横截面高斯化排名后,夏普比率提升至1.69;最佳标签的夏普比率甚至达到1.74。换言之,在股票选股问题中,标签的设计可能比模型的复杂程度更加重要。

核心思路

论文将标签设计拆解为三个维度:Location、Scale和Shape,分别对应位置、尺度和分布形状。

第一,Location关注收益率需要相对于什么基准进行衡量。例如,可以直接使用原始收益率,也可以减去全市场平均收益、行业平均收益,或者进一步剔除主成分和Fama-French六因子所解释的部分。其核心思想是:投资者真正关心的,可能并不是股票的绝对收益,而是它相对于市场、行业或系统性风险的超额表现。

第二,Scale关注标签是否需要标准化。研究分别考察了横截面标准差、稳健尺度以及个股过去波动率等方式。标准化能够降低极端收益率对平方损失函数的支配作用,避免少数“彩票型股票”过度影响模型训练。

第三,Shape关注如何改变标签的分布。除了保留原始收益率,研究还使用了百分位排名、高斯化排名和“是否战胜行业或市场中位数”的二元标签。其中,高斯化排名首先将收益率转换为横截面排名,再通过逆正态变换映射到近似正态分布。

研究者在30种组合中筛选出15种具有代表性的标签,并将其应用于固定的梯度提升树模型。同时,研究还使用弹性网络和神经网络进行检验,从而区分标签设计与模型选择的影响。

实证数据包括2002年1月至2026年3月的1,960只美国股票,共计约44.7万条股票—月份观测。模型采用严格的扩展窗口滚动预测,每年重新训练,并在样本外按照模型得分构建多空十分位组合。

实证结果

首先,标签工程显著改善了选股表现。

2010年至2026年的完整样本中,原始收益率标签的多空组合夏普比率仅为0.68,最大回撤达到-31%,其秩信息系数的统计量也只有0.9,基本无法拒绝无预测能力的假设。

相比之下,高斯化排名标签的夏普比率达到1.69,年化收益率为19.8%,年化波动率为11.7%,最大回撤仅为-10%,月度胜率达到74%。行业标准化标签表现同样突出,夏普比率为1.56;普通横截面z-score标签的夏普比率为1.53。

其次,尺度变换和分布变换的效果明显优于简单去均值。

仅仅将收益率减去市场均值,夏普比率从0.68提升至1.15;进一步进行横截面标准化后,夏普比率提升至1.53。这说明,标签中的收益率尺度会影响模型的损失函数,使极端观测获得过高权重。

高斯化排名则结合了排名与标准化的优点。百分位排名能够更好地刻画股票之间的相对顺序,但z-score标签在构建多空组合时表现更好。高斯化排名同时保留了横截面排序信息,又将标签分布调整为更适合回归模型学习的形态,因此取得了最佳结果。

第三,行业和因子中性化具有一定增益。

行业z-score标签的夏普比率达到1.56,位居全部标签第二位。PCA残差、PCA残差排名以及Fama-French六因子残差标签的夏普比率分别为1.16、1.28和1.28,均明显优于原始收益率标签。这表明,模型预测相对行业或系统性风险的表现,可能比预测绝对收益更加有效。

不过,个股波动率缩放并没有带来同样的改善。vol_scaled和vol_scaled_rank的夏普比率分别只有0.36和0.66,同时换手率更高。原因可能在于,个股过去波动率与未来波动率并不稳定一致,除以历史波动率会重新排列股票横截面,反而削弱原本有效的收益预测信号。

标签工程的优势在不同预测期限下依然存在。1个月预测中,最佳标签相较原始标签的夏普差距约为1.01;3个月、6个月和12个月的差距分别缩小至0.60、0.25和0.30。也就是说,标签设计在短期预测中尤其重要,因为短期收益噪声更大,更容易受到极端值和分布形态的影响。

更重要的是,标签结论并不依赖于某一种机器学习模型。在梯度提升树、弹性网络和神经网络的比较中,领先的始终是z-score、高斯化排名以及部分因子残差标签,而原始收益率标签大多处于后列。方差分解显示,标签对表现差异的解释力度约为0.87,而模型本身仅为0.04,标签的影响约为模型的20倍。

结论

这篇论文的核心启示是:机器学习选股不应只关注“使用什么特征”和“选择什么模型”,还必须认真回答“模型应该学习什么目标”。

原始未来收益率并不一定是最适合选股的标签。对于横截面选股而言,投资者更关心的是股票之间的相对表现,因此,横截面排名、收益率标准化、行业中性化以及因子残差等标签设计,可能更符合组合构建的实际目标。

从实证结果看,最值得关注的方案是将未来收益率进行横截面排名,并进一步进行高斯化处理;如果投资组合强调行业中性,也可以考虑行业去均值或行业z-score标签。相反,简单使用原始收益率,或机械地按照个股历史波动率进行缩放,未必能够改善预测效果。

对于量化研究实践而言,标签不应被视为数据处理中的固定步骤,而应被视为与特征工程、模型选择同等重要的研究变量。未来还可以进一步考察交易成本、不同市场和不同频率下的稳健性,并将标签工程与排序学习、分位数损失和直接优化Rank IC等方法结合起来。

真正高效的机器学习选股模型,未必来自更复杂的算法,而可能始于一个更合理的预测目标。

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=7494298

PDF已更新⬇️,更多策略、资讯⬇️
学术界的Alpha


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/201815