参考:https://www.7forz.com/3319/
根据Tushare的数据,用LSTM的变体GRU试着做一个股票价格预测,参考了上述博客的代码,大多数参数经过了调整。
1. 用新晨科技(300542)的640天的收盘数据训练
2. 在沪深A股代码中随机抽取50条用于测试
3. 查看50条里面loss最大的一支股票,画出其数据与预测曲线(有明显误差但趋势大致相同)
预测的结果比预期好很多,留个坑--Midterm考完回来研究解释......
2020.10.27 更一波:
似乎把训练次数降到800可以比较好地防止过拟合?
代码:
# -*- coding: utf-8 -*-
"""main.ipynb
Automatically generated by Colaboratory.
Original file is located at
https://colab.research.google.com/drive/1W2_OxJ3JcWnvnG8wugwms-ETq0pRYX_v
"""
import numpy as np
import pandas as pd
pip install tushare
import tushare as ts
data = ts.get_k_data('300542')['close'].values
print(data.shape)
import matplotlib.pyplot as plt
data = data.astype('float32')
mx = np.max(data)
mn = np.min(data)
data = (data - mn) / (mx - mn)
input_len = 1
def generate_dataset(data, days_for_train):
dataset_x, dataset_y = [], []
for i in range(len(data) - days_for_train):
cur_x = data[i:(i + days_for_train)]
cur_y = data[i + days_for_train]
dataset_x.append(cur_x)
dataset_y.append(cur_y)
return np.array(dataset_x), np.array(dataset_y)
import torch
import torch.nn as nn
import torch.optim as optim
pr

利用Tushare获取新晨科技640天收盘价数据,通过GRU模型进行股价预测,并在沪深A股中随机选取50只股票进行测试,结果显示模型能够较好地捕捉股价走势。
最低0.47元/天 解锁文章
2101

被折叠的 条评论
为什么被折叠?



