使用seq2seq预测当天的股票价格

本文介绍如何利用TensorFlow的seq2seq模型预测股票价格。通过训练股票历史数据,采用旧版seq2seq接口,构建2层GRU网络进行预测。训练过程包括数据加载、样本生成、网络结构设定及训练,最终结果展示表明预测值与真实值接近。
摘要由CSDN通过智能技术生成

1.tensorflow中的seq2seq

在tensorflow中有两套seq2seq的接口。一套是tensorflow1.0版本之前的旧接口,在tf.contrib.legacy_seq2seq下;另一套为tensorflow1.0版本之后推出的新接口,在tf.contrib.seq2seq下。本文使用的是seq2seq的旧接口,旧接口的功能相对简单,是静态的展开模式,新接口功能更加强大,使用的是动态展开网络模型。想要了解新接口的使用情况,推荐这个网址https://blog.csdn.net/thriving_fcl/article/details/74165062

2.实力描述

使用seq2seq模式对某个股票前段时间的数据训练学习,拟合特征,从而达到第二天预测股票价格的效果。

3.导入股票数据

首先得准备一个股票数据,本人使用的是参考书中所提供的数据,想要数据集的可以在私信我。

添加股票载入函数loadstock,实例中将收盘价格载入内存做样本生成。

import random
import math
        
import tensorflow as tf 
import numpy as np
import matplotlib.pyplot as plt  


import pandas as pd
pd.options.mode.chained_assignment = None  # default='warn'
def loadstock(window_size):
    names = ['date',
         'code',
         'name',
         'Close',
         'top_price',
         'low_price',
         'opening_price',
         'bef_price',
         'floor_price',
         'floor',
         'exchange',
         'Volume',
         'amount',
         '总市值',
         '流通市值']
    data = pd.read_csv('600000.csv', names=names, header=None,encoding = "gbk")
    #predictor_names = ["Close",'top_price',"low_price","opening_price"]
    predictor_names = ["Close"]
    training_features = np.asarray(data[predictor_names], dtype = "float32")
    kept_values = training_features[1000:]

    X = []
    Y = []
    for i in range(len(kept_values) - window_size * 2):#  x ;前window_size,y后window_size
        X.append(kept_values[i:i + window_size])
        Y.append(kept_values[i +
评论 55
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值