神经网络逼近股票收盘均价

import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
date=np.linspace(1,15,15)
endprice=np.arrary([])
beginprice=np.array([])
plt.figure()
for  i in range(0,15):
   dateone=np.zeros([2])
   dateone[0]=i;
   dateone[1]=i;
   priceone=np.zero([2])
   priceone[0]=beginprice[i]
   priceone[1]=endprice[i]
   if endprice[i]>beginprice[i]:
         plt.plot(dataone,priceone,'r',)
   else:
         plt.plot(dateOne,priceOne,'g',lw=8)
dateNormal = np.zeros([15,1])
priceNormal = np.zeros([15,1])
for i in range(0,15):
    dateNormal[i,0] = i/14.0;
    priceNormal[i,0] = endPrice[i]/3000.0;
x=tf.placeholder(tf.float32,[None,1])
y=tf.placeholder(tf.float32,[None,1])
w1=tf.Variable(tf.random_uniform([1,10],0,1))
b1=tf.Variable(tf.zeros([1,10]))
wb1=tf.matmul(x,w1)+b1
layer1=tf.nn.relu(wb1)
w2=tf.Variable(tf.random_uniform([10,1],0,1))
b2=tf.Variable(tf.zeros([15,1]))
wb2=tf.matmul(layer1,w2)+b2
layer2=tf.nn.relu(wb2)
loss=tf.reduce_mean(tf.square(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,10000):
          sess.run(train_step,feed_dict={x:dateNormal,y:priceNormal})
      pred=sess.run(layer2,feed_dict={x:dateNormal})
      predprice=np.zeros([15,1])
      for i  in range(0,15):
          predprice[i,0]=pred*3000;
      plt.plot(date,predprice,'b',lw=1)
plt.show()

猜你喜欢

转载自blog.csdn.net/qq_30339595/article/details/86620567
今日推荐