林晓明S0570516010001
SFC No. BPY421 研究员
陈 烨 S0570518080004 研究员
李子钰 S0570519110003 研究员
何 康 S0570118080081 联系人
报告发布时间:2020年8月24日
摘要
本文从网络结构和特征优化的角度改进AlphaNet,回测表现更好
华泰金工前期报告《AlphaNet:因子挖掘神经网络》(2020.6.14)提出了AlphaNet-v1模型。然而AlphaNet-v1在2019年下半年之后表现欠佳,针对该问题,我们分别从神经网络结构和特征的角度进行改进,构建了AlphaNet-v2和AlphaNet-v3两个升级模型,并在多个股票池内测试。结果显示,在全A股和中证800成分股中AlphaNet-v2表现优于AlphaNet-v1,在中证500成分股中AlphaNet-v3表现小幅优于AlphaNet-v2。另外,本文总结对比了“遗传规划+随机森林”模型和AlphaNet的优缺点。
本文介绍了两个改进模型:AlphaNet-v2和AlphaNet-v3的改进思路
相比AlphaNet-v1,AlphaNet-v2改进了以下几点:(1)考虑到比率类特征的有效性,扩充了6个比率类特征;(2)将池化层和全连接层替换为LSTM层,从而更好地学习特征的时序信息;(3)训练集和验证集划分从1:1变成4:1,验证集更关注近期样本的表现。相比AlphaNet-v2,AlphaNet-v3改进了以下几点:(1)扩充特征提取层,特征提取层1和特征提取层2中的运算函数具有不同的回看区间(10和5);(2)将LSTM层替换为GRU,减少模型参数。
在全A股和中证800成分股中,AlphaNet-v2表现优于AlphaNet-v1
设定回测期为20110131~20200731,调仓周期为10个交易日。在全A股中,AlphaNet-v2相比AlphaNet-v1的RankIC均值从9.72%提升至10.76%,ICIR从1.00提升至1.15。构建相对于中证500 的行业、市值中性的全A 选股策略,年化超额收益率从17.17%提升至19.09%,信息比率从2.73提升至3.13。在中证800成分股中,AlphaNet-v2相比AlphaNet-v1的RankIC均值从8.37%提升至8.63%,ICIR从0.73提升至0.75。构建相对于中证800的行业、市值中性的选股策略,年化超额收益率从6.19%提升至7.84%,信息比率从1.65提升至2.00。
在中证500成分股中,AlphaNet-v3表现小幅优于AlphaNet-v2
设定回测期为20110131~20200731,调仓周期为10个交易日。在中证500成分股中,AlphaNet-v3相比AlphaNet-v2的RankIC均值从9.05%提升至9.70%,ICIR从0.89提升至1.00。构建相对于中证500的行业、市值中性的选股策略,年化超额收益率从9.40%提升至9.75%,信息比率从2.19提升至2.30。
本文总结对比了AlphaNet 和“遗传规划+随机森林”模型的优缺点
AlphaNet 和“遗传规划+随机森林”模型都是基于量价数据的人工智能选股模型,本文对比了二者的优缺点。AlphaNet的优点是:端到端学习使得因子挖掘和因子合成使用同一目标函数进行优化,且无需维护因子池,从而无需做大量的单因子测试、因子相关性分析、因子中性化等工作。另外,只需按情况对网络结构做一定调整,就可针对任意的股票池、预测周期、数据频率构建预测模型,省时省力。AlphaNet的缺点是:模型可解释性较低,目前可嵌入神经网络的特征提取层还比较有限,没有覆盖遗传规划中全部因子计算函数。“遗传规划+随机森林”模型的优缺点则正好相反。
风险提示:通过人工智能模型构建的选股策略是历史经验的总结,存在失效的可能。神经网络受随机性影响较大,使用需谨慎。机器学习模型解释方法存在过度简化的风险。
本文研究导读
在华泰金工2020年6月14日发布的报告《AlphaNet:因子挖掘神经网络》中我们指出:AlphaNet通过自定义特征提取层,能以端到端的方式有效提取股票原始量价数据中的特征,并展示了第一个版本:AlphaNet-v1的构建细节。然而AlphaNet-v1在2019年下半年之后表现欠佳,针对该问题,我们分别从神经网络结构和特征的角度进行改进,构建了AlphaNet-v2和AlphaNet-v3两个升级模型。对于AlphaNet-v2,我们在多个股票池内测试。对于AlphaNet-v3,由于模型复杂训练较慢,我们仅在中证500成分股内测试。
从AlphaNet-v1到AlphaNet-v2和AlphaNet-v3
本章我们首先以图表方式展现三个版本AlphaNet模型的构建细节和差异,再逐一阐述AlphaNet-v2和AlphaNet-v3相比AlphaNet-v1的改进逻辑。图表2和图表3展示了AlphaNet-v1的构建细节。
图表4和图表5展示了AlphaNet-v2的构建细节。相比AlphaNet-v1,AlphaNet-v2改进了以下几点:
1. 扩充了6个比率类特征,“数据图片”维度变为15*30。
2. 将池化层和全连接层替换为LSTM层,从而更好地学习特征的时序信息。
3. 训练集和验证集划分从1:1变成4:1,验证集更关注近期样本的表现。
图表6和图表7展示了AlphaNet-v3的构建细节。相比AlphaNet-v2改进了以下几点:
1. 扩充特征提取层,特征提取层1和特征提取层2中的运算函数具有不同的回看区间(10和5)。
2. 将LSTM层替换为GRU,减少模型参数。
改进说明1:扩充比率类特征
比率类特征具有丰富的信息。在遗传规划所挖掘出的因子中,我们观察到包含比率类特征的因子回测表现较好,图表8和图表9分别展示了包含比率类特征的因子1和因子2的分层回测表现。
因子1:ts_corr(div(open,free_turn),close,10)。
因子2:ts_corr(div(volume,low),close,10)。
我们在AlphaNet-v2和AlphaNet-v3中加入了以下6个比率类特征:
改进说明2:将池化层和全连接层替换为LSTM/GRU层
如图表11所示,由于特征提取层得到的特征依然具有时序信息,因此相比池化层,LSTM/GRU更合适作为后续的网络结构。
图表12和图表13分别是LSTM和GRU的隐藏状态结构,相比LSTM, GRU少了一个门控结构,待优化的参数量减少了四分之一,但性能基本一致,因此在更为复杂的AlphaNet-v3中,我们使用GRU来代替LSTM。
“遗传规划+随机森林”模型和AlphaNet的对比
到目前为止,华泰金工人工智能系列报告介绍了两套方法来通过个股量价数据构建多因子选股策略,分别是:
1. “遗传规划+随机森林”模型:先使用遗传规划挖掘因子,再用随机森林做因子合成,详见《基于量价的人工智能选股体系概览》(2020.2.18)。
2. AlphaNet模型:使用神经网络实现端到端的因子挖掘和因子合成。
“遗传规划+随机森林”模型是传统机器学习时代方法的体现,即首先进行特征工程,再做模型训练。而AlphaNet则是深度学习时代方法的体现,即实现原始数据到目标问题的端到端学习。对于多因子选股来说,二者各有优劣,我们在图表14中做了对比。
AlphaNet模型测试流程
数据准备
1. 股票池:全A股,中证500成分股,中证800成分股。剔除ST、PT股票,剔除每个截面期下一交易日涨跌停和停牌的股票。
2. 原始特征:个股日频量价信息,如图表15所示。对于每只股票,将其量价数据拼接成15*30的“数据图片”,30为历史时间天数。
3. 预测目标:个股10天后标准化的收益率。
4. 回测区间:2011年1月31日至2020年7月31日。
5. 样本内数据大小:每次训练都使用过去1500个交易日的数据作为样本内数据,每隔两天采样一次。
6. 训练集和验证集比例:按照时间先后进行4:1划分,训练集在前,验证集在后。
AlphaNet训练和预测方式
1. 模型训练:从2011年1月31日开始,每隔半年进行滚动训练。样本内数据为过去1500个交易日的数据,训练集和验证集按照4:1划分。
2. 模型预测:在每个样本外数据截面上,使用最新训练的模型预测个股未来10天的收益率。
考虑到神经网络的训练受随机数种子影响较大,我们会训练10个模型,并将10个模型的预测结果做等权平均,取该平均值为AlphaNet的合成因子。
组合构建和回测
对于AlphaNet-v2 合成的因子,在全A 股和中证800 成分股内测试,并与AlphaNet-v1进行对比。
1. 单因子IC 测试和分层测试。分析因子的RankIC 均值、ICIR、分层组合年化收益率等指标。
2. 对于全A 选股模型,构建行业市值中性的中证500 增强策略进行回测。分析策略的年化超额收益率、信息比率、超额收益最大回撤等指标。
3. 对于中证800 内选股模型,构建行业市值中性的中证800 增强策略进行回测。分析策略的年化超额收益率、信息比率、超额收益最大回撤等指标。
对于AlphaNet-v3 合成的因子,在中证500 成分股内测试,并与AlphaNet-v2 进行对比。
1. 单因子IC 测试和分层测试。分析因子的RankIC 均值、ICIR、分层组合年化收益率等指标。
2. 对于中证500 内选股模型,构建行业市值中性的中证500 增强策略进行回测。分析策略的年化超额收益率、信息比率、超额收益最大回撤等指标。
AlphaNet-v2测试结果
本章将对AlphaNet-v2进行以下两组测试:
1. 全A选股测试,并与AlphaNet-v1对比。
2. 中证800成分股内测试,并与AlphaNet-v1对比。
单因子IC测试的方法如下:
1. 样本空间:全A股,中证800成分股。剔除ST、PT股票,剔除每个截面期下一交易日涨跌停和停牌的股票。
2. 回测区间:2011年1月31日到2020年7月31日。
3. 截面期:每隔10个交易日,用当前截面期因子值与当前截面期至下个截面期内的个股收益计算RankIC 值。
4. 为了分析合成因子的增量信息,会展示因子进行行业、市值、10日收益率、10日波动率、10日换手率五因子中性化后的测试结果。
单因子分层测试的方法如下:
1. 股票池、回测区间、截面期均与IC测试一致。
2. 换仓:在每个截面期得到预测值,构建分层组合,在截面期下一个交易日按当日vwap换仓,交易费用为单边千分之二。
3. 分层方法:先将因子暴露度向量进行一定预处理,将股票池内所有个股按处理后的因子值从大到小进行排序,等分N层,每层内部的个股等权重配置。当个股总数目无法被N整除时采用任一种近似方法处理均可,实际上对分层组合的回测结果影响很小。分层测试中的基准组合为股票池内所有股票的等权组合。
4. 多空组合收益计算方法:用Top组每天的收益减去Bottom组每天的收益,得到每日多空收益序列 r1,r2,...,rn,则多空组合在第n天的净值等于(1+r1)(1+r2)...(1+rn)。
5. 为了分析合成因子的增量信息,会展示因子进行行业、市值、10日收益率、10日波动率、10日换手率五因子中性化后的测试结果。
构建行业市值中性的指数增强策略回测的方法如下:
1. 股票池、回测区间、截面期均与IC测试一致。
2. 换仓:在每个截面期得到预测值,通过组合优化模型得到新的持仓股票和权重,在截面期下一个交易日按当日vwap换仓,交易费用为单边千分之二,每次调仓双边换手率限制在60%。
全A选股测试
单因子IC测试
我们将AlphaNet-v1和AlphaNet-v2在每个截面上的预测结果视为合成的单因子,进行单因子IC测试。图表16和图表17展示了合成因子的IC测试结果,AlphaNet-v2在各项测试指标上都优于AlphaNet-v1。
单因子分层测试
我们将AlphaNet-v1和AlphaNet-v2在每个截面上的预测结果视为合成的单因子,进行单因子分5层测试。图表18~图表20展示了合成因子的分层测试结果,AlphaNet-v2在各项测试指标上都优于AlphaNet-v1。
构建行业市值中性的中证500增强策略进行回测
我们将AlphaNet-v1和AlphaNet-v2在每个截面上的预测结果视为合成的单因子,构建相对于中证500 的行业、市值中性的全A 选股策略并进行回测,图表21~图表23展示了个股权重偏离上限为1%时的回测结果。AlphaNet-v2在多项测试指标上都优于AlphaNet-v1。
中证800成分股内测试
单因子IC测试
我们将AlphaNet-v1和AlphaNet-v2在每个截面上的预测结果视为合成的单因子,进行单因子IC测试。图表24和图表25展示了合成因子的IC测试结果,AlphaNet-v2在RankIC均值,IC_IR优于AlphaNet-v1。
单因子分层测试
我们将AlphaNet-v1和AlphaNet-v2在每个截面上的预测结果视为合成的单因子,进行单因子分5层测试。图表26~图表28展示了合成因子的分层测试结果。AlphaNet-v2的TOP组合超额收益率、TOP组合信息比率、多空组合夏普比率优于AlphaNet-v1。
构建行业市值中性的中证500增强策略进行回测
我们将AlphaNet-v2在每个截面上的预测结果视为合成的单因子,构建相对于中证800 的行业、市值中性选股策略并进行回测。图表29~图表31展示了个股权重偏离上限为1%时的回测结果。AlphaNet-v2在多项测试指标上都优于AlphaNet-v1。
AlphaNet-v3测试结果
由于AlphaNet-v3结构较为复杂,对算力要求较高,本章仅在中证500成分股内测试AlphaNet-v3,并与AlphaNet-v2进行对比。
单因子IC测试的方法如下:
1. 样本空间:中证500成分股。剔除ST、PT股票,剔除每个截面期下一交易日涨跌停和停牌的股票。
2. 回测区间:2011年1月31日到2020年7月31日。
3. 截面期:每隔10个交易日,用当前截面期因子值与当前截面期至下个截面期内的个股收益计算RankIC 值。
4. 为了分析合成因子的增量信息,会展示因子进行行业、市值、10日收益率、10日波动率、10日换手率五因子中性化后的测试结果。
单因子分层测试的方法如下:
1. 股票池、回测区间、截面期均与IC测试一致。
2. 换仓:在每个截面期得到预测值,构建分层组合,在截面期下一个交易日按当日vwap换仓,交易费用为单边千分之二。
3. 分层方法:先将因子暴露度向量进行一定预处理,将股票池内所有个股按处理后的因子值从大到小进行排序,等分N层,每层内部的个股等权重配置。当个股总数目无法被N整除时采用任一种近似方法处理均可,实际上对分层组合的回测结果影响很小。分层测试中的基准组合为股票池内所有股票的等权组合。
4. 多空组合收益计算方法:用Top组每天的收益减去Bottom组每天的收益,得到每日多空收益序列 r1,r2,...,rn,则多空组合在第n天的净值等于(1+r1)(1+r2)...(1+rn)。
5. 为了分析合成因子的增量信息,会展示因子进行行业、市值、10日收益率、10日波动率、10日换手率五因子中性化后的测试结果。
构建行业市值中性的指数增强策略回测的方法如下:
1. 股票池、回测区间、截面期均与IC测试一致。
2. 换仓:在每个截面期得到预测值,通过组合优化模型得到新的持仓股票和权重,在截面期下一个交易日按当日vwap换仓,交易费用为单边千分之二,每次调仓双边换手率限制在60%。
中证500成分股内测试
单因子IC测试
我们将AlphaNet-v2和AlphaNet-v3在每个截面上的预测结果视为合成的单因子,进行单因子IC测试。图表32和图表33展示了合成因子的IC测试结果,AlphaNet-v3在各项测试指标上都优于AlphaNet-v2。
单因子分层测试
我们将AlphaNet-v2和AlphaNet-v3在每个截面上的预测结果视为合成的单因子,进行单因子分5层测试。图表34~图表36展示了合成因子的分层测试结果,AlphaNet-v3在各项测试指标上都优于AlphaNet-v2,但优势并不显著。
构建行业市值中性的中证500增强策略进行回测
我们将AlphaNet-v2和AlphaNet-v3在每个截面上的预测结果视为合成的单因子,构建相对于中证500 的行业、市值中性的全A 选股策略并进行回测,图表37~图表39展示了个股权重偏离上限为1%时的回测结果。AlphaNet-v3在各项测试指标上都优于AlphaNet-v2,但优势并不显著。
总结
本文结论如下:
1. 本文介绍了两个AlphaNet 改进模型:AlphaNet-v2 和AlphaNet-v3 的改进思路。相比AlphaNet-v1,AlphaNet-v2改进了以下几点:(1)考虑到比率类特征的有效性,扩充了6个比率类特征;(2)将池化层和全连接层替换为LSTM层,从而更好地学习特征的时序信息;(3)训练集和验证集划分从1:1变成4:1,验证集更关注近期样本的表现。相比AlphaNet-v2,AlphaNet-v3改进了以下几点:(1)扩充特征提取层,特征提取层1和特征提取层2中的运算函数具有不同的回看区间(10和5);(2)将LSTM层替换为GRU,减少模型参数。
2. 在全A 股和中证800 成分股中,AlphaNet-v2 表现优于AlphaNet-v1。设定回测期为20110131~20200731,调仓周期为10个交易日。在全A股中,AlphaNet-v2相比AlphaNet-v1的RankIC均值从9.72%提升至10.76%,ICIR从1.00提升至1.15。构建相对于中证500 的行业、市值中性的全A 选股策略,年化超额收益率从17.17%提升至19.09%,信息比率从2.73提升至3.13。在中证800成分股中,AlphaNet-v2相比AlphaNet-v1的RankIC均值从8.37%提升至8.63%,ICIR从0.73提升至0.75。构建相对于中证800的行业、市值中性的选股策略,年化超额收益率从6.19%提升至7.84%,信息比率从1.65提升至2.00。
3. 在中证500 成分股中,AlphaNet-v3 表现小幅优于AlphaNet-v2。设定回测期为设定回测期为20110131~20200731,调仓周期为10个交易日。在中证500成分股中,AlphaNet-v3相比AlphaNet-v2的RankIC均值从9.05%提升至9.70%,ICIR从0.89提升至1.00。构建相对于中证500的行业、市值中性的选股策略,年化超额收益率从9.40%提升至9.75%,信息比率从2.19提升至2.30。
4. 本文总结对比了AlphaNet 和“遗传规划+随机森林”模型的优缺点。AlphaNet 和“遗传规划+随机森林”模型都是基于量价数据的人工智能选股模型,本文对比了二者的优缺点。AlphaNet的优点是:端到端学习使得因子挖掘和因子合成使用同一目标函数进行优化,且无需维护因子池,从而无需做大量的单因子测试、因子相关性分析、因子中性化等工作。另外,只需按情况对网络结构做一定调整,就可针对任意的股票池、预测周期、数据频率构建预测模型,省时省力。AlphaNet的缺点是:模型可解释性较低,目前可嵌入神经网络的特征提取层还比较有限,没有覆盖遗传规划中全部因子计算函数。“遗传规划+随机森林”模型的优缺点则正好相反。
风险提示
通过人工智能模型构建的选股策略是历史经验的总结,存在失效的可能。神经网络受随机性影响较大,使用需谨慎。机器学习模型解释方法存在过度简化的风险。
免责声明与评级说明