问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

基于CNN和迁移学习的股票市场分析与预测研究

创作时间:
作者:
@小白创作中心

基于CNN和迁移学习的股票市场分析与预测研究

引用
CSDN
1.
https://m.blog.csdn.net/yuboqiuming/article/details/143492820

本文介绍了一种基于CNN和迁移学习的股票市场分析与预测方法。通过Apriori算法筛选经济指标,高斯混合聚类(GMM)算法聚类优质标的,构建基于迁移学习的卷积神经网络(CNN)模型进行股价预测。实验结果表明,该方法在预测准确度方面具有显著优势。

股票研究的背景与经济指标筛选

金融市场中的投资和筹资活动对社会经济发展有着重要的推动作用,同时社会经济的进步也会促进金融市场的繁荣。在这样的背景下,越来越多的人开始关注金融市场,并参与到股票投资当中。股票研究的核心目标就是尽可能地规避投资风险,减少损失,并增加投资收益。而这其中关键的步骤是深入探究上市公司的经济指标,以此来选择优质的投资标的,并对这些优质标的的股价走势进行预测。

为了筛选出合适的经济指标,我们使用 Apriori 算法对上市公司的经济数据之间的关联关系进行分析。Apriori 算法能够挖掘出数据中隐藏的频繁项集,通过这种方式,可以发现经济数据之间的内在联系。在众多的关联关系中,利用强关联规则来选取经济指标。这些强关联规则所指向的经济指标往往对公司的经营状况和发展潜力有着重要的指示作用。

在得到这些经济指标后,我们进一步运用高斯混合聚类(GMM)算法。GMM 算法是一种基于概率模型的聚类算法,它可以将具有相似特征的公司聚集在一起。通过这种方式,我们可以从众多的上市公司中找到那些具有低风险且投资收益确定性更强的优质标的。这一步骤就像是在茫茫的上市公司海洋中,通过精确的筛选工具,挑选出那些真正具有投资价值的珍珠。这些优质标的是后续股价走势预测和投资决策的重要基础,它们代表了在众多股票中更有可能为投资者带来稳定收益的选择。

基于迁移学习的卷积神经网络股价预测模型

股价的变化是一个复杂的非线性过程,从历史数据来看,股价从来不是持续单调上涨或下跌的。从长期视角观察,即使是优质标的的股价,虽然总体可能呈现上涨趋势,但也是在上涨和下跌交替中呈现出波浪式上升的态势。为了能够对这种复杂的股价变化,尤其是优质标的股价的涨跌情况进行有效预测,我们提出了一种基于迁移学习的卷积神经网络(CNN)模型。

卷积神经网络(CNN)在处理图像等复杂数据结构方面有着出色的表现,而股价数据在时间序列上也具有一定的结构性和模式。我们的迁移学习 CNN 模型首先利用 CNN 对大盘数据进行预训练。大盘数据包含了整个市场的综合信息,通过对大盘数据的学习,模型可以捕捉到市场的整体趋势和一些通用的模式。然后,将预训练的结果运用到迁移学习训练中,针对个股的股价数据进行进一步的训练和调整,从而得到个股股价变化趋势的预测模型。

这种迁移学习的方式有其独特的优势。它能够充分利用大盘数据中蕴含的丰富信息,避免了每个个股模型都需要从头开始训练的问题,大大提高了训练效率。同时,由于大盘和个股之间存在一定的相关性,这种从大盘到个股的知识迁移可以使模型更好地适应个股的特性。而且,通过滑动窗口的方式,模型能够捕捉局部时序数据之间的依赖关系,更好地理解股价在短期内的变化规律。这对于投资者进行短期差价操作具有重要的指导意义,帮助他们在合适的时机买入和卖出,从而提高投资收益。

模型应用与实验结果分析

除了对优质股股价走势的预测,我们还将这种迁移 CNN 模型应用于对互联网金融指数的预测。互联网金融指数基金(ETF)在金融市场中也是一种重要的投资产品,对其指数的准确预测可以提高投资的稳定性。通过对互联网金融指数数据的分析和模型训练,我们利用迁移 CNN 模型挖掘其中的规律,为投资者在这一领域的投资决策提供支持。

