【国盛金工】量化专题:基于深度学习的指数增强策略
0
摘要
前两者基于逻辑驱动,依托于投资人对于财务、宏观风格的深入理解,我们曾做过深入覆盖。而量价+AI基于数据驱动,从模型层面捕捉市场短期的定价不充分,我们在本篇报告中展开初步探索。
深度学习模型与特征构建
通过调整超参数选取、label构建、数据预处理方式等精进单一模型;
对同一数据集根据不同模型训练,堆叠多模型的输出;
对同一模型构建差异化数据集输入,堆叠多数据集的输出;
深度学习选股因子
通过构建6个不同的数据集,我们训练了6个深度学习指标,综合6个指标后的深度学习因子绩效良好。2017年以来多空年化收益100.8%,多头超额收益38.2%,因子周度IC均值12.7%,ICIR达到1.23。
基于深度学习模型的指数增强策略
1. 中证500指数增强组合2017年以来,组合年化收益15.4%,超额中证500指数17.1%,跟踪误差5.7%,信息比率2.84。
2. 中证1000指数增强组合2017年以来,组合年化收益19.4%,超额中证1000指数24.6%,跟踪误差5.7%,信息比率4.04。
1
低频因子模型的挑战
基本面因子是低频多因子模型的重要alpha来源,然而我们发现2021年开始业绩类因子普遍出现大规模的回撤。其中盈利、成长、预期调升类因子失效最为明显,多头回撤显著,这种现象在中证800指数成分股中更为强烈。
因此,我们相信长期而言业绩类因子终将回归,那么短期我们可以做些什么应对?
深入基本面:在基本面数据中挖掘仍未失效的alpha;
拥抱beta:在组合维度应用行业轮动、主动量化等策略;
量价+AI: 提高换手,运用机器学习、深度学习捕捉短期的量价信息;
2
深度学习模型与特征构建
基于多因子模型的框架,我们通常构建因子预测股票截面收益,进而通过组合优化得到股票持仓,在此机器学习/深度学习与传统框架契合。
传统选股因子来源于手工构建的基本面或者交易指标等,而机器学习/深度学习算法则能自动化搜索挖掘有效信号。区别于基本面特征更多的基于逻辑驱动,对于量价特征我们可以利用各类算法基于数据驱动挖掘增量信息。
金融数据具有明显的时序特征,深度学习模型中的RNN模型,在基于时序信息建模中表现出优异效果,RNN模型的基本结构如下:
输入:,T为序列长度,
,m为特征数,;
隐藏层:
输出层:
损失函数:
用loss
由于RNN面对长序列数据存在梯度消失等缺陷,因此在RNN基础上衍生出了LSTM、GRU等模型。本文以LSTM为例,探索深度学习模型对于股票时序数据中的alpha信息捕捉。
首先,以往我们在线性模型中的输入特征向量通常为因子截面
模型经过计算之后得到股票收益预测/因子得分f(x)。
此外,近年来transformer在自然语言学习等领域展现出良好表现,其核心在于注意力机制的引入。因此,在LSTM基础上,我们在隐藏层后设计了一个简易自注意力机制。
假设hidden
利用score作为最终的因子值,以上则为本文所设计的模型结构。
最后,具体训练模型时,考虑到模型输出信号的可交易性,我们以股票T+1至T+11的vwap价格计算的收益率为预测目标:
1. 模型每年滚动训练,在每年年初以股票过去8年的历史数据为数据集,按照时间先后,拆分后10%数据作为验证集,其余为训练集;
2. 我们假设在不同日期的股票样本是有差异的,即训练时每个batch的input为T日所有股票样本;
3. 预测目标label为股票收益率对行业、市值回归之后的残差zscore值;
4. 损失函数loss定义为pred与label之间的pearson correlation;
5. 采取early stop机制防止训练过拟合,验证集loss多次不下降时停止训练,返回验证效果最好的参数组合;
而对于模型绩效的提升,一般通过几个维度展开:
1. 通过调整超参数选取、label构建、数据预处理方式等精进单一模型;
2. 对同一数据集根据不同模型训练,堆叠多模型的输出;
3. 对同一模型构建差异化数据集输入,堆叠多数据集的输出;
本文将探索第三个维度,尝试构建不同数据集提取不同是alpha信息。我们基于端到端建模最常使用的是股票的日行情数据,日级别的价格和成交额、量等信息。
微观角度看,日行情特征集合是股票高频逐笔交易数据根据成交的价/量信息降频后衍生出的日频特征。按照这个思路,我们可以把特征工程建立在从高频数据中降频生成类似的特征集合。
日/周/分钟频率行情数据集合:价格的开、高、低、收、成交额/量等。
资金流特征集合:逐笔成交数据根据订单的金额大小拆分,衍生得到日频率资金流特征:特大、大、中、小单买入/卖出金额。
日内收益特征集合:日内数据按照30分钟窗口拆分,可以得到区间收益的开高低收分布:开盘收益率,早盘收益率、尾盘收益率、最高收益率、最低收益率、平均收益率。
由于训练具有随机性,不同随机数种子训练出的模型结果存在差异。分析表明,相同模型下堆叠不同随机数种子训练出的结果可以提升模型绩效。
但是,受限于算力限制,本文所有结果均在CPU上训练、推理,因此我们只展示根据单一随机数种子训练的结果。
因子检验时,我们计算T日因子对于T+1至T+6日vwap价格计算的收益的预测能力,即检验因子对于周度窗口的预测有效性,并展示因子20分组多头的扣费前超额收益。
3
深度学习选股因子
3.1 低频行情数据集
数据集:
股票日行情bar_daily
数据特征:
开盘价、最高价、最低价、收盘价、均价、5/10/20日均线、成交量、成交额;
数据预处理:
数据滚动30日窗口取数据构建数据集,数据序列长度为30;
价格数据先除以最新收盘价标准化,而后整体在面板上zscore;
成交量/额数据除以序列均值标准化,而后单独在面板上取zscore;
日线因子bar_daily
周线因子bar_weekly
3.2 日内行情数据集
数据集:
股票日内行bar_minutely、日内收益分布intra_return:
数据特征:
bar_minutely:开盘价、最高价、最低价、收盘价、均价、成交量、成交额;
intra_return:股票日开盘收益率、早盘30分钟收益率、日内最高收益率、日内最低收益率、尾盘30分钟收益率、日内平均收益率;
数据预处理:
30分钟K线滚动5日窗口取数据构建数据集,数据序列长度为40,价格和成交量数据特征标准化方式与3.1中一致;
intra_return数据集中6个收益率特征一起面板上zscore;
分钟线因子bar_minutely在2017年以来多空年化收益84.9%,多头超额收益28.3%,因子IC均值10.7%,IC周度胜率为88.2%,ICIR为1.13。
日内收益分布因子intra_return在2017年以来多空年化收益80.6%,多头超额收益25.6%,因子IC均值10.3%,IC周度胜率为86.7%,ICIR为1.10。
3.3 其他衍生数据集合
数据集:
资金流数据集合money_flow
数据特征:
money_flow:特大单、大单、中单、小单买入/卖出金额;
pv_factor:日收益率、开盘收益率、换手率、非流动冲击、振幅、3/5日收益率、3/5日波动率、日内波动率等11个日频特征;
数据预处理
将各类型金额除以当日成交总额标得到比例值;
数据滚动30日窗口取数据构建数据集,数据序列长度为30;
资金流数据集中8个资金流比例特征在面板上标准化;
衍生因子数据集中各个指标单独在面板标准化;
资金流因子money_flow
量价因子衍生数据集因子
3.4 综合因子nn_score
根据前文,我们根据6个不同数据集基于LSTM模型训练了6个因子。下图展示了这6个因子之间相关性的矩阵图。
整体而言,6个因子间存在较明显的截面相关性,基于量价信息衍生出的各数据集因子相关性均在50%左右,而资金流因子与其他因子相关性较低,平均相关性在30%以下。
通常我们会基于xgboost、lightgbm等树模型进一步拟合因子之间的非线性信息,得到综合打分。但考虑到我们目前因子数据较少,我们直接将6个因子等权线性相加,得到综合深度学习因子nn_score。
固定5天为预测窗口,分别计算T日因子在T+1至T+20日买入的绩效,因子选股能力随着滞后期增加而衰减,滞后期在10天附近因子ic衰减一半,在滞后20日后衰减至约25%水平。深度学习因子alpha的衰减速度并不快,也正因此随着预测窗口增加ic反而出现进一步提升。
4
基于深度学习模型的指数增强策略
基于综合因子
4.1 中证500指数增强
具体的,对于中证500指数,风险维度我们约束:
个股维度:个股权重偏离不超过0.8%;
行业偏离:中信一级行业权重偏离不超过2%;
风格偏离:SIZE、BTOP、GROWTH不超过0.3倍标准差;
成分股权重:指数成分股权重下限不低于80%;
中证500指数增强组合2017年以来,组合年化收益15.4%,超额中证500指数17.1%,跟踪误差5.7%,信息比率2.84,月度胜率为81.3%,年单边换手约10倍。
4.2 中证1000指数增强
同样的,对于中证1000指数,风险维度我们约束:
个股维度:个股权重偏离不超过0.5%;
行业偏离:中信一级行业权重偏离不超过2%;
风格偏离:SIZE、BTOP、GROWTH不超过0.2倍标准差;
成分股权重:指数成分股权重下限不低于80%;
中证1000指数增强组合2017年以来,组合年化收益19.4%,超额中证1000指数24.6%,跟踪误差5.7%,信息比率4.04,月度胜率为86.3%,年单边换手约10倍。
5
总结
基本面因子是低频多因子模型的重要alpha来源,然而我们发现2021年以来业绩类因子出现普遍性的大面积回撤。对此,我们曾经提出过三个维度的应对方案:深入基本面、拥抱beta以及量价+AI。
前两者基于逻辑驱动,依托于投资人对于财务、宏观风格的深入理解,我们曾做过深入覆盖。而量价+AI基于数据驱动,从模型层面捕捉市场短期的定价不充分,我们在本篇报告中展开初步探索。
金融数据具有显著的时序关联性,而深度学习中RNN类模型对于时序数据的建模表现最为亮眼。我们认为模型绩效的提升可以从三个维度入手:
1. 通过调整超参数选取、label构建、数据预处理方式等精进单一模型;
2. 对同一数据集根据不同模型训练,堆叠多模型的输出;
3. 对同一模型构建差异化数据集输入,堆叠多数据集的输出;
基于RNN类模型中的LSTM,我们以第三个维度为切入点,希望通过构建差异化的数据集作为模型输入,捕捉具有增量性的信息。
通过构建6个不同的数据集,我们训练了6个深度学习指标,综合6个指标后的深度学习因子绩效良好。2017年以来多空年化收益100.8%,多头超额收益38.2%,因子IC均值12.7%,ICIR达到1.23。
基于深度学习因子我们构建周度调仓的中证500/1000指数增强组合:
1.中证500指数增强组合2017年以来,组合年化收益15.4%,超额中证500指数17.1%,跟踪误差5.7%,信息比率2.84。
2.中证1000指数增强组合2017年以来,组合年化收益19.4%,超额中证1000指数24.6%,跟踪误差5.7%,信息比率4.04。
风险提示:结论基于历史数据统计和模型推演,存在失效风险。
本文节选自国盛证券研究所于2023年11月6日发布的报告《
缪铃凯 S0680521120003 [email protected]
刘富兵 S0680518030007 [email protected]
特别声明:《证券期货投资者适当性管理办法》于2017年7月1日起正式实施。通过微信形式制作的本资料仅面向国盛证券客户中的专业投资者。请勿对本资料进行任何形式的转发。若您非国盛证券客户中的专业投资者,为保证服务质量、控制投资风险,请取消关注,请勿订阅、接受或使用本资料中的任何信息。因本订阅号难以设置访问权限,若给您造成不便,烦请谅解!感谢您给予的理解和配合。
重要声明:本订阅号是国盛证券金融工程团队设立的。本订阅号不是国盛金融工程团队研究报告的发布平台。本订阅号所载的信息仅面向专业投资机构,仅供在新媒体背景下研究观点的及时交流。本订阅号所载的信息均摘编自国盛证券研究所已经发布的研究报告或者系对已发布报告的后续解读,若因对报告的摘编而产生歧义,应以报告发布当日的完整内容为准。本资料仅代表报告发布当日的判断,相关的分析意见及推测可在不发出通知的情形下做出更改,读者参考时还须及时跟踪后续最新的研究进展。
本资料不构成对具体证券在具体价位、具体时点、具体市场表现的判断或投资建议,不能够等同于指导具体投资的操作性意见,普通的个人投资者若使用本资料,有可能会因缺乏解读服务而对报告中的关键假设、评级、目标价等内容产生理解上的歧义,进而造成投资损失。因此个人投资者还须寻求专业投资顾问的指导。本资料仅供参考之用,接收人不应单纯依靠本资料的信息而取代自身的独立判断,应自主作出投资决策并自行承担投资风险。
版权所有,未经许可禁止转载或传播。
本篇文章来源于微信公众号: 留富兵法