大数据挖掘DT数据分析

手把手带你玩各种数据分析案例,涵盖数据分析工具使用,数据挖掘算法原理与案例,深度学习,机器学习,R语言,Python编程,爬虫。...

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

0?wx_fmt=gif&wxfrom=5&wx_lazy=1

 向AI转型的程序员都关注了这个号???


大数据挖掘DT数据分析  公众号: datadw


给你讲个段子!真实的!  


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


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


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


我:为什么不work?!  


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


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


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


大佬阴笑.... 


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


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


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


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


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



0?wx_fmt=jpeg


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


归纳  演绎  博弈  


 所谓的深度学习不过是基于历史数据进行拟合的归纳法罢了,如果把深度学习用来做股票预测,长期的是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


人工智能大数据与深度学习

搜索添加微信公众号:weic2c

640?wx_fmt=png

长按图片,识别二维码,点关注



大数据挖掘DT数据分析

搜索添加微信公众号:datadw


教你机器学习,教你数据挖掘

640?wx_fmt=jpeg

长按图片,识别二维码,点关注

阅读更多
想对作者说点什么? 我来说一句

利用LSTM原理预测股市

2017年12月05日 62KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