德邦金工机器学习专题之四:动态因子筛选-20220309-德邦证券-24页_1mb
报告摘要
金融工程专题总结
核心内容概述
本文探讨了一种基于财务因子的动态因子筛选方法,并利用机器学习模型构建了一个集成选股模型。该模型在多个股票池(包括沪深300、中证500、中证1000和全市场)中均表现出良好的选股效果,远超传统的线性多因子模型。
主要观点与关键信息
1. 因子筛选逻辑
- 信号与噪音因子:因子分为信号因子(与股票收益有显著相关性)和噪音因子(无显著相关性)。筛选目标是识别信号因子,排除噪音因子。
- 因子动量:因子在中长期表现稳定,且在近期市场环境下依然有效,利用其动量效应进行选股。
- 动态筛选机制:每个时期筛选不同的财务因子,以避免数据窥探偏误,提高模型的稳健性。
2. 因子库与筛选方法
- 因子库构成:包括CNE5的10个风格因子、利润表的66个项目、资产负债表的149个项目和现金流量表的86个项目,每个因子衍生出季度和年度增速。
- 因子预处理:
- 无量纲化处理(将总量类因子除以总资产)
- 舍弃空值比例大于40%的因子
- 中位数去极值处理(公式见正文)
- 填充空值为横截面中位数
- 筛选时间点:每年一季度报、中报和三季报披露后的首个交易日进行横截面选股,共进行三次。
- 边际筛选:从因子库中逐个筛选信息增益最大的因子加入当前因子池,以逐步扩大因子池。
- 因子评价:通过训练集和验证集计算RankIC(秩相关系数),以评估因子池的有效性。
3. 预测模型
- 线性多因子模型:作为对照组,因子值为各入选因子等权求和,符号由上一期的信息系数决定。
- 机器学习模型:使用包括随机森林、GBDT、XGBoost、LGBM、AdaBoost、神经网络和支持向量机等模型,构建集成模型。
- 模型动态筛选与加权:以验证集的RankIC为评价指标,选择输入因子数量和模型种类,并通过多头分位数指标 $\lambda$ 确定模型权重,提升模型稳健性。
- 模型训练与预测:最终的预测模型使用过去十二期季报数据训练,以最新一期季报数据进行预测。
4. 投资组合构造方法
- 调仓日期:每月第一个非节假日的星期一。
- 股票筛选:排除暂停交易、ST或*ST、收盘涨停和上市不满20日的股票。
- 分组方式:
- 均匀分组法:适用于指数成分股,按因子值排序并均匀分组。
- 非均匀分组法:适用于全市场股票,按因子值排序并均匀分组,再与股票池取交集。
5. 回测结果
- 线性多因子模型:在全市场表现平均RankIC为0.06,RankICIR为0.61,虽然有一定选股能力,但整体表现不佳。
- 沪深300指数增强:平均RankIC为0.142,RankICIR为1.037,多头组5年化超额收益为12.6%,信息比率为3.46。
- 中证500指数增强:平均RankIC为0.082,RankICIR为0.705,多头组5年化超额收益为11.9%,信息比率为3.03。
- 中证1000指数增强:平均RankIC为0.09,RankICIR为0.973,多头组5年化超额收益为11.9%,信息比率为3.79。
- 全市场选股:平均RankIC为0.081,RankICIR为1.037,多头组5年化超额收益为12.3%,信息比率为2.16。
6. 风险提示
- 市场风格变化风险:因子有效性可能随市场风格变化而改变。
- 模型失效风险:模型在不同市场环境下的表现可能不一致。
- 数据可用性风险:部分财务数据可能缺失或不准确。
结论
本文提出了一种系统化的动态因子筛选方法,结合机器学习模型构建了有效的集成选股模型。该模型在多个股票池中均表现出优于线性多因子模型的选股能力,具有较好的稳定性与风险控制能力。通过动态筛选和加权机制,有效减少了数据窥探偏误,提高了模型的适应性与实用性。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载