该项目用于对hs300股票的预测,包括股票下载,数据清洗,LSTM 模型的训练,测试,以及实时预测。
文件构成
1、data_utils.py 用于股票数据下载,清洗,合并等。该文件共有9个函数。
get_stock_data(code, date1, date2, filename, length=-1)
该函数用于下载股票数据,保存开、高、收、低、量、涨跌幅等6维数据。
由于用的tushare接口,因此只能下载最近两年的数据。(从新浪网易财经的数据爬虫接口后续开放)
共有5个参数
code是需要下载的股票代码,如000001是平安银行的股票代码,输入'000001'既下载平安银行的股票数据。
date1是开始日期,格式如"2019-01-03",date2是结束日期,格式同上。
filename是存放数据的目录,如"D:\data"
length是筛选股票长度,默认为-1,既对下载的股票数据长度上不做筛选,如果人为指定长度如200,既会将时间长度200以下的数据剔除不予以保存。
get_hs300_data(date1, date2, filename)
该函数用于下载沪深300指数数据,参数格式同get_stock_data
update_stock_data(filename)
该函数将股票数据从本地文件的最后日期更新至当日,filename是指定的单只股票路径名称,如"d:\data\000001.csv"
get_data_len(file_path)
该函数过去单只股票的时间长度,file_path是单只股票路径名称,如"d:\data\000001.csv"
select_stock_data(file1, file2, date1, date2)
该函数对已经再本地的文件按照日期筛选,date1是开始数据,date2是结束数据,file1是源文件夹,file2是筛选日期后文件存放的文件夹
crop_stock(df, date)
该函数暂时不使用
fill_stock_data(target, sfile, tfile)
该函数按照沪深300指数的时间长度来对个股停盘数据进行填充,填充为该股上一交易日的数据。该函数是对所选文件夹下所有文件进行处理。
注意,如果开始日期是属于停牌的,那么该段停牌将不会被填充,后续会有更新。
target为参照股票,一般选择同时间段的沪深300指数文件,sfile为原文件夹,tfile为填充完要存放文件夹。
merge_stock_data(filename, tfile)
该函数将多个文件按序合并为一个文件,如讲沪深300只个股文件合并为一个总文件,方便后续模型输入。
filename是需要合并的文件夹路径,tfile是存放合并后文件的文件夹路径。
quchong(file)
该函数暂不使用。
2、dataprocess.py 用于训练数据的处理,归一化等,模型的输入都由该文件的接口输出提供。
get_train_data(batch_size=args.batch_size, time_step=args.time_step)
该函数用于处理训练数据,参数默认,有配置文件给定。该函数返回五个变量:batch_index训练集分批处理的批次, val_index验证集批次, train_x_1, 训练集输入,train_y_1, 训练集标签,val_x, y验证集输入,val_y验证集标签
备注:由于整个数据处理是对多只股票合成的总文件处理,所以在时间步长迭代添加时须在各自股票时间长度内完成,因此,需要在配置文件中指定股票长度。
get_test_data(time_step=args.time_step)
该函数用于处理测试集数据,返回两个变量:test_x测试集输入, test_y测试集标签。
get_update_data(time_step=args.time_step)
该函数将更新数据加历史数据的前time_step-1拼接,用于整批处理,如2019 1-3月数据和2018.12的数据拼接,返回拼接后的train_x, train_y
get_predict_data(file_name)
该函数完成下载实时股票数据,与之前的数据拼接后返回输入x。有一个参数需要填充,file_name既要预测的单只股票文件。
3、config.py 配置文件,所有接口内超参数,路径等,在该文件修改,即可在全局生效。
4、lstm_model 模型,包括训练,微调,测试,及预测。
train_lstm(time_step=args.time_step, val=True)
用于训练的函数,val既是否验证,默认开启。其数据来自get_train_data()
fining_tune_train(time_step=args.time_step)
用于微调模型,如新增数据在原模型继续训练,或者迁移学习等。其数据可以来自get_update_data()
test(time_step=args.time_step)
用于测量测试集的准确率和F1,数据来自get_test_data()
predict(time_step=args.time_step)
用于预测第二天的收盘价,数据来自get_predict_data(args.predict_dir)
5、stock_main.py 主函数
可以调用上述所有函数接口,实现相关功能。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
python实现的基于LSTM的沪深300股票的预测源码+文档说明(期末大作业).zip已获导师指导并通过的97分的高分大作业设计项目,可作为毕业设计、课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 python实现的基于LSTM的沪深300股票的预测源码+文档说明(期末大作业).zip已获导师指导并通过的97分的高分大作业设计项目,可作为毕业设计、课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 python实现的基于LSTM的沪深300股票的预测源码+文档说明(期末大作业).zip已获导师指导并通过的97分的高分大作业设计项目,可作为毕业设计、课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 python实现的基于LSTM的沪深300股票的预测源码+文档说明(期末大作业).zip已获导师指导并通过的97分的高分大作业设计项目,可作为毕业设计、课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 python实现的基于LSTM的沪深300股票的预测源码+文档说明(期末大作业).zip已获导师指导并通过的97分的高分大作业设计项
资源推荐
资源详情
资源评论
收起资源包目录
python实现的基于LSTM的沪深300股票的预测.zip (11个子文件)
主-master
data
test_mix.csv 1.7MB
readme 78B
train_mix-17-18.csv 6.16MB
train_mix-19.csv 745KB
使用说明.txt 4KB
code
stock_main.py 152B
dataprocess.py 11KB
lstm_model.py 10KB
transformer_to_stock 22B
data_utils.py 5KB
config.py 2KB
共 11 条
- 1
资源评论
- Jade_moon01242024-06-05资源内容详细全面,与描述一致,对我很有用,有一定的使用价值。
- inmyatmosphere662024-05-09资源太好了,解决了我当下遇到的难题,抱紧大佬的大腿~
- Gabrielle_ynwa2024-11-11资源值得借鉴的内容很多,那就浅学一下吧,值得下载!
猰貐的新时代
- 粉丝: 1w+
- 资源: 2886
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功