# 机器学习股价预测(使用多种模型实现)
## 文件说明
- forecast.py 数据处理、可视化、模型调用
- myutils.py 数据处理工具
- models.py 模型定义
- AMZN.csv 时间序列预测使用的数据集,为2010.01-2022.06的Amazon 股价变化情况,来自[Kaggle](https://www.kaggle.com/datasets/andrewmvd/sp-500-stocks?select=sp500_stocks.csv)
- backtest.py 回测
- draw_line.py 回测结果展示,backtest.py中自动调用
- 各月股票队列.xlsx 回测时使用的股票队列,日期范围为2020.04-2020.12,来自参考项目2
- 个股持有情况分析.xlsx 回测结果文件
- 持有期收益率情况图.html 回测结果图,需要pyecharts打开
- 每日资金情况图.html 回测结果图,需要pyecharts打开
## 环境配置
需要python3.8,其他依赖使用`pip install -r requirements.txt`命令安装
## 运行说明
- 时间序列预测
运行命令```python forecast.py --model $modelname```
运行时将`$modelname`替换为下面9种模型名称之一:
1. `linearRegression`
2. `DeterministProcess`
3. `RelativeStrengthIndex`
4. `ARIMA`
5. `DecisionTree`
6. `KNN`
7. `LSTM`
8. `Prophet`
9. `SVM`
- 回测
运行命令```python backtest.py```
## 实验结果
```
linearRegression:
Model train accuracy: 99.923%
Model test accuracy: 98.442%
Model train MAE: 0.424
Model train RMSE: 0.800
Model test MAE: 2.338
Model test RMSE: 3.252
DeterministProcess
Model train accuracy: 99.923%
Model test accuracy: 98.443%
Model train MAE: 0.425
Model train RMSE: 0.799
Model test MAE: 2.339
Model test RMSE: 3.251
ARIMA
Best model: ARIMA(0,1,0)(2,1,0)[12]
Total fit time: 47.517 seconds
Model test MAE: 73.689
Model test RMSE: 80.137
KNN
Model test MAE: 47.711
Model test RMSE: 53.677
LSTM
Model test MAE: 4.349
Model test RMSE: 5.701
Prophet
Model test MAE: 39.901
Model test RMSE: 44.794
SVM
accuracy=52.31%
DecisionTree
train accuracy: 0.550400
test accuracy: 0.476266
roc: 0.500000
RelativeStrengthIndex
{'超买市场(RSI>=80)且实际下跌': 131, '超买市场(RSI>=80)但实际上涨': 127, '强势市场(50<=RSI<80)且实际下跌': 760, '强势市场(50<=RSI<80)但实际上涨': 858, '弱式市场(50>RSI>=20)且实际上涨': 640, '弱式市场(50>RSI>=20)但实际下跌': 547, '超卖市场(RSI<20)且实际上涨': 32, '超卖市场(RSI<20)但实际下跌': 22}
```
| Model | MAE | RMSE |
|:------------------:|:------:|:------:|
| linearRegression | 2.338 | 3.252 |
| DeterministProcess | 2.339 | 3.251 |
| ARIMA | 73.689 | 80.137 |
| KNN | 47.711 | 53.677 |
| LSTM | 4.349 | 5.701 |
| Prophet | 39.901 | 44.794 |
## 参考项目
### 纯机器学习预测(不涉及因子建模)
1. https://www.kaggle.com/code/nedahs/apple-stock-time-series-ml-models/notebook
2. https://github.com/moyuweiqing/A-stock-prediction-algorithm-based-on-machine-learning
3. https://github.com/LightingFx/hs300_stock_predict
### 多因子分析及预测(已放弃)
- https://github.com/phonegapX/alphasickle
- https://github.com/JoshuaWu1997/EMD-ALSTM-Multi-Factor-Stock-Profit-Prediction
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
LR、LSTM、ARIMA、KNN等机器学习方法预测股价项目源码+文档说明,含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。该项目可以直接作为毕设、期末大作业使用,代码都在里面,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! LR、LSTM、ARIMA、KNN等机器学习方法预测股价项目源码+文档说明LR、LSTM、ARIMA、KNN等机器学习方法预测股价项目源码+文档说明LR、LSTM、ARIMA、KNN等机器学习方法预测股价项目源码+文档说明LR、LSTM、ARIMA、KNN等机器学习方法预测股价项目源码+文档说明LR、LSTM、ARIMA、KNN等机器学习方法预测股价项目源码+文档说明LR、LSTM、ARIMA、KNN等机器学习方法预测股价项目源码+文档说明LR、LSTM、ARIMA、KNN等机器学习方法预测股价项目源码+文档说明LR、LSTM、ARIMA、KNN等机器学习方法预测股价项目源码+文档说明LR、LSTM、
资源推荐
资源详情
资源评论
收起资源包目录
机器学习股价预测(使用多种模型实现).zip (31个子文件)
-master
AMZN.csv 301KB
backtest.py 7KB
forecast.py 4KB
models.py 16KB
draw_line.py 4KB
每日资金情况图.html 27KB
持有期收益率情况图.html 27KB
echarts.min.js 1.43MB
requirements.txt 154B
个股持有情况分析.csv 2KB
.gitignore 56B
各月股票队列.xlsx 13KB
images
deterministicProcess.png 49KB
trend.png 42KB
data_by_month.png 94KB
decompose.png 81KB
moving_average.png 44KB
prophet1.png 75KB
seasonal.png 209KB
data.png 148KB
prophet.png 75KB
partial_auto.png 29KB
LSTM.png 42KB
knn.png 39KB
autocorrelation.png 24KB
periodogram.png 41KB
prophet2.png 77KB
arima.png 41KB
linearRegression.png 49KB
README.md 3KB
myutils.py 4KB
共 31 条
- 1
资源评论
王二空间
- 粉丝: 6377
- 资源: 1700
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功