hprotein 发布于2019-04-03
回复 61
浏览 9230
76
首先转发几条深度学习的链接:
[基于Keras深度学习LSTM模型 预测黄金主力收盘价](https://www.joinquant.com/view/community/detail/56df939ec6218bfe8a4b664a4d26c238?type=1)
[TensorFlow 学习之循环神经网络(RNN)](https://www.joinquant.com/view/community/detail/e082d02af5c63f7d36ddfa53953a7df7?type=1)
**前言**
这篇文章基于深度学习模型基础,在聚宽上通过用JQData来实现金融数据的分析。 本文主要针对股票数据, 不过理论上可以用在其他方面。至于缠论部分, 仁者见仁, 智者见智。
**背景**
量化交易在当年股灾后背了黑锅, 不过大势所趋, 今后放开仅仅是时间问题。 现今各路量化神仙都有各自的方法, 比如传统的抓趋势(trend following) 或者技术指标, 高频交易 (high frequency), 基本面, 消息面, 政策面分析(event driven), 以至于到这些各个因素都成了因子, 综合分析等等。最新的领域现在在AI领域, 从普通的回归, 到各种深度学习模型,再到最近人工智能下围棋, 打星际的训练自己找规律把人类惨虐而带来的启发。
**深度学习**
就A股量化来说, 在有限的经济条件以及数据资源下(聚宽平台和JQData)个人认为用深度学习的模型比较合适。 理由如下:
1. 简单的回归太局限了, 主观选择的成分太高
2. 用Qlearning类似的强化学习,很可能需要大量的算力才能获得比较好的效果
在网上的学习帖上面经常看到用深度学习预测股价, 我个人认为这个方向实在是想用很简单的方法来处理很难的问题。 这里不得不提到缠论里面的一些结论:
1. 价格的绝对预测是不可能的
2. 价格都是遵循一个类似区间套级别的走势结构运行的
在一个描述计算机之父图灵的电影里面, 有一个情节:图灵和小伙伴们造好了破译机, 但是在短短的24小时之内, 让破译机进行穷举破解时间也是不够的。这时候, 德军电报开头固定的格式以及对应的翻译帮助破译机大大缩小了破译范围。
把上面的内容结合起来, 如果缠论所描述的符合价格的规律, 那么我们的模型已经是有一定基础了:不应该用模型来预测股价, 而应该用模型来预测走势。 更精确来说, 我们该预测的是走势的转折点, 包括多转空和空转多。 当然这不是啥创新, 这本身就是inflection 预测。不过如果基于缠论给出的描述,
**缠论下的深度学习**
按照上面的想法, 在缠论的指导下, 假设我们是在日线级别上分析走势, 那我们需要结合日线以下级别看最近走势内部, 以及日线以上级别看最近走势所在的更大走势。这样可以得到多级别共同分析走势拐点。
回到深度学习上, 缠论定义的走势形态是CNN可以轻易抓取的, 而缠论定义的走势力学又应该是LSTM的范畴。 所以CNNLSTM应该是比较符合这个模型的。
**具体操作**
聚宽的平台上有诸多限制, 用keras+tensorflow基本上没法回测。 这里推荐聚宽的后台数据接口JQData, 具体教程 https://www.joinquant.com/view/community/detail/e06d91f508f31054042b904905049d41?type=1
怎么使用之类的这里就不多说了, 回归正题。
我这里就给两个想法抛砖引玉:
**第一个简单粗暴的多级别揉在一起分析方法。**
在日线上定义走势, 比如用MA5分割一个走势图, 当然也有别的方法分割, 不过结果会得到下上下上。。。。这样的走势分段。
例如:那就可以把沪深300的所有股票的10年数据都做成这样的走势数据段, 接下来每个数据段的时间内, 取5m数据作为次级别的走势数据段, 那样训练数据就是这个5m的次级别走势, 每一段都是日线上的转折点。接下来的事情就交给keras定义CNNLSTM模型开始跑吧。模型的使用上具体请参考上面的链接以及互联网内容。
**稍微复杂一点的多级别同时分析**
这里可以用两个甚至更多的模型每个模型对应一类走势, 比如日线和30m, 以及周线和日线的。 两个模型分别训练, 跑出来的结果可以综合起来分析
**更复杂一点的分析**
以上的模型出来以后其实可以做为之后分析的基础, 比如结合到强化学习里面作为policy制定的参照等等。不过这个超出本文范围了。
**训练数据**
估计有人会问具体用哪些数据来训练呢? 如果按照缠论来说, 收盘价就够了。 但是看个人想法了, 我觉得加上实时的开盘收盘,最高价等等都可以。
**总结**
上面描述的模型理论上可以检测到对应级别走势的转折点, 接下来的买卖操作就不用我提了哈。也许有的人说上面的方法是基于缠论, 我不信缠论, 所以这个不靠谱。 我想说的是本文仅仅借用缠论的理论来更加合适的使用深度学习模型。愿有缘人能受启发。
**个人想法(纯属探讨)**
现在AI很火, 其实很容易理解, 已知的那些各种量化方式, 最终都可以归纳为因子追踪, 而现在的AI我认为就是一个自动追踪因子的方式。现阶段用的AI其实并不是啥新闻, 理论早在几十年前就已经提出, AI仍旧遵循图灵下的定义, 换句话说AI不可能解决所有的问题。 换句话用一个AI讲师的原话, “人能做的事情AI都可以做, 人做不到的事情AI也做不到”。 我个人推测如果用训练下围棋或者打游戏的方式的让AI炒股, 效果未必会像以前那样完虐人类。
评论
兄弟,你在吗,怎么可以联系到你,想问问你关于基于缠论建模的问题,急求
2019-09-24
@880411 我也在摸索, 您有什么好的建议?
2019-09-24
@hprotein 我是计算机方面的小白,我是写论文遇到瓶颈了,正好看到你说缠论和深度学习的关联,想借鉴下
2019-09-24
@880411 怎么联系你? 探讨一下
2019-09-24
@hprotein 加的上吗
2019-09-24
预测这条路,行不通的。死心吧。证券交易2条路,资金规模够大,借力发力右侧做市交易为主。资金规模小,左侧跟随交易为主。
2020-02-22
@夜魔 不能人云亦云。 否则你会钻牛角尖的哦
2020-02-23
。。。也就是把原先精确预测下降成二值预测,来预期难度会下降。。。实际上能不能预测还是一个问题,即使能也是仅仅局部时间能预测。至少目前来看,基于经典逻辑、模糊逻辑基础上的任何算法均无法预测一个随机过程的短期行为,只能估计长期行为(前提是封闭系统)。。。至于以后等数学发展突破大界限了,例如基于量子逻辑的算法,就很难说了
2020-02-23
@freeplus 其实你说的预测和我们需要做的不一样。 没人能在有限的数据下做无限预测。 缠论论应用来说不是预测系统, 而是看菜下饭。
2020-02-23
这几天黄金行情预测到了没?..
2020-02-24
挺好的,希望产出更新的思考。
2020-02-24
@hprotein 你可以学习一些人工智能的零样本训练算法
2020-02-24
@hprotein 觉得说对了,所谓左侧右侧,就是传统分析方法里面的词,其实深究下就会发现,左侧和右侧就是个模糊概念,在价格没走出来前,什么是“左侧”“右侧”,当价格走出所谓左侧右侧后,还有参与价值?
2020-03-01