20220309-德邦证券-德邦金工机器学习专题之四_动态因子筛选_24页_2mb
报告摘要
金融工程专题总结:动态因子筛选与机器学习选股
核心内容
本文探讨了一种基于财务因子的动态筛选机制,结合机器学习方法构建选股模型,旨在提高选股策略的有效性与稳定性。通过系统性筛选,减少数据窥探偏误,提高模型在不同市场环境下的适应性。
主要观点
- 因子筛选的重要性:因子的选择对模型表现至关重要,需避免前视偏差,确保模型的稳健性。
- 信号与噪音因子:因子可分为信号因子(与股票收益率相关)和噪音因子(无显著相关性)。
- 因子动量效应:因子的效用可能随时间变化,需关注其在近期市场环境中的表现。
- 动态筛选机制:在每年的三个季度末进行因子筛选,确保数据的及时性和同步性。
- 边际筛选因子:从因子库中逐个筛选边际贡献最大的因子,逐步构建因子池。
- 因子预处理:包括无量纲化处理、去除空值、中位数去极值和填空值,以提高因子质量。
- 机器学习模型应用:使用多种机器学习模型(如随机森林、GBDT、XGBoost等)构建集成模型,显著优于线性多因子模型。
- 投资组合构造:采用等权方式构造投资组合,根据股票池不同选择均匀或非均匀分组策略。
- 模型评价与权重分配:通过验证集的多头分位数指标评价模型,权重分配依据模型表现。
关键信息
因子筛选逻辑
- 信号因子:因子值与股票收益存在相关性,无论是否线性。
- 噪音因子:因子值与股票收益无显著相关性。
- 因子动量:因子在连续多个时期中表现稳定,具有短期延续性。
- 筛选频率:每年进行三次因子筛选,分别在一季度报、中报和三季度报披露后。
因子库与预处理
- 因子来源:CNE5风格因子、利润表66项、资产负债表149项、现金流量表86项。
- 预处理步骤:
- 无量纲化处理(除以总资产)。
- 舍弃空值比例超过40%的因子。
- 中位数去极值处理。
- 填空值为横截面中位数。
机器学习模型
- 模型种类:随机森林、GBDT、XGBoost、LGBM、AdaBoost、神经网络、支持向量机等。
- 模型选择:通过验证集的多头分位数指标(λ)进行模型筛选和权重分配。
- 权重计算:权重为多头分位数与0.5的差值,若为负则不计入模型。
投资组合构造方法
- 调仓时间:每月第一个非节假日的星期一。
- 分组方法:
- 均匀分组:适用于全市场选股。
- 非均匀分组:适用于指数成分股选股。
- 股票排除条件:暂停交易、ST或*ST、收盘涨停、上市不满20日的股票。
回测结果
-
线性多因子模型:
- 全市场RankIC平均为0.06,RankICIR为0.61。
- 表现不佳,稳定性较弱。
-
沪深300指数增强:
- 平均RankIC为0.142,RankICIR为1.037。
- 多头组5年化超额收益为12.6%,换手率低,表现稳健。
-
中证500指数增强:
- 平均RankIC为0.082,RankICIR为0.705。
- 多头组5年化超额收益为11.9%,表现稳定。
-
中证1000指数增强:
- 平均RankIC为0.09,RankICIR为0.973。
- 多头组5年化超额收益为11.9%,换手率低。
-
全市场选股:
- 平均RankIC为0.081,RankICIR为1.037。
- 多头组5年化超额收益为12.3%,表现稳健。
风险提示
- 市场风格变化风险:市场风格可能变化,影响因子有效性。
- 模型失效风险:模型可能在不同市场环境下失效。
- 数据可用性风险:数据缺失或不可用可能影响模型表现。
总结
本文提出了一种系统性的动态因子筛选方法,结合机器学习模型,构建了一个在多个股票池中均有效的选股策略。通过边际筛选因子、预处理、模型动态筛选与加权等步骤,有效减少数据窥探偏误,提高模型的稳健性和适应性。回测结果显示,集成模型在沪深300、中证500、中证1000和全市场选股中均表现良好,显著优于线性多因子模型。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载