篮球让分胜负投注技巧

《华尔街之狼——使用LSTM时序预测股价》

自从公司搬到厦门国际金融中心对面后,总感觉消费水平太高钱包瘪得快。大伙一直在想有什么方式可以赚点外快,讨论来讨论去实在身无特长, 只有老本行——搬砖和数据智能。现在天气热了搬砖不好赚,只能试试用数据智能炒股了。

1、人工智能炒股?#31185;?#21527;?

2、BOSS天天哭着喊着洞察宇宙,我们的产品在量化投资上发挥点作用吗?

首先,股市是一个有反馈的非线性系统,股票的涨跌现象是一?#21482;?#27788;现象。

混沌现象指的是一种确定的但不可预测的运动状态。它的外在表现和纯粹的随机运动很相似,即都不可预测。但和随机运动不同的是,混沌运动在动力学上是确定的,它的不可预测性是来源于运动的不稳定性。或者说混沌系统对无限小的初值变动和微扰也具有敏感性,无论多小的扰动在长时间以后,也会使系统彻底偏离原来的演化方向。 混沌现象是自然界中的普遍现象,天气变化就是一个典型的混沌运动。混沌现象的一个著名表述就是蝴蝶效应:?#21414;?#27954;一只蝴蝶扇一扇翅膀,就可能会在佛罗里达引起一场飓风。——维基百科

  • 1、你永远无法考虑到所有因素,有些因素在人类历史长河中只出现一次;
  • 2、你无法预测每个因素带来的影响有多大,微小的因素也可能带来震荡;
  • 3、因素不只是直接影响股价,因素之间也会互相产生作用;

看起来好像很绝望。但我们的观点是可行的,几个原因:

  • 1、混沌现象本身也是一?#21482;?#27788;现象,规律和概率是一个组合;
  • 2、套利存在一个准确率问题,例如,你赌赢了70%了;
  • 3、套利存在多种手段,高?#21040;?#26131;、对冲基金…..

MIT曾发布一篇论文:贝?#31471;?#22238;归与比特币 (https://arxiv.org/pdf/1410.1231v1.pdf) 大体意图就是用贝?#31471;?#22238;归预测比特?#21494;?#26399;价格的涨跌,然后做高?#21040;?#26131;。

只用了3天的数据训练出的部分交易结果图,绿色点买入,红色点卖出。大家感受下......

正式进入我们今天的主题:如何使用一阶信息(即历史股价)来预测股价。
常见的做法一般是做时序分析,包括Pseudo R-Squared,ARIMA,GRACH(涨跌幅度)等手段。

我们今天来试下一?#20013;?#26041;法:深度学习中的LSTM

介绍LSTM之前,先简单说下RNN。递归神经网络(RNN)是?#34903;?#20154;工神经网络的总称。一种是时间递归神经网络(recurrent neural network), 另一种是结构递归神经网络(recursive neural network)。时间递归神经网络的神经元间连接构成有向图, 而结构递归神经网络利用相似的神经网络结构递归构造更为复杂的深度网络。RNN一般指代时间递归神经网络。时间递归神经网络可以描述动态时间行为, 因为和前馈神经网络(feedforward neural network)接受较特定结构的输入不同,RNN将状态在自身网络中循?#21453;?#36882;,因此可以接受更广泛的时间序列结构输入。 ?#20013;?#35782;别是最早成功利用RNN的研究结果。

但是RNN有个问题,当需要更多上下文信息时,它就变得很健忘。

LSTM,全称为长短期记忆网络(Long Short Term Memory networks),是一种特殊的RNN,能够学习到长期依赖关系。LSTM由Hochreiter & Schmidhuber (1997)提出,许多研究者进行了一系列的工作对其改进并使之发扬光大。 LSTM在许多问题上效果非常好,现在被广泛使用,例如聊天机器人。

LSTM在设计?#21414;?#30830;地避免了长期依赖的问题。记住长期信息是小菜一碟!所有的循环神经网络都有着重复的神经网络模块形成链的?#38382;健?

我们今天?#32479;?#35797;下这个记性好的家伙如何在股票时序预测上进行运用。
这个案例来自汇丰银行全球资产管理开发副总裁Jakob Aungiers的个人网站 (http://www.jakob-aungiers.com)

一、训练数据

我们选用标普500指数作为训练数据。

二、规范化

我们需要对数据进行规范化,使其在神经网络优化中达到更好的收敛。

三、其他数据预处理

当然,我们还需要将数据转成LSTM接受的三维数据、Split、Shuffle等等。

四、构建神经网络模型

五、损失函数和优化器

损失函数选择MSE,优化器肯定是RMSprop(RNN的好基友)。

六、预测结果

看起来还是比较吻合大趋势的…..

整个过程下来,大约需要150行代码左右,?#20849;?#21253;括GPU环境调试等等。 这个时候?#25351;?#25105;们的零编码神器——DataExa Insight出场了。

一、拖拖拽拽,配置参数

我们支持上百种神经网络层和数据处理组件,以及超细粒度的参数配?#38376;丁?/span>

二、点击运?#26657;?#37197;置深度学习作业

1、本地模式

2、远程模式

3、分?#38469;?#38598;群模式

三、查看运行过程的指标

本例子数据和迭代比较少,下图用其他例子来展示

四、监测?#24067;?#24615;能

1、GPU

2、CPU

3、Disk

4、Memory

五、输出结果

超级傻瓜化有木有!

几个?#34385;埃珺AT纷纷推出了自己的深度学习平台,我们也来对比学习下。

必须写完代码后上传(最麻烦的部分——代码都写完了,为啥还要到阿里云跑呢?)

更多的细节就暂时不做对比,日后再说。

最后用一张《华尔街之狼》的图来表达我写这篇文章的心情。

篮球让分胜负投注技巧