TensorFlow神经网络实现股票预测

目录

1、数据来源

2、数据可视化

3、神经网络设计


神经网络(NeuralNetworks)是一种用训练数据拟合目标函数的黑箱模型,只要数据量足够大,它可以拟合出输入到输出之间的任意函数关系。

本篇博文将使用TensorFlow神经网络进行股市的预测,利用数据样本学习,得到相关因素预测股票走势。

1、数据来源

首先预设一组数据,下图为股票上证指数2019年07月到2019年09月的30天开盘价格和收盘价格。

数据在程序中实现,代码如下所示:

date = np.linspace(1,30,30)
beginPrice = np.array([2923.19,2928.06,2943.92,2946.26,2944.40,2920.85,2861.33,2854.58,2776.69,2789.02,2784.18,2805.59,2781.98,2798.05,2824.49,2762.34,2817.57,2835.52,2879.08,2875.47,2887.66,2885.15,2851.02,2879.52,2901.63,2896.00,2907.38,2886.94,2925.94,2927.75])
endPrice = np.array([2937.36,2944.54,2941.01,2952.34,2932.51,2908.77,2867.84,2821.50,2777.56,2768.68,2794.55,2774.75,2814.99,2797.26,2808.91,2815.80,2823.82,2883.10,2880.00,2880.33,2883.44,2897.43,2863.57,2902.19,2893.76,2890.92,2886.24,2924.11,2930.15,2957.41])

2、数据可视化

基于matplotlib可视化库,建立一个30行2列的矩阵存储股票数据,矩阵的第一列输入上列数据中的股票开盘价格,第二列输入股票的收盘价格,如果股票的收盘价格高于开盘价格则用红色显示,反之则用绿色显示,可视化股票数据如下图所示。采用本实例所设计的神经网络预测股票收盘均价,并可视化预测结果。

使用前需要安装matplotlib模块,指令如下所示:

pip install matplotlib

实现代码如下所示:

for i in range(0,30):  # 画柱状图dateOne = np.zeros([2])dateOne[0] = i;dateOne[1] = i;priceOne = np.zeros([2])priceOne[0] = beginPrice[i]priceOne[1] = endPrice[i]if endPrice[i]>beginPrice[i]:plt.plot(dateOne,priceOne,'r',lw=6)else:plt.plot(dateOne,priceOne,'g',lw=6)
plt.xlabel("date")
plt.ylabel("price")

3、神经网络设计

基于TensorFlow框架,设计三层神经网络,隐含层包括25个节点,利用所设计的神经网络来预测股票的收盘均价。使用前需要安装TensorFlow模块,指令如下所示:

pip install tensorflow

【拓展】4行指令解决pip下载Python第三方库太慢问题(pip更换国内下载源)

实现代码如下所示:

dateNormal = np.zeros([30,1])
priceNormal = np.zeros([30,1])
#归一化
for i in range(0,30):dateNormal[i,0] = i/29.0;priceNormal[i,0] = endPrice[i]/3000.0;
x = tf.placeholder(tf.float32,[None,1])
y = tf.placeholder(tf.float32,[None,1])
# X->hidden_layer
w1 = tf.Variable(tf.random_uniform([1,25],0,1))
b1 = tf.Variable(tf.zeros([1,25]))
wb1 = tf.matmul(x,w1)+b1
layer1 = tf.nn.relu(wb1) # 激励函数
# hidden_layer->output
w2 = tf.Variable(tf.random_uniform([25,1],0,1))
b2 = tf.Variable(tf.zeros([30,1]))
wb2 = tf.matmul(layer1,w2)+b2
layer2 = tf.nn.relu(wb2)
loss = tf.reduce_mean(tf.square(y-layer2)) #y为真实数据, layer2为网络预测结果 
#梯度下降
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
with tf.Session() as sess:sess.run(tf.global_variables_initializer())for i in range(0,20000):sess.run(train_step,feed_dict={x:dateNormal,y:priceNormal})#预测, X  w1w2 b1b2 -->layer2pred = sess.run(layer2,feed_dict={x:dateNormal})predPrice = np.zeros([30,1])for i in range(0,30):predPrice[i,0]=(pred*3000)[i,0]plt.plot(date,predPrice,'b',lw=1)
plt.show()

运行以上代码可视化神经网络的预测结果如下图所示:

关注公众号,回复关键字:股票预测,获取项目源码~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/32433.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

火狐插件FoxyProxy的使用方法

以前自己挖漏洞使用火狐burp抓包测试,但是每次浏览器开代理老麻烦了 今天同事无意间给我提了这个插件FoxyProxy 很实用,下面是使用教程,很直白很详细 首先安装火狐插件FoxyProxy 然后选择Options开始配置 . 然后重启浏览器 选中Burpsuite …

如何解决:FIREFOX的副本已经打开。一次只能打开一份FIREFOX

1.问题 由于电脑卡机使Firefox自动退出之后,重新点击Firefox图标无法打开程序在mac版Firefox中打开时提示:“Firefox的副本已经打开。一次只能打开一份Firefox” 2.解决 重启没解决使用终端中断程序也无法解决活动监视器中中断程序解决 3.方法 1.其他…

Firefox浏览器多账号登陆方法

1、需要安装插件Multifox,由于此插件已经从firefox官网(插件)上下架,因此需要从Multifox的github上直接下载 2、下载地址:https://github.com/hultmann/multifox/releases/tag/3.2.3 3、直接选则“ multifox-3.2.3-fx.…

Firefox个性化教程

