# LSTM,GRU和BiLSTM在股票价格预测中比较研究
#### 介绍
本项目分别选择国内A股上海浦东发展银行(简称浦发银行,代码600000)和美股International Business Machines Corporation(简称IBM),其中浦发银行采用2008年1月1日到2020年12月31日的股票数据,共有3114条有效数据,数据来源于Tushare金融大数据平台。本项目选取该数据集的日期(date)、开盘价(open)、收盘价(close)、最高价(hign)、最低价(low)和成交量(volume)这6个特征进行实验。浦发银行的数据集除日期作为时间序列的索引以外,其他5个特征均作为自变量。IBM采用1990年1月2日到2018年11月15日的股票数据,共有7278条有效数据,数据来源于雅虎财经。本文选取该数据集的日期(date)、开盘价(open)、最高价(hign)、最低价(low)、 收盘价(close)、调整后的收盘价(Adj Close)和成交量(volume)这7个特征进行实验。IBM的数据集除日期作为时间序列的索引以外,其他6个特征均作为自变量。本次实验选择收盘价作为被预测的变量。
#### 数据的归一化
实验中各个特征在单位和量级上存在差异,比如股票价格和成交量之间量级差异巨大,会对实验最终预测结果产生影响。因此本文采用sklearn.preprocessing库中的MinMaxScaler方法将数据的特征缩放至0到1之间。这样既能提升模型精度,也能提升模型收敛速度。在实验过程中获得预测结果之后,还要将数据进行反归一化处理,之后才能进行股票价格预测和模型评估。
#### 数据划分
此处分别将浦发银行和IBM的整个实验数据集送入,设置循环核时间步(timestep)都为60,每个时间步输入特征个数分别为5和6。通过输入前60个交易日的数据,预测出第61天的收盘价。浦发银行归一化后的数据集按照2488:311:255的比例划分为训练集、验证集和测试集三个部分。IBM归一化后的数据集按照6550:364:304的比例的比例划分为训练集、验证集和测试集三个部分。划分出验证集的目的是方便进行调整模型的超参数以便优化各个模型之后再进行比较。
#### 调整超参数
调参主要还是根据损失函数的在验证集上进行比较。如果观察损失函数图像显示是过拟合的话,可以采取L1正则化与L2正则化、增大dropout、简化模型、增加数据量、early-stopping、数据增强等。欠拟合可以采取减小dropout、增大模型复杂程度、添加更多相关的特征、增大数据量等。
#### 模型比较
因为数据不一定服从正态分布,最好在多个数据集上或者交叉验证得到多个结果,对多个模型整体做 Friedman test和Nemenyi test,对两两模型之间做Wilcoxon Signed Ranks Test。

王二空间
- 粉丝: 7955
- 资源: 2123
最新资源
- 微控制器固件包_STM32CubeG0_1741142084.zip
- 《ARM9嵌入式系统设计基础教程》第13章图形用户接口(GUI).ppt
- 《机械设计基础》课后习题答案
- C#调用Ni板卡进行实现采集任务(模拟量输入输出)示例2
- 《实验一 Java开发环境&语法基础》
- 2016级河南大学计算机与信息工程学院创新实践计划-消防机器人.zip
- Java课程设计-学生成绩管理系统-Swing+MySQL.zip
- 《AE影视后期特效制作实例教程》8-3++空中气流写字字帖.ppt
- Unwrap Pro是一个3ds Max插件,可以在产生低失真,无重叠,加权密度的UVs的同时展开网格,而不像3ds Max Peel命令,它产生具有高面积失真的重叠UV,UnwrapPro是非常快的
- 大二下SQL实验学生信息系统.zip
- macd指标算法 php语言编写 大智慧/同花顺 数据一致
- 2025修复版绿色全自适应php核心制作的邮编查询网整站源码带百万数据+定时触发更新
- 人工智能&深度学习:PyTorch 图像识别实战 - 卷积神经网络与模块应用资源(源码+数据集+说明资料)
- 《Java语言编程基础立体化实用教程》2-6+成绩增加和成绩修改窗体的实现.ppt
- ITECH艾德克斯交直流程控源使用手册
- 实时操作系统_FreeRTOS_内核组件_通用与特定_1741145229.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


