毕设项目分享 LSTM股价预测

0 简介

今天学长向大家介绍一个机器视觉的毕设项目

毕业设计项目分享 LSTM股价预测

项目运行效果:

毕业设计 lstm股价预测

🧿 项目分享:见文末!

1 LSTM 神经网络

长短期记忆 (LSTM) 神经网络属于循环神经网络 (RNN) 的一种,特别适合处理和预测与时间序列相关的重要事件。以下面的句子作为一个上下文推测的例子:


“我从小在法国长大,我会说一口流利的??”

由于同一句话前面提到”法国“这个国家,且后面提到“说”这个动作。因此,LSTM便能从”法国“以及”说“这两个长短期记忆中重要的讯号推测出可能性较大的”法语“这个结果。

K线图与此类似,股价是随着时间的流动及重要讯号的出现而做出反应的:

  • 在价稳量缩的盘整区间中突然出现一带量突破的大红K,表示股价可能要上涨了

  • 在跳空缺口后出现岛状反转,表示股价可能要下跌了

  • 在连涨几天的走势突然出现带有长上下影线的十字线,表示股价有反转的可能

LSTM 要做的事情就是找出一段时间区间的K棒当中有没有重要讯号(如带量红K)并学习预测之后股价的走势。

2 LSTM 股价预测实例

数据是以鸿海(2317)从2013年初到2017年底每天的开盘价、收盘价、最高价、最低价、以及成交量等数据。

34e237e272214828b2bd563dab859c02.png

首先将数据写入并存至pandas的DataFrame,另外对可能有N/A的row进行剔除:

数据写入:

    
    import pandas as pd
    foxconndf= pd.read_csv('./foxconn_2013-2017.csv', index_col=0 )
    foxconndf.dropna(how='any',inplace=True)

為了避免原始数据太大或是太小没有统一的范围而导致 LSTM 在训练时难以收敛,我们以一个最小最大零一正规化方法对数据进行修正:

    
    from sklearn import preprocessing
    
   def normalize(df):
        newdf= df.copy()
        min_max_scaler = preprocessing.MinMaxScaler()
        newdf['open'] = min_max_scaler.fit_transform(df.open.values.reshape(-1,1))
        newdf['low'] = min_max_scaler
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值