# 基于MindSpore的多模态股票价格预测系统研究
    股票价格预测一直是金融领域的重要问题，对于投资者和金融机构来说具有重要的价值。然而，股票价格受多种因素影响，包括市场情绪、公司业绩、宏观经济等，因此具有挑战性。在本研究中，我们利用MindSpore框架构建了一个股票价格预测模型，该模型基于Informer，能够捕获多种时间序列数据的关联性，并预测未来的股票价格趋势。我们使用了大量的历史股票价格数据和相关因素，通过训练和优化模型来提高预测准确性。本报告还包括了实验结果和性能评估，以验证模型的有效性和可行性。我们的研究为金融领域提供了一个强大的工具，用于更好地理解和预测股票市场的动态，帮助投资者和金融专业人士做出更明智的决策。

<span style="color:blue;">**1.项目背景和目标**</span>
	随着金融市场的不断发展，股票市场的波动性越来越大，投资者需要更加准确、实时的股票价格预测工具来帮助他们做出更好的投资决策。本项目旨在基于Mindspore框架和鲲鹏openEuler平台，开发一个高效、准确、实时、成本效益高的股票价格预测系统，帮助投资者更好地理解股票市场动态，降低投资风险。
    需求：如今，金融市场的波动性不断增加，对股票价格预测的准确性提出了更高的要求。在这一背景下，人工智能技术正在逐渐崭露头角，成为股票市场参与者的重要工具之一。股票市场需要及时、准确的决策来确保投资者和金融机构的安全。传统的股票价格预测方法依赖于统计分析和基本面分析，然而，这些方法在面对复杂、多变的市场情况时往往表现不佳。因此，人工智能技术在股票价格预测中的应用变得尤为重要。
    目标：本研究的设计目标是基于Informer模型进行股票价格预测应用研究。我们旨在获取大量历史股票价格数据和相关因素数据，通过Informer模型实现更准确的价格预测，捕捉时间序列数据的关联性。同时，我们追求实时性和高效性，建立实时数据处理系统，监测市场变化并进行实时预测，以协助投资者在快速变化的市场中做出明智决策。我们强调模型性能评估，包括历史数据回测和实盘测试，以验证实际应用价值。数据安全和隐私保护是关键，确保严格遵守法规和标准，保障数据的安全性。最终目标是提供可靠高效的股票价格预测应用，助力投资者理解市场、降低风险、支持明智决策。这一设计旨在为金融市场提供强大工具，更好地应对股票市场动态。
    
<span style="color:blue;">**2.技术方案**</span>
	本项目采用MindSpore框架，主要模型为Informer，结合鲲鹏openEuler平台，提高股票价格预测的准确性和实时性。
    具体技术方案包括：
	数字数据和文字优化：通过数据获取和增强、参数组合、组件搭配等方式，对数据进行优化，提高预测准确性；
	数据处理和特征工程：通过数据分块、降噪、重整、多归一化等方式，对数据进行处理，提高预测准确性；
	训练和推理：通过压缩、蒸馏、剪枝、量化等方式，对模型进行训练和推理，提高预测准确性和实时性；
	算子优化和图优化：通过算子优化、图优化、加速库等方式，提高预测速度；
	集束搜索、班监督等训练和交易策略优化：通过集束搜索、班监督等方式，优化训练和交易策略，提高预测效果。
    
    模型：Informer
    Informer是一种基于Transformer模型改进的长时间序列预测（Long Sequence Time-Series Forecasting，LSTF）模型，专门用于处理具有长期依赖关系和不规则间隔的时间序列数据，即具有提取长距离依赖耦合的能力。与Transformer一样，Informer也是典型的编码器解码器模型结构，通过使用自注意力机制和卷积层来捕捉时间序列数据中的时序特征和上下文信息。Informer模型是改进于Transformer的，更适用于长时间序列预测， 近年来的研究表明，Transformer具有提高预测能力的潜力。然而，Transformer存在几个严重的问题，使其不能直接适用于长期时序预测问题，例如二次时间复杂度、高内存使用量和编码器-解码器体系结构固有的局限性。为了解决这些问题，这篇文章中设计了一种基于Transformer的长期时序预测模型，即Informer模型。

    交易策略：在本方案中，量化交易策略如上图所示，可详细表述为：通过过去time_step（本方案以60为例）天内的股价数据，对股票连续两日的价格做出预测，并根据股票的涨跌趋势选择购入/继续持有或者卖出/继续等待。即当第n天时(收盘前)，对第n+1天和第n+2天的股票收盘价做出预测，若发现第n+2天的价格高于第n+1天，则说明下一交易日(第n+1天)股价会涨；进一步判断目前的股票持有情况，若目前未持有股票，则可使用第n天收盘价购入股票，若目前已持有股票，则继续持有即可。同理，若发现第n+2天的价格低于第n+1天，则说明下一交易日(第n+1天)股价会跌；进一步判断目前的持有情况，若目前未持有股票，则继续保持空仓不购入股票，若目前已持有股票，则使用第n天收盘价卖出股票。由此，可以实现股票涨价时手中持有股票持续增值，股价下跌时立即反应及时止损，从而实现高收入。

