前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LSTM模型预测效果惊人的好,深度学习做股票预测靠谱吗?

LSTM模型预测效果惊人的好,深度学习做股票预测靠谱吗?

作者头像
机器学习AI算法工程
发布2018-03-15 14:49:41
3.3K0
发布2018-03-15 14:49:41
举报
文章被收录于专栏:机器学习AI算法工程

给你讲个段子!真实的!

我去一家量化交易公司实习,一次meeting中,我和老总还有一个资深大佬谈机器学习在股票和期货里面的应用。

我:LSTM在时间序列上应用的效果比较好,我们可以尝试把LSTM应用在股票预测上。 此时,大佬在阴笑,老总默不作声...

我:你为啥笑 大佬: 不work啊!

我:为什么不work?!

这时老总也在旁边强掩笑容,大佬终于忍不住说了,有两个原因,第一个是你如何保证你的因子有效?

老总就补充到:对啊,你的模型很可能garbage in garbage out.

我说:那你们提供因子来训练模型啊

大佬阴笑....

然后大佬又继续说:第二个就是,你非常可能过拟合!

我说:那我们可以加regularization啊。

接着他们俩忽略我的话了,老总接着说:其实我们是想要一个模型能根据每天的数据进行反馈,自动更新。

我一想,这TM的不就是reinforcement learning嘛,我说:可以用reinforcement learning试试。 大佬又开始笑了,我很纳闷。

大佬说:我就是知道他们有些人在用reinforcement learning,我才能赚钱!!!

最后实习结束之后,在大佬的带领下,我才明白了交易的三重境界

归纳 演绎 博弈

所谓的深度学习不过是基于历史数据进行拟合的归纳法罢了,如果把深度学习用来做股票预测,长期的是expected亏钱的,因为市场在变,规律在变,历史可能重演,但是又不尽相同。

深度学习肯定是可以用在股票市场的,比如针对某只股票的新闻情感分析等。但是不能用来预测市场走向!!!

想在市场上赚钱,就得博弈,你得知道其他人在干什么,因为市场是有所有的参与者共同决定的。

举个简单的博弈方法: 中国的期货市场之前很长一段时间,很多人,包括一些机构,都在用趋势策略,不同人和机构之间不外乎就是趋势的策略参数不同,让策略性能稍有不同,入市出市点不同,但是大体是类似的。所以这个时候,你应该知道市场上有一部分资金是在用这种趋势策略在跑的,那么在未来的某一个时间点,这些策略会相继的发出信号,然后人们去执行买入卖出的操作。

所以有趣的地方来了,既然你已经知道有一部分人在干嘛了,你是不是就可以设计策略来巧妙的利用其他的人的策略呢?你是不是可以设计一个类似的趋势策略,来告知你别人在这个时候可能会干嘛,而你来选择做更有意义的事情,而不是是不断去改进所谓的趋势策略呢?

所以,回到深度学习的问题上,如果深度学习用来归纳过去的数据,然后来预测股票走势,我觉得是不靠谱的。但是如果能想办法把深度学习用在博弈问题上,那么我觉得有可能靠谱。

我仅站在技术的角度去抛砖引玉的归纳一下这个问题,先陈述一下Deep learning的要点:

首先,Deep learning能做一切数据挖掘有关的事情,区别在于你能不能结合自身的经验去建立一个较优的模型,让learning更加的“高效”,这种“高效”包含但不限于:学习时间、学习误差率、学习鲁棒性、学习所耗费的资源等。

其次,Deep learning处理的数据前期至少要求是相对全面的,不全面的数据、甚至如果有重要的数据有所隐藏,对于任何学习模型来讲基本都是灾难的。(假设世界上除了男人、女人,还有第三种人,你在不知道的情况下如何去分类?怎么分类都是错的)

