1. 引言
金融时间序列预测研究历经了从传统计量模型、机器学习到深度学习的演进。中国A股市场受T + 1交易机制、涨跌停限制及散户主导等因素影响,呈现出高噪声、厚尾分布和政策扰动显著的特征。这些特性使得基于线性假设的传统ARIMA-GARCH类模型难以有效捕捉市场中的跳空缺口与突发性政策冲击。在此背景下,机器学习凭借其强大的非线性建模能力、海量数据处理潜力以及在金融预测、算法交易、风险管理和投资组合优化等领域的广泛应用前景,吸引了研究者的广泛关注。作为金融科技革新的重要驱动力,深度学习为金融领域提供了众多创新工具与方法。股票市场作为“宏观经济的晴雨表”,其预测不仅关乎金融行业,也间接影响社会经济生活。
在众多深度学习方法中,循环神经网络(RNN)因其对时序依赖性的建模能力而被广泛用于金融序列分析。然而,标准RNN面对长序列时易受梯度消失或爆炸问题困扰[1]。Hochreiter S [2]在RNN的基础上提出了LSTM神经网络,LSTM神经网络通过设置遗忘门机制,有效地解决了RNN出现的梯度消失和梯度爆炸问题。耿晶晶[3]等人将CNN-LSTM模型与BPNN模型、SVR模型、LSTM模型分别进行股票价格预测对比,结果表明CNN-LSTM模型在股票价格预测领域更加具有参考价值。注意力机制通过动态生成注意力权重分布,使模型能够自适应地评估输入信息中不同元素对于当前任务的相关性权重,从而实现对关键特征的聚焦。这种基于注意力权重的特征选择机制,能够有效提升模型对重要信息的表征能力,进而优化神经网络的整体性能表现。林杰等[4]针对时间序列动态不稳定和长期依赖特性,构建的基于注意力机制的LSTM股价预测模型,对于股价的预测效果比无注意力机制的LSTM股价预测效果更好。
为更精准地捕捉A股市场的复杂动态,本文提出一种融合卷积神经网络(CNN)、LSTM与注意力机制(Attention)的新型预测模型(CNN-LSTM-Attention)。该模型旨在结合CNN的局部特征提取能力、LSTM的长时记忆能力以及注意力机制的关键信息聚焦优势。本文选取2016年7月1日至2025年7月1日中国A股市场的股票收盘价数据进行实证分析,并将所提模型与传统机器学习基准模型进行对比。实证结果表明,该融合模型在预测精度上取得了显著提升。不仅如此本次研究还将模型落地为网页端,可直接访问网页进行简单的操作便可使用该模型。
2. 模型介绍
2.1. LSTM模型
LSTM网络是在递归神经网络(RNN)的拓扑结构上进行改进得来的[5]。作为RNN的变体,LSTM模型通过引入可控自循环,有效解决了RNN因网络层数增多和时间流逝而带来的梯度消失问题,其巧妙的设计结构,特别适合处理延迟和时序间隔较长的任务。LSTM神经网络结构不同于其他深度学习算法之处在于其特殊的神经元细胞状态,可在长期状态下学习需要记录和遗忘的序列数据信息。细胞单元内部由遗忘门、输入门和输出门三大门限单元构成[6]。整体结构如图1所示。
Figure 1. Overall structure of the LSTM network
图1. LSTM网络的整体结构
在遗忘门中,当前输入
与上一时刻的状态记忆单元
以及中间输出
共同决定了状态记忆单元中被遗忘的部分。输入门中的
分别通过sigmoid和tanh函数变化后共同决定状态记忆单元中保留向量。中间输出
由更新后的状态记忆单元
和输出门
共同确定。具体公式如下:
遗忘门:
输入门:
输入节点:
输出门:
状态单元的状态:
中间输出:
其中,W和b分别为三个门权重矩阵与偏置项,通过训练得到;
表示向量中元素按位相乘;
表示sigmoid函数变化;
表示tanh函数变化[7]。
2.2. CNN模型
卷积神经网络(CNN模型)是用于特征提取表达的 深度学习模型,可实现从输入到输出的功能映射。CNN由输入层(Input)、卷积层(Convolution Layers)、池化层(Pooling)、扁平化全连接层(Flattening)和输出层(Output)组成。卷积层通过权值共享的卷积核与输入数据对应的感受野区域进行卷积计算,从而提取输入特征。卷积的计算公式为:
其中,规定输入层为第l − 1层,
用于表示输入层第s个特征,输出层为第l层,
用于表示输出层第j个特征,
用于表示卷积核的元素,
为偏置项,
为激活函数[8]。
卷积层接受输入的数据并将数据提取特征值,采取池化操作将抽象卷积层输出的特征信息全连接层得到的输出与标签作对比,不断迭代更新权值,从而实现反向传播。本文选取CNN模型的卷积层和池化层,保留了模型特征提取和信息抽象的功能,提取数据中含有因子间强相关的特征,为后续预测做准备。
2.3. 注意力机制
注意力机制通过动态分配权重聚焦关键时序特征,有效解决了长序列中信息稀释的问题。其核心思想是让模型在每一时间步自动学习输入序列不同位置的关注强度,从而增强重要特征的贡献度。在LSTM层输出的时序特征基础上,Attention机制的计算分为三步分别为评分函数,权重分配,上下文向量。
2.4. CNN-LSTM-Attention模型
本文将CNN,注意力机制与LSTM进行融合构建CNN-LSTM-Attention深度学习预测模型先利用CNN模型的卷积层(Convolution Layer)、池化层(Pooling Layer)对输入数据提取特征、抽象信息得到特征数据,再经由Flattening层后输入到LSTM模型进行关联预测,最后接入全连接层(Full Connection Layer)得到模型的预测值。卷积和池化操作降低了输入数据的复杂性,可有效处理异常值数据,防止过拟合。接入LSTM层,利用LSTM的遗忘门与输入门可对关联数据信息进行有效的筛选与更新,更好地预测关联数据,最后引入多头注意力机制对LSTM输出的隐藏状态进行自适应加权,通过计算自注意力权重矩阵聚焦关键时间步的特征表示,生成具有判别性的上下文向量更好的提高本模型的性能。其流程图如图2所示。
Figure 2. CNN-LSTM-Attention model flowchart
图2. CNN-LSTM-Attention模型流程图
3. 实证分析
首先利用akshare接口,通过python脚本自动获取数据并存储为csv格式。其次进行数据预处理包括数据清洗,缺失值填充,指标体系构建并进行可视化展示,然后构建lstm模型以及cnn-lstm-attention模型并对其性能进行对比以及前段的构建。
3.1. 数据收集及可视化
数据收集是实证分析的第一步。通过编写Python脚本,利用akshare库从指定的接口自动获取指京粮控股(000505)的价格数据。数据包括该股票从2016年7月1日到2025年7月1日间的开盘日的开盘价、收盘价、最高价、最低价、成交量、成交额等数据。数据收集后,使用pandas库进行数据清洗和预处理,包括去除无效数据、填充缺失值、转换数据类型以及将时间戳转换为日期格式等,并对收盘价进行可视化如图3所示。由图可知该股票价格在2016年7月1日至2025年7月1日总体不平稳经历过多次涨跌。
Figure 3. Stock closing price chart
图3. 股票收盘价格图
3.2. LSTM模型构建
本研究将LSTM模型作为基准模型在原有的数据集上划分训练集和测试集,测试集占原有数据的20%,且对收盘价进行单独的归一化防止信息泄露在后续实验中造成过拟合。本文初始学习率设置为0.001且采用网格搜索,早停机制以及Adam优化器,防止过拟合以及寻找到最佳参数。最终该模型MSE为0.000408,
为0.86。
3.3. CNN-LSTM-Attention模型
为进一步提升预测性能,本研究提出融合CNN、LSTM和注意力机制的混合模型。该模型采用层次化架构设计,首先通过一维卷积层提取局部时序特征,设置卷积核数量在32~128之间动态调整,配合ReLU激活函数捕捉收盘价序列中的短期波动模式。随后使用步长为的最大池化层进行特征降维,在保留关键信息的同时增强模型抗噪能力。经过卷积处理的特征输入到LSTM层进行时序建模,其中LSTM单元数利用网格搜索调优,并设置return_sequences = True以保留完整的时间步输出。
模型创新性地引入注意力机制层,通过Dense层配合softmax激活函数生成各时间步的注意力权重,再与LSTM输出进行逐元素相乘实现特征加权。这种设计使得模型能够自适应地聚焦于重要时间节点,如财报发布、政策调整等关键事件窗口。采用Tuner工具进行超参数优化,通过多轮随机搜索确定最佳参数组合,最终选定64个卷积核和96个LSTM单元的最优配置。实验结果显示,CNN-LSTM-Attention模型在测试集上的MSE降至0.000331,R2提升至0.92,显著优于基础LSTM模型。最后通过逐步剔除CNN或Attention的消融实验得出结果如表1所示。
根据表1可知,CNN模型的加入为仅有LSTM模型的R2提高了0.04,attention的加入也为LSTM模型提高了0.04。综合下来CNN-LSTM-Attention模型性能优于LSTM模型。R2高达0.92且MSE低于LSTM模型。
Table 1. Melting experiment results
表1. 消融实验结果
模型名称 |
MSE |
|
CNN-LSTM-Attention |
0.000331 |
0.9200 |
LSTM-Attention |
0.000385 |
0.9000 |
CNN-LSTM |
0.000412 |
0.8984 |
3.4. 模型预测
Figure 4. Stock closing price forecast chart
图4. 股票的收盘价预测图
本研究将该模型保存为best-model.pk以及权重为scaler-close.pkl后利用该模型对京粮控股(000505)和平安银行(000001)股票进行预测其结果如图4所示。
3.5. 系统设计与部署
本研究基于Gradio框架开发了一套面向金融领域的智能化股票价格预测系统,该框架的创新性应用彻底改变了传统机器学习模型部署的复杂流程。如图5所示的系统架构图清晰展现了从数据输入到结果输出的完整技术路线,其中Gradio的核心价值体现在其革命性的快速开发能力和极简部署方案上。相较于需要专业前端开发团队参与的Flask或Django等传统框架,Gradio的自动化组件仅需数十行代码就能构建出功能完备的交互界面。在系统设计方面,本文充分利用了Gradio的多模态输入输出特性,构建了高度智能化的用户交互体验。
Figure 5. System architecture diagram
图5. 系统总架构图
系统前端采用响应式布局设计,适配各类终端设备,用户界面如图6所示,其核心交互流程经过精心优化:投资者只需在醒目的输入框内输入目标股票代码(支持沪深A股),点击智能预测按钮后,系统将在毫秒级时间内完成从数据获取到结果展示的全流程处理。
系统的核心技术优势体现在其强大的实时计算能力上。基于Gradio的高效异步处理机制,系统能够并行处理多个预测请求,平均响应时间控制在500毫秒以内。
Figure 6. System interface diagram
图6. 系统界面图
在部署运维方面,该系统充分展现了Gradio的独特优势。通过简单的API调用即可启动高性能的嵌入式Web服务器,自动生成可全球访问的HTTPS安全链接。系统支持多种访问控制策略,包括密码保护、IP白名单等功能,确保商业应用的隐私性和安全性。此外,Gradio的版本管理功能使得模型迭代更新过程完全无缝,研究人员可以随时部署新模型而不会中断现有服务。
4. 总结
本文将构建的CNN-LSTM-Attention模型预测方法用于京粮控股(000505)进行股价预测,并与LSTM、LSTM-Attention、CNN-LSTM三个模型进行对比,结果表示本文构建的CNN-LSTM-Attention模型性能优于其他模型,其
能够达到0.92,高于其他模型。在此基础上,本文保存该模型且利用Gradio框架构建了股票预测系统并将其部署在网络上。最后将多支股票(如平安银行,万科A等)的股票价格预测中该模型均表现出良好的性能。由于网络的迅速发展,舆论对股票市场的影响越来越大,本研究暂未考虑该方面的外部影响因素,如投资者情绪数据、国家战略政策调整等,后续将继续研究试验更好的模型、算法等使得可以考虑到更多的影响因素并对其进行深入、详细的剖析,进一步增强模型的预测准确、抗噪、泛华能力,使得模型性能得到提升。此外,本研究主设备仅在一台普通主机上,在多人同时访问等情况下可能会有数据泄露程序奔溃等问题,未来将进一步探索Gradio在分布式计算和边缘设备部署等方面的创新应用,持续提升系统的性能和适用范围满足多人同时使用的性能且加入模型部署功能使得私人或公司可以离线部署本模型防止数据泄露等。
基金项目
2024~2025年重庆对外经贸学院科研项目:基于机器学习的股票价格预测系统研究(KYZK2024018)。
NOTES
*通讯作者。