当前位置: 天鼎投资 » 江苏天鼎 » 正文内容

自动预测股票软件(使用全连接神经网络预测股票涨跌)

时间:2025年06月20日 9:20:16来源:投稿浏览:13次
[导读] 在上一篇文章《如何创建神经网络模型?几行代码搞定!》中,我们介绍了创建神经网络模型的方法。那么,接下来我们就使用自己创建的神经网络模型对股票涨跌进行预测,其预测效果如何呢?且看下文精彩内容。 要使用神经网络...

在上一篇文章《如何创建神经网络模型?几行代码搞定!》中,我们介绍了创建神经网络模型的方法。那么,接下来我们就使用自己创建的神经网络模型对股票涨跌进行预测,其预测效果如何呢?且看下文精彩内容。

要使用神经网络模型对股票涨跌进行预测,首先我们需要定义模型的网络结构。这里我们定义的是一个全连接神经网络,有 2 个输入:分别是收益率序列和换手率序列,有 1 个输出:未来10个交易日涨幅是否超过5%。理论依据是,我假设股票后续的涨跌受前面30天收益率和换手率的影响。也就是说,我们这个模型要做的事情是,根据前30个交易日的收益率和换手率数据,来预测将来10个交易日之内涨幅是否超过5% 。

下面是模型定义的代码:

模型可视化后,我们可以非常直观地看到它的网络结构:

这里自定义数据集类的目的是,方便在训练时调用训练框架现成的 DataLoader 接口来对数据进行加载。

上面我们自定义了数据集类,那么,在正式开始模型训练之前,我们需要进行数据集加载测试,检查数据集加载是否正确,是否是我们所期望的数据格式。

从下图的运行结果中,我们可以看到,我这一批用来测试的数据,训练集总共有 36193 个样本,验证集有 2000 个样本。

模型训练策略,主要是创建模型实例、加载数据、设置优化器、设置损失函数、梯度更新、模型保存之类的,具体情况如下面的代码所示:

上面我们已经写好了模型训练的策略,现在,可以开始调用那些函数对模型进行训练了。

训练详情如下图所示:

从上图的模型训练过程图中,我们可以看到,随着训练迭代轮次的增加,其预测的准确率逐渐上升,截至我写到这里,预测的准确率为:59.90% !说明我们的前面的理论假设有一定的道理,前30天的收益率和换手率确实对未来十天的涨幅有影响,至于影响的程度有多少,还需进一步探究。

通过前面我们介绍的方法训练好模型后,我们就可以使用保存下来的准确率最高的模型对股票将来的涨幅进行预测了。要特别指出是,这里我们模型的预测任务是:判断未来十个交易日内,股票涨幅是否超过5% 。如果模型输出是 0,则表示未来十个交易日内,该股票的涨幅不会超过 5%;如果模型输出是 1,则表示未来十个交易日内,该股票涨幅将会超过 5% 。

程序运行结果如下图所示:

从模型预测结果图中,我们可以看到,置信度大于0.7时,模型预测的准确率为 80% 。看到此处,可能会有朋友感到困惑,我们明明加载的是 best_model_0.5990.pth 模型文件,其在验证集中评估的准确率为 59.90%,为啥到了这里,准确率却变成了 80%?

实际上,答案就在模型预测的代码中了,可以看到,我们把置信度低于 0.7 的预测结果都筛除出去了,所以最终的准确率提高了,原因就是这么简单。

以上就是我们使用自定义的神经网络模型对股票涨跌进行预测的案例了,感觉不错的话,可以帮忙点个赞哦,大家的支持是我继续更新下去的动力。

最后,需要提醒大家的是,模型预测的准确性不仅和模型的网络结构设计有关,还和数据的内容有关。数据的内容和我们要预测的事物之间,一定要有内在的关联才行,否则,再好的网络模型也无法预测哦。大家可以尝试自己搭建模型,使用自己的数据进行训练,相信你们能得到比我更好的结果。

本文来源:https://tiandinggupiao.com/98364.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件举报,一经查实,本站将立刻删除。

    相关文章

    免费获取诊断报告 股票涨跌早知道

    请准确填写您的手机号,以便能及时接收个股分析诊断报告

    ×
    • 0 + 3 = ?