分类
系统性对比AI选股六大训练细节(预处理、训练域、训练方式、分类回归、损失函数、树集成算法),确定最优全流程配置后,GBDT+NN融合因子在沪深300/中证500/中证1000指增策略上分别取得15.43%/20.50%/32.25%的年化超额收益。
关键结论
中证1000指增年化超额32.25%,超额最大回撤仅4.33%;沪深300指增年化超额15.43%,回撤2.87%。
核心要点
- 截面模型(LightGBM)特征和标签均用RobustZScore处理;时序模型(GRU)特征用RobustZScore、标签用CSRank处理
- LightGBM在沪深300上用成分股训练更优,GRU则用全A训练更优;中证1000上两者差距很小
- 一次性训练(8年训练+2年验证)优于滚动和扩展训练,尤其对LightGBM
- 回归模型(MSE损失)全面优于分类模型(交叉熵损失),保留标签颗粒度有助于学习
- 损失函数直接改为IC无明显改善,MSE已足够
- DART(引入Dropout的树集成)超过GBDT,有效缓解过拟合
核心内容
报告围绕机器学习选股的六大训练细节展开系统对比:(1)数据预处理:测试CSZScore/CSRank/ZScore/MinMax/RobustZScore五种方式,发现截面模型适合整体标准化以保留时序信息,时序模型标签需截面标准化以统一分布。(2)训练域:LightGBM在沪深300上用成分股训练更优(学到大市值规律),GRU需全A大样本才充分学习;中证1000上两者差异很小。(3)训练方式:一次性训练(8年+2年验证)优于滚动和扩展训练,因为8年已覆盖完整A股周期,且验证集不断更新会导致早停标准跟随市场逻辑漂移,在19-20年核心资产抱团等极端行情时尤为明显。(4)回归vs分类:回归模型各指标全面超过分类模型。(5)损失函数:IC损失未带来显著改善,MSE合适。(6)树集成对比:DART优于GBDT,RF未优于前两者。
经济逻辑
A股不同宽基指数成分股在市值、行业、风格上差异大,选股逻辑不同,因此训练域选择需匹配模型特性(树模型样本效率高可用成分股,神经网络需大样本用全A)。一次性训练更优的原因是8年训练集已覆盖完整牛熊周期,验证集固定可避免市场风格漂移导致的早停偏误。回归优于分类是因为保留连续标签的颗粒度比离散化后信息更丰富。DART通过Dropout随机丢弃部分树,减少模型对特定子树的过度依赖,在A股高噪声环境中缓解过拟合。RobustZScore优于普通ZScore因为A股因子值常有厚尾极值,中位数和MAD比均值和标准差更稳健。
超额收益逻辑
因子值为模型预测的未来20日超额收益率。多头组合做多因子值最高的股票组,空头做空最低组。超额收益来源于模型对量价特征与未来收益之间非线性关系的有效捕捉。回归任务保留了连续标签的颗粒度,使模型能学习到更精细的收益排序信息。DART的Dropout机制减少了过拟合,使模型泛化到样本外时更稳健。RobustZScore去极值处理使模型对A股常见的因子尾部异常更鲁棒。一次性训练避免了验证集漂移导致的早停偏误,特别是在19-20年核心资产抱团等极端行情期间。
构造细节 [model]
双模型框架:(A)LightGBM/DART:梯度提升决策树集成模型,DART在GBDT基础上引入Dropout机制,训练新树时随机丢弃部分已有树的输出,减少对特定子树的过度依赖。核心超参数包括树数量、学习率、最大深度、Dropout比例(DART特有)。(B)GRU:门控循环单元网络,包含重置门和更新门,能学习时间窗口(step_len)内的时序变化信息。网络结构为GRU层→全连接层→输出层,输出为未来20日超额收益率的预测值。两类模型分别独立训练后合成。
未来20日超额收益率的预测值(作为选股因子),范围无限制,值越大预期超额收益越高
损失函数:MSE(回归任务)。优化方式:梯度下降(GBDT通过迭代拟合残差,GRU通过反向传播)。早停机制:验证集损失连续N轮无下降则停止训练。训练集8年+验证集2年,一次性训练(不滚动不扩展)。5个随机种子分别训练取预测均值。特征预处理:RobustZScore(两类模型一致)。标签预处理:LightGBM用RobustZScore,GRU用CSRank。预测目标:未来20日超额收益率。训练域:沪深300上LightGBM用成分股、GRU用全A;中证500上LightGBM用成分股(回撤更优)、GRU用全A;中证1000上两者均可用全A或成分股(差异很小)。
GBDT类模型(LightGBM/DART)与NN类模型(GRU)分别在不同成分股上训练后合成;5个固定随机种子取均值
绩效
基于GBDT和NN模型重构的指数增强策略在沪深300、中证500和中证1000上均取得显著超额收益,其中中证1000指增年化超额达32.25%,超额最大回撤4.33%。
收益归因
稳健性
通过多种技术手段提升鲁棒性:5种子取均值、RobustZScore去极值、DART Dropout防过拟合、一次性训练避免验证集漂移、回归保留标签颗粒度。但缺少风格暴露分析和行业中性化处理的说明。
数据依赖
数据源为标准日频行情数据,获取难度不高。但具体特征清单需参考前序报告,GRU的step_len、网络层数、DART的Dropout比例等关键超参数未明确给出,需一定试错。整体可复现性中等。
相关研究
新颖性评估 [新组合]
报告未提出全新算法或全新数据,而是对现有机器学习选股框架的六大训练细节进行系统对比和优化组合,属于工程实践层面的'全流程重构'。核心贡献在于给出了每个维度的明确最优配置建议,并发现DART在A股选股中优于GBDT这一有实践价值的结论。对截面模型和时序模型需采用不同预处理策略的洞察也具有实操指导意义。
不足与缺陷
- 具体特征清单未在本报告中列出,需依赖前序报告,降低了独立可复现性
- GRU的关键超参数(step_len、网络层数、隐藏单元数、学习率等)未明确给出
- DART的Dropout比例、树数量等超参数未明确给出
- 交易成本的具体数值未说明,指增策略的超额收益可能对成本敏感
- 回测的具体时间区间未明确标注(仅提到8+2年训练验证)
- 缺少对因子风格暴露(市值、估值、动量等)的分析,无法判断超额收益来源
- 缺少行业中性化处理或行业暴露控制的说明
- IC损失函数'没有显著改善'的结论缺乏具体数据和实验细节支撑
可复用元素
- 截面模型与时序模型应采用不同预处理策略的明确结论:截面用整体RobustZScore保留时序信息,时序标签用CSRank统一分布
- DART优于GBDT的实证结论,提供了树集成模型的改进方向
- 一次性训练优于滚动/扩展训练的结论,以及19-20年市场规律特殊的解释
- 回归优于分类的实证,支持保留连续标签颗粒度
- 停牌日统一赋NaN的处理细节
- 5个随机种子取均值的稳定性增强方法
- 不同宽基指数上LightGBM和GRU对训练域选择不同最优解的洞察
启发
- 时序模型标签用CSRank而特征保留时序信息的思路,可推广到其他时序模型(如Transformer、TCN)的预处理设计
- DART的Dropout思想在树模型上的有效性,启发可以探索更多正则化手段在树集成中的应用
- 19-20年市场规律特殊的发现,提示可以设计自适应的验证集选择机制或市场状态识别模块
- 不同宽基指数需不同训练域的结论,启发可以构建分层训练或多域迁移学习框架
改进方向
将标签预处理从单一CSRank改为行业中性CSRank:在每个截面日内,先按行业分组,组内做Rank标准化后再合并,使标签去除行业层面的系统性差异,模型聚焦个股alpha而非行业beta
将MSE损失函数替换为ListMLE排序学习损失:直接优化股票在截面内的排序似然而非数值偏差,使模型训练目标与因子评价指标(IC本质是排序相关)更一致
在一次性训练基础上引入样本时间衰减权重:对训练集样本按时间赋予指数衰减权重(如半衰期3年),既保留长期样本的稳定性又让近期市场规律占更大比重
复现计划
1. 数据准备:获取全A日频行情数据(2010年至今),处理停牌日为NaN;获取沪深300/中证500/中证1000成分股历史列表。2. 特征计算:参考前序报告特征清单计算量价因子(如需自行补充则选取常用量价因子如动量、反转、波动率、换手率、量价相关性等约30-50个)。3. 标签计算:每月末截面日计算T+1至T+21日超额收益率。4. 预处理:GBDT路径特征标签均做RobustZScore(用训练集参数);GRU路径特征做RobustZScore、标签做CSRank。5. 模型训练:LightGBM和DART用sklearn/lightgbm实现,GRU用PyTorch实现(需试错step_len=10~20,2层GRU,hidden=64~128),5个种子取均值,一次性训练8年+2年验证+早停。6. 合成与回测:GBDT和GRU预测值简单等权合成,月度调仓,分5组测试多头超额,构建指增组合时控制行业偏离和个股权重。关键难点:特征清单和GRU超参数需通过前序报告或试错确定。
实体
LOCAL SIMILARITY
相似报告
方法:深度学习 · 研究类型:AI·机器学习 · 频率:日频 · 资产:A股、指数增强
对比详情