用深度学习做了下中国股市预测,结果是...
从这篇开始,我们的专栏将正式开始涉及人工智能领域。
人工智能常常用来解决分类和回归的问题。字母、语音、图像识别这些可以看做分类问题,而基于时间序列的预测就是一种回归分析。人工智能乃至深度学习还是有着颇深的理论门槛的,本人目前也还在学习中。但是如果我们只是想简单的应用一下,还不是太难。这篇文章我们将使用深度学习的方法,针对1991年至今的上证指数进行时间序列的预测,来看一看未来大盘的走势如何。
郑重声明:本文章仅供娱乐,在投资方面不具备任何指导意义。本人不对文章结果负责。( ̄▽ ̄)/
对于深度学习,通常会选择Python作为编程语言。出于平台统一的考虑,专栏的人工智能部分将继续使用MATLAB作为主要工具,后期可能会补充Python的实现方法。MATLAB 2018a中新增了深度学习的工具箱,入门门槛低,可以很容易地设计和构建模型、训练网络以及实现可视化。其中提供的长短期记忆(LSTM)网络工具箱即可实现数据信号的预测。
首先我们先找到从1991年1月到2018年10月的上证指数数据(收盘),并作为研究对象。该数据的时间间隔为月,画出这28年间的大盘走势:
1991年至今的上证指数走势
时间序列的多步预测在MATLAB的帮助文档中给出了很好的例子,针对代码稍作修改就可以使用。不过需要针对不同的时间序列对象分别调参,为了调参方便,笔者使用AppDesigner写了一个简单的UI界面,这样操作起来就简洁多了。
使用MATLAB自带的APPDesigner可以快速编写软件
经过反复(并没有)的调参,最终获得了一个效果尚可(并不)的结果。MATLAB的深度学习工具箱可以选择显示训练过程,如下图:
参数设置中的“预测序列长度”即将要进行预测的时间长度,我们设置了12个月。
LSTM网络通过循环迭代完成多步预测,在这个迭代过程中,预测的结果的可信度是逐渐降低的,所以我们尽管有过去334个月的数据,但也只设置了预测未来12个月的趋势(甚至12个月都偏长)。
好了,那这个方法最终预测到的未来一年的股市趋势是什么样的呢?
最后红色那段就是了,看起来该网络对未来持悲观态度。
在专业的经济预测中,要综合考虑包括市场环境、政策因素在内的诸多影响,远不是单靠一段时间序列就可以预测出来的。但是针对时间序列的多步预测的方法本身却是很有意义的,在适用的场景下需善加利用。
欢迎关注本人的专栏与信号处理有关的那些东东,未来会开始更新关于人工智能的内容,我会尽量多做一些有趣的分析,对理论进行一些比较通俗的讲解。同时信号特征分析和提取的内容也会不定期进行补充。欢迎大家讨论与指正。
欢迎关注我的公众号“括号的城堡”,微信号为“khscience”,会有更多有趣的东西分享。
参考:
Time Series Forecasting Using Deep Learning
数据来源:
上证综合指数历史行情 - Investing.com
用深度学习做了下中国股市预测,结果是...相关推荐
- 聊一聊深度学习做寿命预测
本博客的码字背景 最近马上就研三了,回顾一路从小白开始入门深度学习做机械核心零部件寿命预测的历程吧. 1.本科期间未接触过python,深度学习相关的内容. 2.研究生在寿命预测方向入门画的时间比较长 ...
- 如何用深度学习做自然语言处理?这里有份最佳实践清单
如何用深度学习做自然语言处理?这里有份最佳实践清单 By 机器之心2017年7月26日 14:16 对于如何使用深度学习进行自然语言处理,本文作者 Sebastian Ruder 给出了一份详细的最佳 ...
- 【干货】怎样用深度学习做语音识别
[新智元导读]吴恩达曾经预测当语音识别的准确率从95%上升到99%时,语音识别将会成为人类与计算机交互的新方式.归功于深度学习,这4%的准确率的提升使得语音识别从难以实际应用的技术变成有无限的应用潜力 ...
- 用深度学习做命名实体识别(五)-模型使用
通过本文,你将了解如何基于训练好的模型,来编写一个rest风格的命名实体提取接口,传入一个句子,接口会提取出句子中的人名.地址.组织.公司.产品.时间信息并返回. 核心模块entity_extract ...
- 时间序列深度学习:状态 LSTM 模型预测太阳黑子
目录 时间序列深度学习:状态 LSTM 模型预测太阳黑子 教程概览 商业应用 长短期记忆(LSTM)模型 太阳黑子数据集 构建 LSTM 模型预测太阳黑子 1 若干相关包 2 数据 3 探索性数据分析 ...
- 用深度学习做球星颜值打分完整案例(一)
已经上传了完整的代码和数据,数据比较少,大家可以帮忙补充. 项目地址(记得给个start):https://github.com/jimenbian/face_rank 先来说一下项目的背景,这次做的 ...
- 手把手教你用深度学习做物体检测(二):数据标注
"本篇文章将开始我们训练自己的物体检测模型之旅的第一步-- 数据标注." 上篇文章介绍了如何基于训练好的模型检测图片和视频中的物体,若你也想先感受一下物体检测,可以看看上篇 ...
- 用深度学习做命名实体识别(四)——模型训练
通过本文你将了解如何训练一个人名.地址.组织.公司.产品.时间,共6个实体的命名实体识别模型. 准备训练样本 下面的链接中提供了已经用brat标注好的数据文件以及brat的配置文件,因为标注内容较多放 ...
- 手把手教你用深度学习做物体检测(四):模型使用
上一篇<手把手教你用深度学习做物体检测(三):模型训练>中介绍了如何使用yolov3训练我们自己的物体检测模型,本篇文章将重点介绍如何使用我们训练好的模型来检测图片或视频中的物体. 如 ...
最新文章
- transformer引燃机器学习圈 万能的
- python基础:购物车的简单实现
- python培训深圳-深圳哪家python培训班比较靠谱
- GContracts1.1.0支持前置/后置条件的继承
- ElasticSearch日志删除命令
- Python之Requests
- java程序设计_80后程序员,带你深入理解Java基本的程序设计结构,不来你别后悔...
- mysql generic安装_MySQL 5.6 Generic Binary安装与配置
- 细水长flow之NICE:流模型的基本概念与实现
- mac下修改mysql默认字符集为utf8
- (0.2)HarmonyOS鸿蒙开发工具DevEco Studio工程文件目录结构
- 39 网络相关函数(七)——live555源码阅读(四)网络
- centos + nodejs + egg2.x 开发微信分享功能
- 2010-4-22 星期四 晴转多云
- lisp把多段线顶点连成表_读取多段线顶点并将顶点坐标标到数组中
- 新农合研究的文献外文回顾
- PRD产品需求文档原型模版
- 如何卸载新版Edge并禁用自动更新
- 【单细胞测序】一、单细胞测序技术总结
- 输入三角形边长,求面积