实现条件：模型的训练与测试都在同一设备进行，
<span style="color:blue;">实验设配置为：
操作系统为 Windows10，
CPU 为 IntelⓇ i3 － 8100，GPU 为 NVIDIA GTX 1660 SUPEＲ，内存为16GB，
开发环境为 MindSpore 3.10、Cuda 10．1、Cudnn 7．6。
使用 Adam 优化器对网络进行优化，使用固定步长衰减进行学习率的调整，实验中的学习率设为 0.001，step_size 取为 2，gamma 取 0.95，批处理大小设为 16，衰减系数设为0.0005，动量设为 0.9。深度学习框架采用MindSpore，编程语言为Python 3.7版本，同时使用了NumPy、Pandas、Matplotlib等库和依赖。</span>

    实验数据集：本实验使用的数据主要来源于Tushare大数据开放社，这是一个提供金融市场数据的在线数据平台，包含了股票、指数、交易数据等大规模金融数据。此外，还使用了社交媒体数据以及国内外公开的金融数据。在数据预处理阶段，进行了数据清洗，以处理可能存在的缺失值和异常值。此外，从原始数据中提取了相关特征，如价格、成交量、新闻情感分析等，并将数据集划分为训练集、验证集和测试集。损失函数使用均方误差（MSE），训练迭代次数为100个迭代轮次。采用学习率衰减策略来逐渐减小学习率，以提高训练的稳定性。实验评估指标包括均方根误差（RMSE）、平均绝对误差（MAE）等，用于评估模型对股票价格的预测性能。数据集划分为70%的训练集、15%的验证集和15%的测试集，以支持模型的训练和评估。为确保实验的可重复性，固定了随机种子，并采取了相同的随机初始化策略。数据获取通过Tushare大数据开放社获取了历史股票价格数据，社交媒体数据通过Web抓取，国内外公开的金融数据由相应的数据提供商提供。这些详细的实验条件信息将有助于其他研究人员理解和重现本研究，确保实验结果的可信度和可复现性。

<span style="color:blue;">3.方案概述</span>
	本方案旨在基于MindSpore框架开发一个高效的股票价格预测系统，同时利用openEuler操作系统平台来提供可靠的计算环境和运行基础。本方案的目标是结合Informer的时间序列预测能力与MindSpore框架的多样性，为金融领域提供一种精确的工具，帮助投资者和决策者更好地理解股票市场动态。

<span style="color:blue;">4.技术亮点及优势</span>
	本项目的技术亮点和优势包括：
	采用MindSpore技框架，提高了股票价格预测模型的性能；
	基于鲲鹏openEuler平台，确保了金融数据的完整性和隐私；
	提供了多维评价体系，帮助投资者更好地评估预测结果；
	成本效益高，帮助投资者降低投资成本。

<span style="color:blue;">5.项目目标</span>
	本项目的目标是结合MindSpore框架的便携性、Informer的时间序列预测能力与openEuler的稳定性，为金融领域提供一种精确的工具，帮助投资者和决策者更好地理解股票市场。