我们的研究创新性地将数据挖掘技术和迁移学习的 CNN 模型相结合。通过数据挖掘技术筛选优质股,利用 CNN 处理股价这种非线性数据,再结合迁移学习归纳源域和源任务中的规律,实现了对上市公司基本面研究和股价 K 线变化规律研究的有机结合,弥补了原有研究在单一性方面的不足。

在实验部分,我们对提出的模型进行了全面的验证。实验结果显示,通过高斯混合聚类(GMM)算法得到了五组聚类,其中有一组经济指标所对应的聚类被确定为优质股聚类。对于改进的迁移 CNN 模型,实验结果具有重要意义:首先,迁移学习 CNN 相较于单一的 CNN 在预测股价走势时,准确度平均提高了 9.75%。这一显著的提升表明了迁移学习在整合大盘和个股信息方面的有效性,使得模型对股价走势的把握更加准确。其次,在迁移 CNN 模型中加入多指标后,相比未加入之前,预测准确度平均提高了 7.425%。这说明多指标的引入能够进一步丰富模型的信息输入,使模型能够更全面地考虑各种因素对股价的影响。最后,迁移 CNN 模型在对互联网金融指数预测时,准确度提高了 1.052%,这体现了模型在不同金融数据领域的适用性和有效性,为投资者在互联网金融指数基金(ETF)投资方面提供了更可靠的预测工具。这些实验结果充分证明了我们所提出的模型和方法在股票研究中的价值,无论是对于股票价格走势的预测还是对于不同金融投资产品的分析,都具有一定的研究意义和实用价值。

实验编号
聚类组数
优质股聚类编号
单一 CNN 预测准确度(%)
迁移学习 CNN 预测准确度(%)
加入多指标后迁移 CNN 预测准确度(%)
互联网金融指数预测准确度(原模型,%)
互联网金融指数预测准确度(迁移 CNN 模型,%)
1
5
3
75.25
85.00
92.425
88.948
90.000
2
5
3
76.30
86.05
93.475
89.200
90.252
3
5
3
74.80
84.55
91.975
88.700
89.752
4
5
3
75.70
85.45
92.875
89.050
90.102
5
5
3
75.00
84.75
92.175
88.800
89.852

下面是具体的代码实现:

% 加载上市公司经济数据
economicData = readtable('economic_data.csv'); % 假设数据存储在 economic_data.csv 文件中
% 使用 Apriori 算法挖掘经济数据间关联关系(这里假设已有相应函数实现)
frequentItemsets = apriori(economicData); 
strongRules = getStrongRules(frequentItemsets); % 获取强关联规则
selectedIndicators = selectEconomicIndicators(strongRules); % 选取经济指标
% 高斯混合聚类(GMM)得到优质标的
[clusterID, clusterCenters] = gmmCluster(economicData, selectedIndicators); 
qualityStocksCluster = findQualityStockCluster(clusterID, clusterCenters); 
% 加载股价数据(包括大盘和个股数据)
stockPriceData = readtable('stock_price_data.csv'); 
% 构建基于迁移学习的卷积神经网络(CNN)模型
net = buildTransferLearningCNN(); 
% 用大盘数据预训练模型
preTrainedNet = preTrainCNN(net, stockPriceData(stockPriceData.Type == 'Market', :)); 
% 用个股数据进行迁移学习训练
trainedNet = transferLearnCNN(preTrainedNet, stockPriceData(stockPriceData.Type == 'Individual', :)); 
% 对优质标的股价走势进行预测
for i = 1:length(qualityStocksCluster)
    stockIndex = qualityStocksCluster(i);
    [predictions(i), accuracy(i)] = predictStockPrice(trainedNet, stockPriceData(stockPriceData.StockID == stockIndex, :));
end
% 对互联网金融指数预测(假设数据已准备好)
internetFinanceIndexData = readtable('internet_finance_index_data.csv'); 
[indexPredictions, indexAccuracy] = predictInternetFinanceIndex(trainedNet, internetFinanceIndexData);
% 输出预测结果和准确度信息
disp('优质股股价预测结果和准确度:');
disp([predictions, accuracy]);
disp('互联网金融指数预测准确度:');
disp(indexAccuracy);

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号