基于成分股CNN图像识别构建风格轮动模型研究背景 CNN(ConvolutionalNeuralNetwork,卷积神经网络)是一种深度学习模型,它在图像识别、视频分析和自然语言 处理等领域中非常流行和有效。CNN模型通常包含以下几个关键组件:卷积层、激活函数、池化层、全连接层。CNN模型的训练过程通常包括前向传播和反向传播两个阶段。 CNN可以根据处理的数据维度分为1D(一维)和2D(二维)两种类型:1DCNN(一维卷积神经网络):主要用于处理时间序列数据,例如时间序列、音频信号或文本数据。2DCNN是最常见的CNN类型,主要用于处理具有二维结构的数据,如图像、视频帧或高分辨率地图。采用图像化方法来展现整个数据矩阵,可以增强统计模型识别复杂模式的能力。 本研究框架基于《(Re-)Imag(in)ingPriceTrends》一文,使用该论文中绘制股票价格图表的方法,即OHLC图+移动平均线+成交量柱状图,同时还借鉴了论文中的二分类标签分类方法:如果预测的收益率为正值,则图像标签为1;如果预测的收益率为负值或零,则图像标签为0。 基于卷积神经网络的全市场量化选股因子 本研究设计了一个基于卷积神经网络(CNN)的模型,用于预测滚动20天窗口股票价格的未来走势。模型利用两个 卷积层自动提取时间序列的复杂特征,每层后接最大池化层以降低特征维度。处理后的特征图被展平并送入全连接层,最终输出两个概率值,分别代表股票未来价格上涨和下跌的可能性。最终我们以股票上涨的概率作为因子进行选股。 我们定义“AI识别K线”因子为使用包含过去20日价量数据的改进后的OHLC图表来预测未来20个交易日收益情况的因子,并以20个交易日为周期进行调仓。从分位数组合表现上看,AI识别K线因子单调性较好。从IC测试表现来看,AI识别K线因子在全市场的RankIC均值为5.52%,效果较为显著。从因子分组净值表现上看,AI识别K线因子单调性较好,多头端和空头端均表现出色,年化超额收益率分别为5.36%和-12.14%。从因子多空净值表现上看,AI识别K线因子的多空净值在2021年后迎来大幅增长,多空组合年化收益率达到了18.94%,夏普比率为1.79,表现出色。 另外我们还对AI识别K线因子在沪深300、中证500、中证1000股票池中进行了因子测试。从IC测试表现来看,AI识别K线因子在沪深300、中证500、中证1000股票池中的RankIC均值分别为3.89%、3.96%、4.85%。由下面的图表我们可以发现,不论从RankIC均值还是因子单调性表现来说,AI识别K线因子在中证1000股票池中的表现远远好于沪深300和中证500股票池。 基于成分股CNN图像识别的风格轮动模型 本节将基于前文构建的AI识别K线因子,进一步构造基于风格指数成分股的CNN强信息因子,从个股的微观视角出发,探索其与风格指数的联动关系,旨在构建出更为精准且高效的风格轮动策略。我们设定了2018年1月9日至 2024年5月17日为回测时间段,每20个交易日进行调仓,且以各风格指数的等权持有组合作为我们的业绩比较基准。回测结果显示,策略超额净值实现了12.38%的年化收益率和0.89的夏普比率,同时最大回撤率控制在-6%左右,胜率为64.94%。根据模型最新一期信号,建议6月配置小盘成长指数,预期会相对基准组合取得超额收益。 风险提示 以上结果通过历史数据统计、建模和测算完成,历史规律不代表未来;在市场环境发生变化时,模型存在失效的风险;策略依据一定的假设通过历史数据回测得到,当交易成本或其它条件改变时,可能导致策略收益下降甚至出现亏损。 内容目录 一、基于成分股CNN图像识别构建风格轮动模型研究背景4 1.1CNN的发展历程4 1.2CNN的基本结构5 1.3CNN的应用6 1.4研究框架6 二、基于卷积神经网络的全市场量化选股因子6 2.1绘制股票价格图像6 2.2CNN模型架构设计7 2.3训练CNN模型8 2.4实证分析:基于卷积神经网络的全市场量化选股因子9 三、基于成分股CNN图像识别的风格轮动模型11 3.1构造基于风格指数成分股的CNN强信息因子11 3.2实证分析:基于成分股CNN图像识别的风格轮动模型12 四、总结14 参考文献14 风险提示14 图表目录 图表1:LeNet-5网络结构图4 图表2:AlexNet结构图5 图表3:卷积层互相关运算示意图5 图表4:池化层示意图5 图表5:池化层计算示意图5 图表6:带有移动平均线和成交量柱状图的20天窗口OHLC示意图7 图表7:CNN模型架构8 图表8:CNN模型细节8 图表9:基于卷积神经网络的AI识别K线因子基础参数9 图表10:AI识别K线因子分位数年化超额收益9 图表11:AI识别K线因子IC测试表现9 图表12:AI识别K线因子分组净值表现10 图表13:AI识别K线因子多空净值表现10 图表14:沪深300AI识别K线因子分位数年化超额收益10 图表15:沪深300AI识别K线因子IC测试表现10 图表16:中证500AI识别K线因子分位数年化超额收益10 图表17:中证500AI识别K线因子IC测试表现10 图表18:中证1000AI识别K线因子分位数年化超额收益11 图表19:中证1000AI识别K线因子IC测试表现11 图表20:AI识别K线因子与其他大类因子的相关性11 图表21:全市场AI识别K线因子年化超额收益率分档表现12 图表22:基于成分股CNN图像识别的风格轮动模型基础参数13 图表23:各风格指数历史净值表现13 图表24:各风格指数CNN强信息因子组合所占截面成分股总数比重13 图表25:基于成分股CNN图像识别的风格轮动模型净值表现13 图表26:基于成分股CNN图像识别的风格轮动模型收益表现13 图表27:模型历史信号14 一、基于成分股CNN图像识别构建风格轮动模型研究背景 在先前的研究中,我们深入挖掘了机器学习在选股和资产配置领域的应用潜力,具体可以参考国金证券金融工程组的《Alpha掘金系列之九:基于多目标、多模型的机器学习指数增强策略》、《Alpha掘金系列之十:机器学习全流程重构——细节对比与测试》、 《BETA猎手系列之九:人工智能全球大类资产配置模型》等研究报告。 本研究进一步拓展了这一领域的边界,我们采用了卷积神经网络(CNN)模型,对股票价格走势图进行更为深入和细致的图像识别分析。我们致力于利用CNN在图像识别领域的卓越能力,以期超越传统的人工技术分析方法,对风格指数成分股的价格走势进行精准的图像识别,进而实现对市场风格变化的准确预测。 1.1CNN的发展历程 CNN(ConvolutionalNeuralNetwork,卷积神经网络)是一种深度学习模型,它在图像识别、视频分析和自然语言处理等领域中非常流行和有效。 早期发展:在20世纪40年代至80年代,WarrenSturgisMcCulloch和WalterPitts奠定了人工神经网络的数学基础,为神经网络的发展铺平了道路。FrankRosenblatt发明了感知机,这是神经网络研究的起点。DavidHubel和TorstenWiesel通过对视觉皮层的研究,为卷积神经网络的构建提供了生物学基础。 卷积神经网络的诞生:在20世纪80年代至90年代,日本学者福岛邦彦开创性地提出了"新认知机"这一概念,它标志着早期卷积神经网络模型的诞生。这种模型能够高效地处理视觉信息,并成功识别出基本的图形和形状。与此同时,YannLeCun的贡献同样不容忽视,他提出的LeNet-5模型,专为手写数字识别而设计,成为了现代卷积神经网络 (CNNs)的奠基之作。LeNet-5模型巧妙地融合了卷积层、池化层和全连接层,这一结构不仅在当时引领了技术潮流,更为今日深度学习领域的蓬勃发展奠定了坚实的基础。 图表1:LeNet-5网络结构图 来源:《Gradient-BasedLearningAppliedtoDocumentRecognition》,国金证券研究所 深度学习和CNNs的兴起:在21世纪初,GeoffreyHinton与他的同事们提出了深度置信网络和无监督特征学习的理论,为深度学习的进步奠定了关键基础。随后,AlexKrizhevsky等人设计的AlexNet模型,在ImageNet竞赛中取得了革命性的成功,不仅刷新了图像识别的记录,也点燃了深度学习在视觉计算领域的广泛兴趣和应用。 CNNs的快速发展:自2010年以来,深度学习领域迎来了一系列创新突破。牛津大学的KarenSimonyan和AndrewZisserman推出了VGGNet,凭借其深层网络结构显著提升了图像识别的准确度。Google的研究团队带来了GoogLeNet,引入Inception模块,实现了多尺度并行卷积,进一步优化了网络性能。微软的研究人员开发了ResNet,通过残差 连接技术,使得训练极深网络成为现实。而RossGirshick等人提出的FasterR-CNN,结合区域建议网络与CNN,为高效精准的目标检测树立了新的标杆。 图表2:AlexNet结构图 来源:《ImageNetClassificationwithDeepConvolutionalNeuralNetworks》,国金证券研究所 1.2CNN的基本结构 CNN模型通常包含以下几个关键组件:卷积层(ConvolutionalLayer)、池化层 (PoolingLayer)、激活函数(ActivationFunction)、全连接层(FullyConnectedLayer)。 卷积层:通过滤波器来提取输入数据的局部特征。这是CNN的核心,通过滤波器来提取输入数据的局部特征。滤波器在输入数据上滑动,计算局部区域的加权和,生成特征图。严格来说,卷积层是个错误的叫法,因为它所表达的运算其实是互相关运算,而不是卷积运算。 图表3:卷积层互相关运算示意图 来源:《动手学深度学习》,国金证券研究所 池化层:用于降低特征图的空间尺寸,减少参数数量和计算量,同时使特征检测更加鲁棒。常见的池化操作有最大池化(MaxPooling)和平均池化(AveragePooling)。 图表4:池化层示意图图表5:池化层计算示意图 来源:《动手学深度学习》,国金证券研究所来源:《动手学深度学习》,国金证券研究所 激活函数:帮助引入非线性,使得网络能够学习和模拟复杂的函数映射。 全连接层:在多个卷积和池化层之后,全连接层将特征图转换成最终的输出,如分类标签。 CNN模型的训练是一个迭代的优化过程,它通过前向传播和反向传播两个阶段来实现。在前向传播阶段,输入数据在网络中向前流动,每一层对数据进行处理,提取特征,并生成预测结果。随后,在反向传播阶段,从输出层开始,反向传播损失函数的梯度。这个过程是逐层进行的,从输出层开始,逆向通过每一层,直到输入层。在每一层,损失函数的梯度被用来计算该层权重的梯度。这些梯度指导着网络中的权重和偏置进行调整,目的是逐步减少预测误差,提高模型的泛化能力。这个过程不断重复,直到模型达到预定的准确度或训练达到一定的迭代次数,确保模型在新的、未见过的数据上也能做出准确的预测。 1.3CNN的应用 CNN模型,以其对数据维度的适应性,分为1D(一维)和2D(二维)两种主要类型,各自针对不同的数据处理需求: 1DCNN(一维卷积神经网络):这种网络专为处理线性序列数据而设计,广泛应用于音频分析、时间序列预测以及文本数据的处理。1DCNN通过在数据的单一维度上应用卷积操作,有效地捕捉了数据在时间或序列上的局部特征和长期依赖关系。 2DCNN:这种类型是处理图像、视频帧或地理信息等二维数据的主力军。2DCNN通过在数据的两个空间维度上执行卷积,能够识别和理解图像中的局部特征,如边缘、纹理等,并能够组合这些局部特征以识别更复杂的模式和对象。 我们进一步认为,将数据图像化不仅是一种展示手段