# A Study on Stock Price Prediction and Quantitative Strategy - Based on Deep Learning
# 深層学習に基づく株価予測とクオンツ戦略に関する研究
# 基于深度学习的股票价格预测和量化策略研究
#### INTRODUCTION
In the project, by using the stock data of A-share market, and using LightGBM model to screen 50 factors, the most important 10 factors are selected. After that, we use the BiLSTM model to select the factor combination and establish the quantitative investment strategy. Finally, we make an empirical and back test on the strategy and find that the strategy is better than the market benchmark index, which shows the practical application value of the BiLSTM model in stock price forecasting and quantitative investment.
#### 概要
本研究ではA株の市場全体の株式データを用いて、LightGBMモデルを使用して50の価格ボリュームファクターをフィルタリングし、最も重要度の高い10つの要因を選び出しました。次に、BiLSTMモデルを用いてファクターを結合し、クオンツ投資戦略を構築しました。最後に、この戦略に対して実証的証明かつバックテストを行いました。そして、構築されたクオンツ戦略は市場指標を上回ることを発見し、株価予測とクオンツ投資におけるBiLSTMモデルの応用価値を示しました。それより、クオンツ投資戦略を構築するために、深層学習の有効性を証明しました。
#### 介绍
本项目通过使用A股全市场的股票数据,并先使用LightGBM模型进行对50个价量因子的筛选,选出重要程度最高的10个因子。之后再用BiLSTM模型选取进行因子组合,建立量化投资策略,最后对该策略进行实证与回测,发现该策略优于市场基准指数,说明了BiLSTM模型在股票价格预测和量化投资的实际应用价值。
#### 项目流程图
![LightGBM-BiLSTM实验步骤](https://images.gitee.com/uploads/images/2021/1009/160622_1c961091_7659950.png "屏幕截图.png")
本项目先从因子库中选取通过IR检验的50个因子。之后对因子依次进行去极值、缺失值处理、标准化和中性化的因子清洗步骤。再利用LighGBM模型进行因子选择,根据因子重要性进行排序得到前十的因子作为本横截面挑选出来的因子。紧接着利用BiLSTM对挑选出的十个因子进行组合,建立多因子模型。最后构建量化策略,进行策略回测与绩效分析。
#### 实验数据
1. 股票数据:
A股市场日线数据集包含5872309行数据,即5872309个样本。A股全市场日线数据集数据集有以下11个特征,分别为股票代码(ts_code)、交易日期(trade_date)、开盘价(open)、最高价(hign)、最低价(low)、收盘价(close)、昨收价(pre_close)、涨跌额(change)、涨跌幅(pct_chg)、成交量(vol)和成交额(amount)。中证全指日线数据集包含5057行数据,即包含5057个样本。如表13所示,中证全指日线数据集有以下7个特征,分别依次为交易日期(trade_date)、开盘价(open)、最高价(hign)、最低价(low)、收盘价(close)、交易量(volume)和昨收价(pre_close)。
2. 因子数据:
本项目节使用如下方式构建价量因子,构建价量因子的基础要素有两点:首先是基础字段,其次是算子。基础字段包括日频的最高价(high)、最低价(low)、开盘价(open)、收盘价(close)、上一日收盘价(pre_close)、成交量(vol)、涨跌(pct_chg)、换手率(turnover_rate)、交易金额(amount)、总市值(total_mv)和复权因子(adj_fator)。本项目通过gplearn提供的基础算子集和自己定义的特殊算子,得到算子列表。通过将基础字段和算子不同的组合,利用遗传规划和人工数据挖掘的方法得到因子生成的公式。
#### 构建的BiLSTM模型
![BiLSTM的网络结构](https://images.gitee.com/uploads/images/2021/1009/161946_684ae133_7659950.png "屏幕截图.png")
1.层与层之间使用循环神经网络默认的tanh和linear作为激活函数。并且为了防止过拟合加入Dropout,但是如果Dropout使用过大的丢弃比列会出现欠拟合的现象,因此Dropout的丢弃比列取值为0.01。最终模型的BiLSTM循环层的神经元个数为100,采用一层BiLSTM层和三层全连接层,其中BiLSTM层和第一个全连接层之间设置了一个Dropout。
2.本项目使用数据的数据量较大,所以选用epochs=400,batch_size=1024。模型的损失函数采用均方误差(Mean Square Error,MSE)。其中优化器采用随机梯度下降(Stochastic Gradient Descent,SGD)。随机梯度下降相对于梯度下降(Gradient Descent,GD)有在信息冗余的情况下更能有效的利用信息,前期迭代效果卓越,适合处理大样本的数据这三个优势。由于本实验训练数据量较大,使用SGD的话每次仅用一个样本来迭代,训练的速度很快,可以大大减少训练所花费的时间。本实验使用keras包中的默认值,即lr=0.01、momentum=0.0、decay=0.0和nesterov=False。
#### 策略及回测结果
![策略回测结果](https://images.gitee.com/uploads/images/2021/1009/161242_b3545b61_7659950.png "屏幕截图.png")
![策略净值图](https://images.gitee.com/uploads/images/2021/1009/161309_295841b4_7659950.png "屏幕截图.png")
1.本项目量化交易策略采用每隔一个月进行换仓(即调仓周期为28个交易日),每次换仓采取等额持股的方式买入BiLSTM预测出的预期收益率最高的25支股票,卖出原本所持有的股票。本文的回测时间和规则如下:
(1)回测时间:从2012年1月到2020年10月。
(2)回测股票池:全A股,剔除特别处理(Special treatment,ST)股票。
(3)交易手续费:买入时支付给券商交易佣金千分之二,卖出时支付给券商交易佣金千分之二,其中单笔交易佣金不满5元券商按5元收取交易佣金。
(4)买卖规则:当天开盘涨停股票不能买入,跌停股票不能卖出。
2.LightGBM-BiLSTM策略累计收益率为701.00%,远高于中证全指110.40%;年化收益率为29.18%,远高于中证全指9.70%;夏普率为0.77,高于中证全指0.24。这三项回测指标说明LightGBM-BiLSTM策略确实能够给投资者带来更大的收益。LightGBM-BiLSTM策略年化波动率为33.44%大于中证全指26.01%,最大回撤为51.10%小于中证全指58.49%,这两项回测指标说明LightGBM-BiLSTM策略存在一定的风险,特别是很难抵御系统性风险的冲击。年化换手率为11.35,年化交易成本率为2.29%,说明LightGBM-BiLSTM策略不是高频交易策略,交易成本较小。从收益曲线图可以看出LightGBM-BiLSTM策略在前两年的收益率和中证全指相差不大,并没有特别的优势。但从2015年4月左右开始LightGBM-BiLSTM策略的收益率明显好于中证全指的收益率。总体而言,LightGBM-BiLSTM策略的收益率十分可观,但仍然存在一定的风险。
#### 项目展望
1.本项目在预测股票价格方面,选取的股票收盘价作为预测目标,虽然这一结果最直观,但Bachelier(1900)提出的随机游走假说认为股票的价格服从随机漫步,是不可预测的。之后行为经济学家证明这一观点不完全正确,说明了单纯预测股票收盘价的难度和可解释性不强。因此可以选择股票波动率预测、股票涨跌判断和股票收益率预测等作为未来的研究的方向。
2.本项目在预测股票价格方面,对比了LSTM、GRU和BiLSTM这三种循环神经网络模型并且说明了BiLSTM预测效果最好,但对比三个模型规模尚少,未来可以深入研究与CNN、DNN�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【探索人工智能的宝藏之地】 无论您是计算机相关专业的在校学生、老师,还是企业界的探索者,这个项目都是为您量身打造的。无论您是初入此领域的小白,还是寻求更高层次进阶的资深人士,这里都有您需要的宝藏。不仅如此,它还可以作为毕设项目、课程设计、作业、甚至项目初期的立项演示。 【人工智能的深度探索】 人工智能——模拟人类智能的技术和理论,使其在计算机上展现出类似人类的思考、判断、决策、学习和交流能力。这不仅是一门技术,更是一种前沿的科学探索。 【实战项目与源码分享】 我们深入探讨了深度学习的基本原理、神经网络的应用、自然语言处理、语言模型、文本分类、信息检索等领域。更有深度学习、机器学习、自然语言处理和计算机视觉的实战项目源码,助您从理论走向实践,如果您已有一定基础,您可以基于这些源码进行修改和扩展,实现更多功能。 【期待与您同行】 我们真诚地邀请您下载并使用这些资源,与我们一起在人工智能的海洋中航行。同时,我们也期待与您的沟通交流,共同学习,共同进步。让我们在这个充满挑战和机遇的领域中共同探索未来!
资源推荐
资源详情
资源评论
收起资源包目录
人工智能项目资料-基于深度学习的股票价格预测和量化策略研究.zip (1410个子文件)
activate 2KB
activate.bat 945B
deactivate.bat 347B
sysconfig.cfg 3KB
pyvenv.cfg 72B
setup.cfg 0B
y_hat.csv 14.08MB
y_hat2.csv 13.87MB
fitness_dll.dll 93KB
oputils.dll 76KB
my_test_package-1.0-py3.7.egg 843B
wininst-14.0-amd64.exe 574KB
python.exe 506KB
pythonw.exe 505KB
wininst-14.0.exe 448KB
wininst-9.0-amd64.exe 219KB
wininst-10.0-amd64.exe 217KB
wininst-9.0.exe 192KB
wininst-10.0.exe 187KB
easy_install.exe 104KB
easy_install-3.8.exe 104KB
pip.exe 104KB
pip3.exe 104KB
pip3.8.exe 104KB
t64.exe 104KB
w64.exe 98KB
t32.exe 95KB
w32.exe 88KB
gui-64.exe 74KB
cli-64.exe 73KB
cli-32.exe 64KB
cli.exe 64KB
gui-32.exe 64KB
gui.exe 64KB
wininst-7.1.exe 64KB
wininst-6.0.exe 60KB
wininst-8.0.exe 60KB
.gitattributes 66B
.gitignore 236B
index_daily.h5 1.34MB
index.html 174B
external.html 92B
lightbgm_CNN.iml 402B
INSTALLER 4B
INSTALLER 4B
oputils.lib 4KB
LICENSE 1KB
LICENSE 1KB
README.md 9KB
METADATA 4KB
METADATA 4KB
new_oputils._ArgSortMin.locals._ArgSortMin_-277.py37.5.nbc 51KB
new_oputils._ArgSortMin.locals._ArgSortMin_-277.py37.4.nbc 51KB
new_oputils._ArgSortMin.locals._ArgSortMin_-277.py37.3.nbc 51KB
new_oputils._ArgSortMin.locals._ArgSortMin_-277.py37.8.nbc 51KB
new_oputils._ArgSortMin.locals._ArgSortMin_-277.py37.6.nbc 51KB
new_oputils._ArgSortMin.locals._ArgSortMin_-277.py37.7.nbc 51KB
new_oputils._ArgSortMin.locals._ArgSortMin_-277.py37.2.nbc 51KB
new_oputils._ArgSortMax.locals._ArgSortMax_-247.py37.3.nbc 51KB
new_oputils._ArgSortMax.locals._ArgSortMax_-247.py37.6.nbc 51KB
new_oputils._ArgSortMax.locals._ArgSortMax_-247.py37.5.nbc 51KB
new_oputils._ArgSortMax.locals._ArgSortMax_-247.py37.4.nbc 51KB
new_oputils._ArgSortMin.locals._ArgSortMin_-277.py37.1.nbc 51KB
new_oputils._ArgSortMax.locals._ArgSortMax_-247.py37.1.nbc 51KB
new_oputils._ArgSortMax.locals._ArgSortMax_-247.py37.2.nbc 51KB
new_oputils._ArgSort.locals._ArgSort_-187.py37.1.nbc 40KB
new_oputils._ArgSortMin.locals._ArgSortMin_-277.py37.nbi 7KB
new_oputils._ArgSortMax.locals._ArgSortMax_-247.py37.nbi 5KB
new_oputils._ArgSort.locals._ArgSort_-187.py37.nbi 1KB
cacert.pem 275KB
PKG-INFO 187B
factors_build.pkl 2.46MB
res.png 38KB
dissertation introduction.pptx 2.83MB
Activate.ps1 8KB
distutils-precedence.pth 152B
pyparsing.py 267KB
pyparsing.py 221KB
pyparsing.py 221KB
uts46data.py 197KB
html5parser.py 114KB
__init__.py 106KB
__init__.py 105KB
tarfile.py 90KB
easy_install.py 84KB
constants.py 82KB
ipaddress.py 78KB
_tokenizer.py 75KB
util.py 58KB
locators.py 51KB
msvc.py 50KB
database.py 50KB
dist.py 49KB
ccompiler.py 46KB
distro.py 43KB
idnadata.py 41KB
compat.py 40KB
wheel.py 40KB
package_index.py 40KB
test_easy_install.py 39KB
共 1410 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
资源评论
妄北y
- 粉丝: 9735
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功