蛋白资产配置平台致力于为投资者提供全面,高效,便捷的量化投资工具。基于此,我们开发了与主流投资模型相契合的功能模块。投资者只需要输入必要参数,相关模块就可以自动完成数据获取,特征和标签的提取与处理,样本内训练,样本外回测和模型评价的一整套策略流程。我们利用蛋白资产配置平台对
华泰证券
图神经网络
选股策略进行了复现,并通过调整训练方法使
沪深300组
合取得了更好的表现。
Part 2
图神经网络(GNN)由
图信号理论
和
谱域图卷积
发展而来,其思想是对样本间关系进行显式或隐式建图,每个节点对应一条样本,再将邻居节点的特征聚合到中心节点,以更新节点特征。GNN的优势在于能将股票间的复杂关联,如产业链上下游关系、相关行业主题等作为增量信息纳入预测模型。目前蛋白资产配置平台已实现多层动态图注意力网络(GATs_ts)。
我们使用平台取数模块获取沪深300成分股数据,基于自身Alpha158vwap量价因子库,采用LSTM(长短期记忆网络)和GATs_ts模型对沪深300成分股进行日收益率和月收益率预测,使用TopkDropout策略构建日频和月频调仓投资组合,并利用回测模块对组合表现进行滚动回测。
我们在模型参数配置,数据处理,特征提取,训练验证集划分,训练回测流程设计,交易策略,模型分析评价上与华泰研报保持一致。不过考虑到使用成交量加权平均价的时滞性,我们将标签定义为t+2日前复权收盘价相对于
t+1日前复权收盘价
的涨跌幅。
在模型单因子测试和策略组合表现上,我们得到的结论是LSTM优于GAT_ts。此外,我们得到的策略组合在年化收益和夏普比率上的表现均优于华泰研报。
Part 3
图神经网络
蛋白资产配置平台
图神经网络模型(GATModel)
的设计与华泰研报中展示的Qlib设计保持一致。类似地,我们也实现了K层GATs_ts模型,即考虑K跳邻居的关系嵌入,用来检验更远的节点特征能否提供额外的信息。例如K=2相当于对节点进行两跳的邻居聚合,即将邻居以及邻居的邻居聚合给自身。
通过定义图注意力层
GATlayer类
,再在GATModel中通过循环堆叠num_layers_gat层即可得到多跳邻居的特征聚合。整个前向传播过程分为三步:rnn循环神经网络、多层GAT和fc全连接。相较于华泰策略,我们补充了GATModel中对特征的非线性变换以及GATlayer类在进行RNN的前向传播前对特征的格式转换,以实现多跳邻居聚合。用户在工作脚本中加入 num _layers _gat(等价于层数K)的参数定义即可使用多跳邻居的训练。模型参数设置与华泰研报保持一致;输入方法如图所示:
Part 4
我们使用蛋白资产配置平台对动态图注意力网络模型GATs_ts进行选股回测,除以下不同外,其余设置皆与华泰研报保持一致。
-
数据获取:
利用蛋白资产配置平台取数模块获取A股行情数据(开盘价,收盘价,最高价,最低价,成交量,成交额)。
-
特征提取:
使用蛋白资产配置平台内置的因子库-Alpha158vwap中基于开盘价,收盘价,最高价,最低价, 成交量和成交量加权平均价计算的158个因子特征。具体计算方法与华泰研报使用的Qlib-Alpha158vwap因子库保持一致。
-
标签提取:
将标签定义为t+2日前复权收盘价相对于t+1日前复权收盘价的涨跌幅,相当于t日收盘后发信号,t+1日以收盘价开仓,t+2日以收盘价平仓。华泰研报选取成交量加权平均价的涨跌幅作为标签,是量化策略常见的做法。考虑到该方法有一定的滞后性,我们选择了收盘价作为每日成交价,即于每日收盘集合竞价阶段成交。
-
特征预处理:
使用蛋白资产配置平台内置的数据处理模块。具体处理方法与华泰研报使用的Qlib处理方法保持一致。用户只需要在工作脚本输入所需的处理方法的名称即可:
5.
样本内训练:
使用蛋白资产配置平台模型模块的GATs类训练。
6.
样本外回测:
使用蛋白资产配置平台回测模块进行滚动回测。回测模块目前支持TopkDropout策略,即每日持有topk=50只股票,卖出持仓股票中最新预测收益最低的n_drop=5只股票,买入未持仓股票中最新预测收益最高的n_drop=5只股票。用户只需要在工作脚本输入相关回测参数即可:
Part 5
单因子测试
1.
IC值分析法
如果将模型的输出即预测收益率视为单因子,则可以对单因子向量与真实收益率向量进行IC值分析,得到模型在各年度IC均值、Rank IC均值、ICIR和Rank ICIR,衡量因子的有效性。预测模型包括1、2、3层GATs_ts以及基准模型LSTM。
测试结果:基准模型LSTM在回测期间的Rank IC均值和Rank ICIR分别为0.089和1.264, Rank IC值大于0的交易日占比为89.4%。对于GATs_ts模型,当图注意力层数为一层(即K=1)时,2010~2021年的Rank IC均值和Rank ICIR分别为0.076和1.051,Rank IC值大于0的交易日占比为85.5%。当图注意力层数为两层(即K=2)时,2010~2021年的Rank IC均值和Rank ICIR分别为0.077和1.063,Rank IC值大于0的交易日占比为85.9%。当图注意力层数为三层(即K=3)时,2010~2021年的Rank IC均值和Rank ICIR分别为0.076和1.033,Rank IC值大于0的交易日占比为84%。
总的来看,LSTM模型的IC测试结果优于GATs_ts模型,两层GATs_ts模型优于其它层数(K=1或3)。此外,我们还测试了月频GATs_ts(K=2) 模型。其在回测期间的Rank IC均值和Rank ICIR分别为0.021和0.156,Rank IC值大于0的交易月份占比为52.34%。因此,图神经网络策略更适合使用日频调仓。
分年度和完整回测区间的汇总结果如下:
不同预测模型输出值单因子IC测试结果(回测期间2010-01-04至2021-01-29):
日频LSTM模型:
LSTM模型IC和RankIC日频序列值:
日频GATs_ts(K=1)模型:
GATs_ts(K=1) IC和RankIC日频序列值:
日频GATs_ts(K=2)模型:
GATs_ts(K=2) IC和RankIC日频序列值:
日频GATs_ts(K=3)模型:
GATs_ts(K=3) IC和RankIC日频序列值:
统计因子在各月上的表现,得到Rank IC月度均值,如下表所示。可以看到,各模型月度Rank IC大多在0.03到0.13之间震荡。2017年以后各模型月度Rank IC略有下降,波动性有所增大。这可能说明随着交易拥挤或者市场环境的变化,量价因子预测能力有所减弱。
不同预测模型日频数据月度IC均值:
LSTM:
GATs_ts(K=1):
GATs_ts(K=2):
GATs_ts(K=3):
月频GATs_ts(K=2):
GATs_ts(K=2) IC和RankIC月频序列值:
如上图所示。可以看到,月频GATs_ts(K=2)模型的Rank IC大部分都在-0.2到0.2之间震荡。2017年以后,Rank IC波动有所增大,预测能力略为减弱。整体而言,月频因子预测能力不如日频因子。
2. 单
因子分层回测法
依照因子值对股票进行打分,构建投资组合回测,是最直观的衡量指标优劣的手段。将模型对股票收益率的预测值视作单因子, 因子值为空的股票不参与分层。将因子值由大到小排序,前20%为组合1,后20%为组合5,另有组合long-short为买入组合1、卖空组合5,组合long-average为买入组合1、卖空平均组合,这里的平均是指取每个交易日中所有股票的平均收益率。比如计算组合1时,首先将因子值降序排列,然后对每个交易日中前20%的股票收益率取均值作为该日的收益率,相当于等值购买前20%的股票。
不同预测模型分层组合回测收益与指标分析(使用此功能时必须使用原始收益率作为标签):
日频LSTM模型:
日频GATs_ts(K=1)模型:
日频GATs_ts(K=2)模型:
日频GATs_ts(K=3)模型:
比较各预测模型单因子分层回测表现。LSTM,GATs_ts(K=1),(K=2),(K=3)的多头组合Group1的的年化收益率和年化超额收益率分别为70.6%和42.7%,63.2%和38%,64.5%和39.0%,62.9%和37.9%。多空组合long-short年化收益率和年化超额收益率分别为129.6%和101.7%,108.6%和83.3%,108.6%和83.2%,107.1%和82.1%。LSTM在收益能力上明显胜出。两层GATs_ts略优于其它层数(K=1或3)的GATs_ts模型。这与先前得到的单因子测试结果一致。
月频GATs_ts(K=2)模型:
如上图所示,月频GATs_ts(K=2)多头组合Group1,2,3,4,5的年化超额收益率分别为43.5%,18.2%,1.6%,-15.2%和-40.2%,多空组合long-short和long_average年化收益率分别为83.6%和43.5%。这再次说明图神经网络策略更适合使用日频调仓。
Part 6
策略组合回测分析
不同模型日频TopkDropout策略各年度回测指标(回测期2010-01-04至2021-01-29):
策略回测结果如上表所示。LSTM,一层,两层,三层GATs_ts模型在回测期间的年化超额收益率(含交易费用)分别为39.4%,38.9%,38.6%和35.6%;夏普比率分别为5.888,5.772,5.640和5.42,信息比率分别为1.613,1.59,1.584,和1.462。总的来说,LSTM优于两层GATs_ts,也优于一层和三层GATs_ts模型。相比于华泰研报中最佳组合的年化超额收益率28.89%和夏普比率1.42,我们构建的组合表现亮眼。这说明对于沪深300成分股,使用收盘价作为成交价是比使用成交量加权平均价更好的选择。另一方面,这可能也反映出在A股市场,集中于尾盘成交是一个被普遍使用的策略。
与华泰研报不同,我们在单因子IC值分析,分层回测和组合策略回测上得到了一致的结果,即LSTM模型略优于GATs_ts模型。这可能是由于股票市场数据的信噪比普遍较低,GATs_ts模型在进行多跳聚合时,虽然获取了股票间相互作用的关系,但同时也吸收了太多噪音,导致其预测能力不如单纯学习股票时间序列特征的LSTM模型。
从分年度表现来看,各类型策略的超额收益表现出明显的衰减。我们与华泰观点一致,认为这和模型使用的因子有关。Alpha158vwap因子库包含158个量价因子,这些因子是原始量价数据由基础运算符相连接得到的因子表达式。若传统量价出现拥挤,或者因为市场环境变化量价因子整体失效,那么GATs_ts模型也不可避免出现滑坡。GATs_ts只能解决因子合成的问题,无法解决因子失效问题。持续挖掘新Alpha因子仍是提升 Alpha策略表现的最好途径之一。
下图分别展示四个模型在回测期间的收益净值,超额收益净值,最大回撤和换手率。LSTM的收益最大回撤发生在2019-02-11到2019-05-11,回撤幅度为-8.2%,两层GATs_ts收益最大回撤发生在2017-09-20到2017-12-29,回撤幅度为-6.1%。GATs_ts控制风险能力略好于LSTM。这可能是由于GATs_ts训练时考虑了股票间的相关性,在资产配置上较LSTM更加分散,降低了非系统性风险。
日频LSTM: 日频GATs_ts(K=1):
日频GATs_ts(K=2): 日频GATs_ts(K=3):
补充:月频GATs_ts(K=2)TopkDropout策略各年度回测指标
蛋白资产配置平台致力于为投资者提供全面,高效,便捷的量化投资工具。基于此,我们开发了与主流投资模型相契合的功能模块。投资者只需要输入必要参数,相关模块就可以自动完成数据获取,特征和标签的提取与处理,样本内训练,样本外回测和模型评价的一整套策略流程。我们利用蛋白资产配置平台对华泰证券图神经网络选股策略进行了复现,并通过调整训练方法使沪深300组合取得了更好的表现。Part 2研究导读图神经网络(GNN)由图信号理论和谱域图卷积发展而来,其思想是对样本间关系进行显式或隐式建图,每个节点对应一条样本,再将邻居节点
该项目探索了使用监督式机器学习模型以基本面和技术分析数据作为输入可以预测未来股票价格的程度。
该项目旨在确定哪种监督机器学习模型,从时间序列多线性回归
(TS-MLR)、循环
神经网络
(RNN)
到长短期记忆
(LSTM),可以以最低的根预测未来股票价格均方误差
(RMSE)。
在这样做的过程中,我们进行了降维和特征选择,深入了解了对预测未来股票价格特别重要的基本面和技术分析数据的类别。
这种洞察力可以整合到
选股
策略
中,并为买卖股票的理想时机提供基准。
列为表现最佳的机器学习模型,预测未来一个月收盘价的平均
8.03,预测未来六个月收盘价的平均
13.45。
投资股票市场往往是最不稳定的投资类型。
因此,我们的项目探索了最小化此类波动的方法之一——分析公司数据以发现股票价格变化的可能趋势。
在此过程中,我们的项目希望这些趋势能够帮助提高投资者的确定性。
理想情况下,最好(最小
RMSE)模型将允许投资者从投资中获利并“击败市场”。
我们项目的意义有两个方面。
首先,它提供了对影响股票价格的
(一)建立模型
读取10天的数据进行归一化处理变成[-1,1]区间的特征数据,中间经过4个全连接的
神经网络
层得到一个预测的开盘价输出,最后根据真实开盘价与预测开盘价的梯度更新权重。
(二)数据准备
Tushare是一个基于python的、免费的、开源的财经数据接口包。本文的金融数据来源将使用Tushare的API。所采用的训练集股票数据来自上证50指数,股票代码是从6000...
卷积
神经网络
项目是我在华泰实习的过程中做的一个项目,主要是用卷积
神经网络
来预测股票的走势,现在对项目做一个总结。
报告详情:
【华泰金工林晓明团队】人工智能
选股
之卷积
神经网络
——华泰人工智能系列之十五
测试流程包含如下步骤:
数据获取:
a)股票池:全A股。剔除ST股票,剔除每个截面期下一交易日停牌的股票,剔除上市3个月内的股票,每只股票视作一个样本。
b)回测区间:2011年1月31日至201...
本篇文章介绍了华泰金工基于图
神经网络
(Graph Neural Network,简称GNN)和QLib
平台
实现的
选股
策略
研究。文章首先介绍了GNN的基本概念和原理,特别是GNN的适用场景和优势,即可以处理复杂非线性的关系和模式,可以结合节点嵌入和属性特征进行深度学习和预测。然后文章介绍了股票市场中的投资
策略
和指标,如技术指标和基本面指标,以及如何用GNN建模和优化。
接下来,文章详细介绍了QLib
平台
的特点和功能,以及如何将GNN和QLib结合起来进行
选股
实战。文章描述了一系列的实验和结果,例如基于GNN的节点分类和链接预测模型,以及基于QLib的数据处理和回测模块。文章指出,GNN可以
有效
地捕捉股票市场中不同股票之间的关联和影响,能够提高
选股
的准确率和收益率,但也需要合理的数据和参数调整来避免过拟合和欠拟合问题。
总的来说,本篇文章介绍了一种新的
选股
策略
,即基于GNN和QLib的深度学习和回测框架。这种
策略
有一定的理论基础和实践经验,并具有一定的创新性和应用价值。然而,这种
策略
也面临着一系列的挑战和限制,例如数据稀疏性、模型复杂度、交易成本等问题。因此,这种
策略
需要进一步的研究和改进,才能够在实际股票投资中得到更好的效果和表现。
Prompt-Tuning、Instruction-Tuning、prefix tuning的区别;Instruction-Tuning(指令调优),和Prefix-Tuning(前缀调优)相关的例子
RRRRRR__RRR:
知识图谱构建全流程
春夏秋冬又一年:
论文阅读-自指导self instruct:将语言模型与自生成的指令相结合
CSDN-Ada助手:
LLM探索:GPT类模型的几个常用参数 Top-k, Top-p, Temperature
CSDN-Ada助手: