华泰人工智能系列之十九:偶然中的必然,重采样技术检验过拟合-20190422-华泰证券-28页_2mb
报告摘要
金工研究:Bootstrap重采样技术检验过拟合
核心内容
本文探讨了如何利用Bootstrap重采样技术构建“平行A股市场”,以检验机器学习选股模型是否存在回测过拟合风险。研究的核心在于通过模拟不同环节的随机性,如样本内数据、样本外数据以及回测时间,评估模型在不同随机扰动下的表现,从而判断其结论是否具有稳健性。
主要观点
- Bootstrap方法 是一种重采样技术,通过有放回抽样构建多个数据集,模拟市场随机性,从而评估模型的稳定性。
- 机器学习量化策略开发相较于传统策略更为复杂,涉及更多超参数和环节,因此更容易受到随机性影响。
- 回测过拟合是量化投资领域的一个重要问题,即模型在历史数据上的表现可能无法在实际市场中复现。
- 分组时序交叉验证 方法在多个指标上表现优于K折交叉验证和乱序分组递进式交叉验证,且在Bootstrap构建的“平行世界”中具有较好的稳定性。
- Bootstrap重采样 能够帮助研究者从统计分布角度进行模型评估,而非仅仅依赖单个指标。
关键信息
1. Bootstrap重采样方法
- 核心思想:有放回地抽样,构建多个“平行世界”。
- 应用:用于检验不同数据集和回测时间对模型表现的影响。
2. 三种Bootstrap方案
- 方案1:对样本内数据集进行Bootstrap重采样,可能小幅削弱模型表现。
- 方案2:对样本外数据集进行Bootstrap重采样,可能部分增强或削弱模型表现。
- 方案3:对回测时间进行Bootstrap重采样,可能大幅增强或削弱模型表现。
3. 三组交叉验证方法
- K折交叉验证:适用于非时间序列数据,但在时间序列数据上存在过拟合风险。
- 乱序分组递进式交叉验证:使用更少样本,但破坏时序信息。
- 分组时序交叉验证:保留时序信息,减轻过拟合风险,是推荐方法。
4. 模型测试流程
- 数据获取:使用全A股,剔除ST股、停牌股、次新股。
- 因子池:包含70个因子,涵盖估值、成长、财务质量、杠杆、市值、动量反转、波动率、股价、beta、换手率、情绪等。
- 特征预处理:包括中位数去极值、缺失值填充、行业市值中性化、标准化。
- 模型训练与测试:采用年度滚动训练方式,将样本划分为8个阶段,使用XGBoost作为基学习器。
5. 模型评价指标
- 样本内指标:正确率、AUC、回归法|t|均值、t均值、因子收益率均值、RankIC均值。
- 样本外指标:正确率、AUC、多空组合年化收益率、夏普比率、Top组合年化收益率、Top组合夏普比率。
- 回测时间指标:与样本外类似,但对时间变化更敏感。
6. 实验结果
- 样本内重采样:分组时序表现优于K折,但K折在样本内表现优于乱序分组递进式。
- 样本外重采样:分组时序表现显著优于其他两种方法,且真实值位于最优与最差值之间。
- 回测时间重采样:分组时序仍表现最好,但样本外和回测时间变动对结果影响较大。
7. 结论
- Bootstrap重采样方法有助于识别模型的过拟合风险。
- 分组时序交叉验证在多个指标上表现更优,其研究结论在平行世界中具有较高稳定性。
- 回测时间的选择对模型表现有较大影响,应谨慎对待。
风险提示
- 人工智能选股方法基于历史数据,若市场环境变化,模型可能失效。
- 本文仅考虑了三种随机性来源,可能忽略其他重要随机性因素。
- Bootstrap方法对随机性进行简化模拟,存在一定的局限性。
图表目录
- 图表1:回测过拟合困境示意图
- 图表2:Bootstrap重采样方法示意图
- 图表3:Bootstrap方法计算2019年4月1日A股非停牌个股平均涨跌幅均值及标准差
- 图表4:机器学习选股问题中随机性的来源和对应的Bootstrap方案
- 图表5:方案1:对样本内数据集进行Bootstrap重采样示意图
- 图表6:方案2:对样本外数据集进行Bootstrap重采样示意图
- 图表7:方案3:对回测时间进行Bootstrap重采样示意图
- 图表8:两组交叉验证方法相对于K折AUC之差累积值
- 图表9:两组交叉验证方法相对于K折RankIC之差累积值
- 图表10:基线模型1:K折交叉验证示意图
- 图表11:基线模型2:乱序分组递进式交叉验证示意图
- 图表12:推荐模型:分组时序交叉验证示意图
- 图表13:人工智能选股模型测试流程示意图
- 图表14:选股模型中涉及的全部因子及其描述
- 图表15:年度滚动训练示意图
- 图表16:模型历年滚动训练最优超参数
- 图表17:Bootstrap样本内数据集的样本内正确率分布
- 图表18:Bootstrap样本内数据集的样本内AUC分布
- 图表19:Bootstrap样本内数据集的样本外正确率分布
- 图表20:Bootstrap样本内数据集的样本外AUC分布
- 图表21:Bootstrap样本内数据集的回归法|t|均值分布
- 图表22:Bootstrap样本内数据集的回归法t均值分布
- 图表23:Bootstrap样本内数据集的回归法因子收益率均值分布
- 图表24:Bootstrap样本内数据集的RankIC均值分布
- 图表25:Bootstrap样本内数据集的分层回测法多空组合年化收益率
- 图表26:Bootstrap样本内数据集的分层回测法多空组合夏普比率
- 图表27:Bootstrap样本内数据集的分层回测法Top组合年化收益率
- 图表28:Bootstrap样本内数据集的分层回测法Top组合夏普比率
- 图表29:Bootstrap样本内数据集的分层回测多空组合净值展示
- 图表30:Bootstrap样本外数据集的回归法|t|均值分布
- 图表31:Bootstrap样本外数据集的回归法t均值分布
- 图表32:Bootstrap样本外数据集的回归法因子收益率均值分布
- 图表33:Bootstrap样本外数据集的RankIC均值分布
- 图表34:Bootstrap样本外数据集的分层回测法多空组合年化收益率
- 图表35:Bootstrap样本外数据集的分层回测法多空组合夏普比率
- 图表36:Bootstrap样本外数据集的分层回测法Top组合年化收益率
- 图表37:Bootstrap样本外数据集的分层回测法Top组合夏普比率
- 图表38:Bootstrap样本外数据集的分层回测多空组合净值展示
- 图表39:Bootstrap回测时间的回归法|t|均值分布
- 图表40:Bootstrap回测时间的回归法t均值分布
- 图表41:Bootstrap回测时间的回归法因子收益率均值分布
- 图表42:Bootstrap回测时间的RankIC均值分布
- 图表43:Bootstrap回测时间的分层回测法多空组合年化收益率
- 图表44:Bootstrap回测时间的分层回测法多空组合夏普比率
- 图表45:Bootstrap回测时间的分层回测法Top组合年化收益率
- 图表46:Bootstrap回测时间的分层回测法Top组合夏普比率
- 图表47:三种Bootstrap方案分组时序模型回归法|t|均值横向比较
- 图表48:三种Bootstrap方案分组时序模型回归法t均值横向比较
- 图表49:三种Bootstrap方案分组时序模型因子收益率均值横向比较
- 图表50:三种Bootstrap方案分组时序模型RankIC均值横向比较
- 图表51:三种Bootstrap方案分组时序模型多空组合年化收益横向比较
- 图表52:三种Bootstrap方案分组时序模型多空组合夏普比率横向比较
- 图表53:三种Bootstrap方案分组时序模型Top组年化收益横向比较
- 图表54:三种Bootstrap方案分组时序模型Top组夏普比率横向比较
- 图表55:三组交叉验证方法在三种Bootstrap方案下的回测表现与真实回测表现
总结
通过Bootstrap重采样构建“平行A股市场”,可以系统性地评估机器学习模型在不同随机性下的表现,从而判断其是否存在过拟合。研究发现,分组时序交叉验证在多个指标上表现优于其他两种方法,且在平行世界中保持较好的稳定性,说明其研究结论更可能反映真实市场规律。同时,样本外数据和回测时间的变化对模型表现有较大影响,需在模型开发过程中谨慎处理。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载