基于tensorflow的神经网络股票预测

本文通过使用TensorFlow构建神经网络模型,对贵州茅台股票在过去30个交易日的开盘价和收盘价进行分析,并实现股价预测。利用matplotlib绘制了股票价格的走势,展示了预测结果与实际收盘价的对比。
部署运行你感兴趣的模型镜像
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
date_axis=np.linspace(0,30,31)
close_price=np.array([911.6,917,932.01,975,976.3,987.1,982.98,979.86,996.35,984,1031.86,1025,987.9,981.2,999.82,984.86,976.06,982.52,981.5,986.09,975.93,968,963.5,947.5,955.87,957.02,953.98,946.36,963,965.03])
open_price=np.array([907,917,940,932.5,969.97,978.3,992,985,985,985.99,1004.52,1025,1020,985.8,986,995.05,979.3,980.93,989.96,981.3,967.8,975.45,968,961.5,955,960,962.3,958.31,945.97,961.97])
plt.figure()
for i in range(30):
    date=np.zeros([2])
    date[0]=i+1
    date[1]=i+1
    gain=np.zeros([2])
    gain[0]=open_price[i]
    gain[1]=close_price[i]
    if open_price[i]<close_price[i]:
        plt.plot(date,gain,'r',lw=8)
    else:
        plt.plot(date,gain,'g',lw=8)
datenormal=np.zeros([30,1])
pricenormal=np.zeros([30,1])
max_price=max(close_price)
min_price=min(close_price)
for i in range(30):   #归一化处理
    datenormal[i]=(i+1-1)/(30-1)
    pricenormal[i]=(close_price[i]-min_price)/(max_price-min_price)
x=tf.placeholder(tf.float32,shape=[None,1])
y=tf.placeholder(tf.float32,shape=[None,1])
w1=tf.Variable(tf.random_uniform([1,20],0,1))
w2=tf.Variable(tf.random_uniform([20,1],0,1))
b1 = tf.Variable(tf.zeros([1,20]))
b2 = tf.Variable(tf.zeros([30,1]))
h_input=tf.nn.relu(tf.matmul(x,w1)+b1)
y_=tf.nn.relu(tf.matmul(h_input,w2)+b2)
mse = tf.reduce_mean(tf.square(y-y_)) #损失函数为均方误差
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(mse)
with tf.Session() as sess:
    tf.global_variables_initializer().run()
    for i in range(20000):
        sess.run(train_step,feed_dict={x:datenormal,y:pricenormal})
    pred = sess.run(y_,feed_dict={x:datenormal})
    predPrice = np.zeros([30,1])
    for i in range(30):
        predPrice[i,0]=(pred*(max_price-min_price)+min_price)[i,0]
    plt.plot(date_axis[1:],predPrice,'b',lw=2)
plt.grid()
plt.title("Forecast of Kweichow Moutai's closing price for 30 trading days from June 17 to July 26, 2019")
plt.show()

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值