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%左右

相关文章
|
8月前
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
280 2
|
8月前
|
机器学习/深度学习 算法 安全
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
392 0
|
7月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
796 2
|
6月前
|
机器学习/深度学习 自然语言处理 PyTorch
21_RNN与LSTM:序列建模的经典方法
在自然语言处理领域,处理序列数据是一个核心挑战。传统的机器学习方法难以捕捉序列中的时序依赖关系,而循环神经网络(Recurrent Neural Network,RNN)及其变种长短期记忆网络(Long Short-Term Memory,LSTM)通过其独特的循环结构,为序列建模提供了强大的解决方案。本教程将深入探讨RNN和LSTM的原理、实现方法和最新应用,帮助读者全面掌握这一NLP核心技术。
593 0
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
在现代数据分析中,高维时间序列数据的处理和预测极具挑战性。基于矩阵分解的长期事件(MFLEs)分析技术应运而生,通过降维和时间序列特性结合,有效应对大规模数据。MFLE利用矩阵分解提取潜在特征,降低计算复杂度,过滤噪声,并发现主要模式。相比传统方法如ARIMA和深度学习模型如LSTM,MFLE在多变量处理、计算效率和可解释性上更具优势。通过合理应用MFLE,可在物联网、金融等领域获得良好分析效果。
461 0
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
|
数据可视化 数据处理 Python
如何使用Python实现一个基于均线的交易策略
【10月更文挑战第9天】本文介绍了如何使用Python实现一个基于均线的交易策略。主要步骤包括导入所需库(如`pandas`、`numpy`和`matplotlib`),加载股票或期货的历史数据,计算均线和其他指标,实现交易策略逻辑,以及可视化交易结果。示例代码展示了如何根据均线交叉点进行开仓、止损和止盈操作,并提供了注意事项,如数据来源、交易成本和风险管理。
935 7
|
数据可视化 Python
【负荷预测】基于变分模态分解(VMD-CNN-LSTM)的短期电力负荷预测【Python】
本项目实现了一种基于变分模态分解(VMD)的短期电力负荷预测模型——VMD-CNN-LSTM。通过VMD技术将原始电力负荷数据分解为多个平稳子序列,结合温度和时间等特征构建矩阵,输入CNN-LSTM模型训练,最终叠加重构得到预测结果。此方法有效应对非线性和非平稳性引起的误差,精度高且稳定性强。程序采用Python编写,注释清晰,运行稳定,并提供直观的可视化结果。附带部分代码及详细运行结果展示,下载链接已提供。
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
887 5
|
算法 Python
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果;贪心算法在每一步选择局部最优解,追求全局最优;动态规划通过保存子问题的解,避免重复计算,确保全局最优。这三种算法各具特色,适用于不同类型的问题,合理选择能显著提升编程效率。
335 2
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
958 5

推荐镜像

更多
下一篇
开通oss服务