Firefox是跨平台兼容的浏览器软件 注意,是浏览器软件而不是搜索引擎 可能有人不明白,那我简单讲解。 常见的浏览器软件有edge,Firefox,chrome之类的 常见的搜索引擎有Google,bing,duck duck go,…

火狐安全软件Huohong

你还在为垃圾软件,恶意弹窗,病毒骚扰等而烦扰吗? 让简约高效的火狐安全软件来帮助你吧! 火绒互联网安全软件 — 轻巧、高效、超强防御的安全防护软件。功能强悍,体量轻巧,既干净又安静。它能全面防御病毒、…

音视频技术开发周刊 | 298

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 AI艺术在北京798,展望人工智能与环境的未来 本文很有意思的提出了个假设,通过人工智能和艺术家协作与实践产生环绕地球的叙事,去开启置…

chatgpt赋能python:用Python模拟串口:学习串口通信的好方法

用Python模拟串口:学习串口通信的好方法 计算机与外部设备之间的通信经常需要串口。串口通信是指通过串行通信协议在计算机与外部设备之间进行数据传输。在实验室工作中,在传感器网络和控制系统中我们经常使用串口进行通信。为了调试这些系统&#xff0…

绿联nas骚操作,没事帮你压测下网络

如果遇到路由器频繁掉网,且家里有个绿联nas,那么大概率是nas的锅, 没啥值钱东西,希望不要掏空我的资料~ 继扫盘之后的又一骚操作 发现自从更新最新版本后,家里频繁出现断网。因为路由器为与nas通过单口1000兆&#xff…

History of Object Recognition (物体识别)

在github上看到一副总结的非常好的图(原图地址)先码住 😀😀😀 物体识别的综述 🍀发展历史: 🌱图像分类(Image Classification) 任务:根据图像中…

谷歌 TensorFlow 物理检测 API,目前最好的物体识别方案?

原文:Is Google Tensorflow Object Detection API the easiest way to implement image recognition? 作者:Priya Dwivedi 译者:聂震坤 审校:屠敏 用大数据干大事! 目前有很多种图像识别的方案,而 Goog…

姿态识别、手势识别(附代码)

姿态识别技术是一种基于计算机视觉的人体姿态分析方法,可以通过分析人体的姿态,提取出人体的关键点和骨架信息,并对人体的姿态进行建模和识别。随着深度学习技术的发展,近年来姿态识别技术得到了广泛的应用和研究,其中Pose是一种基于深度学习的姿态识别工具包。本篇博客将…

用户手势检测-GestureDetector使用详解

前言:今天终于可以正常上班了,阿里的百技真的真的太累了,作为队长,不仅要考虑到每一个人的感受,而且要最大程度地使大家团结起来,共同完成一个任务,四天的时间,14个人的小组完成一个…

如何使用OpenCV对物体进行搜索检测与识别

在本教程中,我们将了解对象检测中称为“选择性搜索”的重要概念。我们还将用C 和Python共享OpenCV代码。 物体检测与物体识别 对象识别算法识别图像中存在哪些对象。它将整个图像作为输入,并输出该图像中存在的对象的类标签和类概率。例如,类…

通用物体识别使用攻略

作者:让天涯 一、需求描述 大家在出去旅游的时候,往往会对景点里的特色事物感兴趣,而一般情况下,如果没有导游的介绍,我们不太清楚这个景区里的特色景点是什么,有时候即使看到了一个事物,都不…

python姿态检测实现多人多姿态识别python行为识别openpose行为骨骼框架检测动作识别动作检测行为动作分类

效果演示: 视频演示: python行为识别行为骨骼框架检测动作识别动作检测行为动作分类 项目下载链接:https://download.csdn.net/download/babyai996/87552750 0环境项目配置教程:https://download.csdn.net/download/babyai996/87…

Win11集成 ChatGPT,任务栏取消分组真的回来了

时隔两月微软如期发布了 Win11 Moments 3 更新,版本号 22621.1778 。 微软这次更新带来了许多质量更新和功能改进。 直观的改动是任务栏,网络图标在连接加密隧道时会上锁,时间显示到秒也重新回归。 日常会用到的 AltTab 任务选项卡被限制到最…

​干货!影视剪辑大神常用避免侵权的8个秘籍首次公开【覃小龙课堂】

哈罗,我是您的老朋友:覃小龙,您可以称呼我为覃总,因为我是腾然MCN和火星电商的老板,我2016年创办腾然MCN至今,已经是自媒体的骨灰级老司机了,所以今天给您带来的主题是: 干货&#x…

影视剪辑,视频剪辑的万能剪辑技巧来啦,剪辑技巧合集

好多人在学习视频剪辑时不知道如何入手! 今天这一篇总结来啦! 首先要掌握的就是关于正确的视频剪辑流程 ①建立好项目文件夹。根据时间、地点、大体拍摄内容等分类,在不同的文件夹存入对应的物料和工程。 ②获取素材。提前收集好要用的包装…

影视剪辑,PR剪辑软件两个转场教程

一、古风渐变擦除转场:拖入视频1和视频2,将视频2放到视频1上面的轨道,2者重叠部分就是转场部分。 【效果】【渐变擦除】,拖到视频2。 在开头K关键帧,【效果控件】【渐变擦除】【过渡完成】K帧调到100。 在2段视频交接…

影视剪辑,你应该掌握的剪辑流程和技巧

很多朋友想学视频剪辑,但是不知道如何入手?今天就把我的压箱底都告诉你们啦! 应该先掌握的剪辑流程! 建立好项目文件夹。在每个级的文件夹存入对应的物料和工程。 获取素材。先收集要用的所有素材与音乐。 回看和分类。按照脚本的结构进行素材分类&am…