代码

import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTMimport marksix_1
import talib as talt = marksix_1.Marksix()
lt.load_data(period=500)# 指标序列
m = 2
series = lt.adapter(loc='0000001', zb_name='mod', args=(m, lt.get_mod_list(m)), tf_n=0)# 实时线
close = np.cumsum(series).astype(float)# 布林线
timeperiod = 5
upper, middle, lower = ta.BBANDS(close, timeperiod=timeperiod, nbdevup=2, nbdevdn=2, matype=0)# 趋势
qushi1 = np.where(close-middle < 0, 0, 1)# 实时线在均线上、下方
qushi2 = np.where(middle[1:] - middle[:-1] < 0, 0, 1) # 均线上、下行(长度少了1)# 标签转化为0,1
y = np.where(series==-1, 0, 1)# 构造特征(注意,已经归一化,全部为非负数)
f = upper-lower
f = f[timeperiod:] # 去掉了前面timeperiod个nan数据!!!
f = (f - f.min()) / (f.max() - f.min()) # 归一化
y = y[timeperiod:]
qushi1 = qushi1[timeperiod:]
qushi2 = qushi2[timeperiod-1:]
features = np.column_stack([y, qushi1, qushi2, f]) # 特征:[标签、趋势1、趋势2、布林宽度]#
data_len = len(series)
time_steps = 3# 将数据转化为[样本数, 时间步数, 特征数]的形式
X = [features[i:i+time_steps] for i in range(data_len-time_steps-timeperiod)] # [samples, time steps * features]
X = np.reshape(X, (data_len - time_steps-timeperiod, time_steps, -1)) # [samples, time steps, features]# 标签长度一致
y = y[time_steps:]# one-hot编码
y = np.eye(2)[y]# 划分训练数据、测试数据
train_X, test_X = X[:-20], X[-20:]
train_y, test_y = y[:-20], y[-20:]# =================================
model = Sequential()
model.add(LSTM(64, input_shape=(X.shape[1], X.shape[2])))
model.add(Dense(y.shape[1], activation='softmax')) # 输出各类的概率(softmax)
model.compile(loss='categorical_crossentropy',     # 单标签,多分类(categorical_crossentropy)optimizer='adam', metrics=['accuracy'])model.fit(train_X, train_y, epochs=500, batch_size=1, verbose=2)#检查模型在测试集上的表现是否良好
test_loss, test_acc = model.evaluate(test_X, test_y)
print('test_acc:', test_acc)

效果图

结论

只测试了mod 2的情况,效果不好.

训练数据精度可以达到三分之二左右,测试数据的精度只有四分之一。头脑风暴,几乎可以反其道而行之!可能不失为可行之策。

下一步:

1.画出后20个数据k线图,看是否是震荡区间,亦或是趋势区间

2.换别的指标看看

转载于:https://www.cnblogs.com/hhh5460/p/10217000.html

使用keras的LSTM进行预测----实战练习相关推荐

  1. Kesci: Keras 实现 LSTM——时间序列预测

    博主之前参与的一个科研项目是用 LSTM 结合 Attention 机制依据作物生长期内气象环境因素预测作物产量.本篇博客将介绍如何用 keras 深度学习的框架搭建 LSTM 模型对时间序列做预测. ...

  2. Keras 实现 LSTM时间序列预测

    向AI转型的程序员都关注了这个号

  3. python时间序列如何拟合曲线_【Python】keras使用LSTM拟合曲线

    keras生成的网络结构如下图: 代码如下: from sklearn.preprocessing import MinMaxScaler from keras.models import Seque ...

  4. Python时间序列模型推理预测实战:时序推理数据预处理(特征生成、lstm输入结构组织)、模型加载、模型预测结果保存、条件判断模型循环运行

    Python时间序列模型推理预测实战:时序推理数据预处理(特征生成.lstm输入结构组织).模型加载.模型预测结果保存.条件判断模型循环运行 目录

  5. bagging和时间序列预测_时间序列的LSTM模型预测——基于Keras

    一.问题背景     现实生活中,在一系列时间点上观测数据是司空见惯的活动,在农业.商业.气象军事和医疗等研究领域都包含大量的时间序列数据.时间序列的预测指的是基于序列的历史数据,以及可能对结果产生影 ...

  6. 基于Keras的LSTM多变量时间序列预测(北京PM2.5数据集pollution.csv)

                                 基于Keras的LSTM多变量时间序列预测 传统的线性模型难以解决多变量或多输入问题,而神经网络如LSTM则擅长于处理多个变量的问题,该特性使 ...

  7. LSTM神经网络实现对股市收盘价格的预测实战(python实现 附源码 超详细)

    源码或数据集请点赞关注收藏后评论区留言或者私信博主要 由于独特的设计结构 LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件. LSTM是一种含有LSTM区块(blocks)或其他的一种类神 ...

  8. DL之LSTM:基于《wonderland爱丽丝梦游仙境记》小说数据集利用LSTM算法(基于keras)对word实现预测

    DL之LSTM:基于<wonderland爱丽丝梦游仙境记>小说数据集利用LSTM算法(基于keras)对word实现预测 目录 基于<wonderland爱丽丝梦游仙境记>小 ...

  9. tf.keras 11: 时间序列预测之LSTM天气预测

    本教程介绍了使用递归神经网络(RNN)进行时间序列预测的流程.包括两个部分:首先,预测单变量时间序列,然后预测多变量时间序列. 文章目录 1. 数据集介绍 2. 单变量单步输出预测 2.1 数据标准化 ...

最新文章

  1. Python分析离散心率信号(下)
  2. win7下安装dynamips完全版
  3. 在asp.net中控制回车键
  4. hdu 1251 统计难题(字典树)
  5. [C++基础]034_C++模板编程里的主版本模板类、全特化、偏特化(C++ Type Traits)
  6. Slog55_lua面向对象之lua类
  7. 首次击败美国!2019《财富》世界500强公布:129家中国公司上榜
  8. 对象数组题目 Student类
  9. 长沙理工大学c语言编程题,长沙理工大学2014年上期期末c语言编程题库.doc
  10. linux系统 安装qq教程视频,LinuxQQ教程 LumaQQ的安装和使用详细介绍
  11. 专业心率监测器克服了心电噪声和电源的挑战---凯利讯半导体
  12. 收集45个实用的免费LOGO在线制作网站
  13. java 三个字母组合_每天AC系列(三):电话号码的字母组合
  14. 超融合和服务器关系_一文读懂超融合服务器
  15. Study13(从小白到大佬)
  16. 关于git提交报错Please tell me who you are.
  17. 名悦集团分享纯电动汽车保养的几个小秘诀
  18. 怎么学好计算机专业?
  19. Mysql数据库优化的目的和从那放几个方面进行优化
  20. adb对夜神模拟器查看游戏的log

热门文章

  1. 读《一个叫欧维的男人决定去死》
  2. 介绍一款绝对好用的词典,比金山词霸好n倍
  3. 在 Mac 上为 Apple ID 账户余额充值的方法
  4. 关于目标:骑行里程破万的感想
  5. 关于高校项目出差时的一些记录日志
  6. Segd 2.1格式注释
  7. 教你如何在iOS项目中设置各种字体
  8. Autodesk 产品
  9. kali 国内更新源
  10. VScode+PHPstudy配置PHP开发环境详解