再次,Deep learning所谓的模型,对于目前而言,受限于基础理论,建立模型的过程是渐进的、甚至是需要人工的,所以“调参”的手段是有很大的“主观成分”在里面的,所谓的“主观成分”不单单是说在股票行业经验越多越好,而且要求是正确的、有体系(结构化、去噪音)的经验,事实上,很多投资经理自身投资的过程中受限于压力,经常带入了很多非科学、非理性的情感,甚至犯很多基础错误,导致投资失败。也就是说:模型即使是对的,调参人员太傻比也不行!

最后,Deep learning是统计学和机器学习两门科学的交叉科学,它的宗旨是通过统计学习方法运用机器学习的运算(实现)思路,让机器帮我们去计算各种事件出现的概率,协助我们去分类大数据、预测新的样本为【某个特定分类】的概率等等。但是,仅仅是“概率”,既然是“概率”必然也就只是可能性而已。

有了上面四个简单的Deep learning基础咱们再来看股票预测这个问题,思路会很清晰:

根据第一点股票预测这件事情肯定是可以做的,因为股票预测是数据挖掘的问题,无非也就是根据一堆数据分析去得出一个分类而已:{0:涨,1:跌}。但是,用Deep learning去做靠谱吗?

我们说这个问题取决于前面Deep learning提到的后三点:你的数据是否全面?你的模型在建立的过程当中,负责调参的人靠不靠谱?然后,介于Deep learning只是概率事件,你是不是用一次成败去论英雄?

在提到数据全面这个问题上,我们不得不承认,在中国的股票市场是不适合用数据去预测的,因为中国的市场是有操纵嫌疑的(这个仅仅代表个人的观点哈,不喜勿喷),很多企业的内部数据基本都是不向外开放、甚至刻意利用信息不对称去操纵股价,这个我就点到为止吧,相信大家都承认,扯多了就是不技术问题了,而是政策问题。

相对而言,在数据准确、全面的基础之上,我们去做DL会好很多,但是这个时候我们也不能说DL得出的结论一定是靠谱的,因为受限于基础理论,目前的DL基本都需要人工去调整参数,这个时候考虑的就是调参人员的经验了。为了弥补这点,在美国华尔街,很多对冲公司都是形成一个个的项目组,一个项目组成员包含:分析员(DL、ML)、资深经理人(对股票的了解深入骨髓)、操盘手(负责根据DL、ML的结论操作数据)等等。但是即使这样,由于跨界的隔阂,团队也不一定能够100%的建立一个牛逼的模型,这个时候就需要一个“交叉科学家”:他上知技术、下知股票行业,同时也是个很好的管理者,这样的人员去做leader,然后协调技术和证券人员模型才能更好的建立,举个例子:数学家西蒙斯:华尔街最赚钱的基金经理

http://blog.sina.com.cn/s/blog_8e35b5d00101709y.html

最后提到一点Deep learning是一个概率的事件集,即使是目前看似神武围棋DL程序alphaGo,在前期也是屡次失败的,因为它走每一步棋都只是代表“走完这一步之后我的棋盘局面会是【相对最好】的概率”,为什么是相对,前面提到过,受限于资源,DL不可能计算每一种可能性,利用牛顿下降法、改进梯度下降法也只能是让我们达到局部最优,而不是全局最优。而即使达到全局最优,DL运算也是给出每一种结果成功的概率,概率只是可能性。笔者自己尝试着在10台机器上面基于tensorflow框架跑过一个自己改造的围棋DL程序,由于计算资源不足,导致隐节点数量和深度都只能调整很低,所以效果只能说一般(但比我自己强[害羞])。

所以,站在技术的角度,DL做股票分析是靠谱的,但是前提是你的数据得准确、调参人员兼顾技术+股票经验、并且承认成功也只是概率事件。而且,现在在华尔街,美股市场中几乎每家对冲基金公司都在用DL预测,只有有些公司做得好、有些公司做得差而已。笔者也从朋友那里听说过,目前貌似国内有个90后掌控了几百亿资金在做“量化交易”,做的是美股市场,真假我就不保证了,但是应该有。via https://www.zhihu.com/question/54542998/answer/226949686

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档