PYTHON用RNN神经网络LSTM优化EMD经验模态分解交易策略分析股票价格MACD

简介: PYTHON用RNN神经网络LSTM优化EMD经验模态分解交易策略分析股票价格MACD

全文链接:http://tecdat.cn/?p=28265 


作者:Xiaoyi Sun


预测股票价格,并在合适的时间产生交易策略实现收益,一直是一个热门的问题,到现在为止也提出了很多预测方法。但股票价格 的实时预测是一个难点,需要及时预测价格趋势并作出交易判断。


解决方案


任务/目标


根据市场上已有价格等数据,预测股票价格或趋势,形成交易策略,通过回测计算收益情况。


数据源准备


使用分钟集数据,获得股票价格、交易量、 流量数据,其中流量数据是用一种特殊的方 法计算。每天交易时间为 4 小时,所以一天 有 240 组数据。

由于数据量级的差异,需要对数据进行预处理,都进行归一化。


构造


以上说明了如何抽取相关特征,我们大致有如下训练样本(只列举部分特征)。

划分训练集和测试集


考虑到最终模型会预测将来的某时间段的销 量,为了更真实的测试模型效果,以时间来 切分训练集和测试集。其中训练集与测试集 的比例为 8:2。


建模


LSTM,长短期记忆网络,是一种特殊的 RNN 网络。LSTM 解决了 RNN 中存在的长期依赖问题, 有输入门、输出门和遗忘门。

EMD,经验模态分解,任何信号可以分解成若干模态分量之合。

EMD分解在处理非平稳及非线性数据上,具有非常明显的优势,适合于分析非线性、非 平稳信号序列,具有很高的信噪比。


模型优化


利用 LSTM 预测股票价格解决 EMD 分解的端点问题。

利用 LSTM 预测中国平安的股票价格情况:从 loss 图中可以看出,网络效果较好,训练集和测试集的loss 都是下降后趋于稳定,不存在过拟合现象。

从下图可以看出测试集的价格预测有很高的 一致性。


点击标题查阅往期内容


Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性


01

02

03

04



下图是放大后效果

利用EMD 分解计算 MACD 的值生成交易信号,将信号代入真实股价产生收益。可以 看出胜率在60%左右

相关文章
|
5天前
|
缓存 JSON 网络协议
Android面试题:App性能优化之电量优化和网络优化
这篇文章讨论了Android应用的电量和网络优化。电量优化涉及Doze和Standby模式,其中应用可能需要通过用户白名单或电池广播来适应限制。Battery Historian和Android Studio的Energy Profile是电量分析工具。建议减少不必要的操作,延迟非关键任务,合并网络请求。网络优化包括HTTPDNS减少DNS解析延迟,Keep-Alive复用连接,HTTP/2实现多路复用,以及使用protobuf和gzip压缩数据。其他策略如使用WebP图像格式,按网络质量提供不同分辨率的图片,以及启用HTTP缓存也是有效手段。
27 9
|
4天前
|
机器学习/深度学习 PyTorch 算法框架/工具
RNN、LSTM、GRU神经网络构建人名分类器(三)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
4天前
|
机器学习/深度学习
RNN、LSTM、GRU神经网络构建人名分类器(二)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
4天前
|
机器学习/深度学习 数据采集
RNN、LSTM、GRU神经网络构建人名分类器(一)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
7天前
|
机器学习/深度学习 算法 数据可视化
m基于PSO-LSTM粒子群优化长短记忆网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,应用PSO优化的LSTM模型提升了电力负荷预测效果。优化前预测波动大,优化后预测更稳定。PSO借鉴群体智能,寻找LSTM超参数(如学习率、隐藏层大小)的最优组合,以最小化误差。LSTM通过门控机制处理序列数据。代码显示了模型训练、预测及误差可视化过程。经过优化,模型性能得到改善。
25 6
|
5天前
|
机器学习/深度学习 算法 搜索推荐
神经网络中的优化方法
摘要: 这篇内容介绍了梯度下降优化算法在机器学习中的挑战,如平缓区域、鞍点和局部最小值,以及如何通过改进策略来克服这些问题。文章提到了几种优化方法,包括Momentum、AdaGrad、RMSprop和Adam。Momentum通过累积历史梯度信息来调整参数更新,帮助模型在训练过程中更快地收敛。AdaGrad和RMSprop解决了AdaGrad学习率过早衰减的问题,RMSprop结合了Momentum和AdaGrad的优势,通过一阶矩估计和二阶矩估计动态调整学习率,尤其适用于大规模数据集和复杂模型。Adam是RMSprop的一个变种,是深度学习中最常用的优化器之一。
|
算法 Python 设计模式
python设计模式(二十二):策略模式
策略模式,让一个类的行为或其算法可以在运行时更改,策略是让实例化对象动态的更改自身的某些方法使用的是types.MethodType绑定。 说起策略的动态更改方法,就不得不对比一下元类的动态增加方法,元类是类的抽象,它负责一个抽象类创建、实例化,是通过type函数来绑定方法。
1352 0
|
4天前
|
机器学习/深度学习 人工智能 前端开发
Python中的模块化编程
【6月更文挑战第17天】Python模块化编程与软件架构设计的关键在于拆分任务到独立模块,提高代码的可维护性、可重用性和可扩展性。例如,学生管理系统可分解为录入、查询和删除模块。MVC和MVVM架构模式有助于组织代码,而微服务和函数式编程将在未来发展中扮演重要角色。通过示例代码,读者能学习如何实现这些概念,提升项目开发效率和质量。
149 57
|
11天前
|
测试技术 虚拟化 云计算
GitHub高赞!速通Python编程基础手册,被玩出花了!
随着云时代的来临,Python 语言越来越被程序开发人员喜欢和使用,因为其不仅简单易学,而且还有丰富的第三方程序库和相应完善的管理工具。 从命令行脚本程序到 GUI程序,从图形技术到科学计算,从软件开发到自动化测试,从云计算到虚拟化,所有这些领域都有 Python 的身影。 今天给小伙伴们分享的这份手册采用以任务为导向的编写模式,全面地介绍了 Python 编程基础及其相关知识的应用,讲解了如何利用 Python 的知识解决部分实际问题。
GitHub高赞!速通Python编程基础手册,被玩出花了!
|
2天前
|
Python
Python多进程编程详细剖析
Python多进程编程详细剖析
13 3

热门文章

最新文章