请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  数理科学 帖子:3364764 新帖:2

深度学习和缠论应用,JQData应用

量化客发表于:5 月 10 日 03:24回复(1)

首先转发几条深度学习的链接:

基于Keras深度学习LSTM模型 预测黄金主力收盘价
TensorFlow 学习之循环神经网络(RNN)

前言
这篇文章基于深度学习模型基础,在聚宽上通过用JQData来实现金融数据的分析。 本文主要针对股票数据, 不过理论上可以用在其他方面。至于缠论部分, 仁者见仁, 智者见智。

背景
量化交易在当年股灾后背了黑锅, 不过大势所趋, 今后放开仅仅是时间问题。 现今各路量化神仙都有各自的方法, 比如传统的抓趋势(trend following) 或者技术指标, 高频交易 (high frequency), 基本面, 消息面, 政策面分析(event driven), 以至于到这些各个因素都成了因子, 综合分析等等。最新的领域现在在AI领域, 从普通的回归, 到各种深度学习模型,再到最近人工智能下围棋, 打星际的训练自己找规律把人类惨虐而带来的启发。

深度学习
就A股量化来说, 在有限的经济条件以及数据资源下(聚宽平台和JQData)个人认为用深度学习的模型比较合适。 理由如下:

  1. 简单的回归太局限了, 主观选择的成分太高

  2. 用Qlearning类似的强化学习,很可能需要大量的算力才能获得比较好的效果

在网上的学习帖上面经常看到用深度学习预测股价, 我个人认为这个方向实在是想用很简单的方法来处理很难的问题。 这里不得不提到缠论里面的一些结论:

  1. 价格的绝对预测是不可能的

  2. 价格都是遵循一个类似区间套级别的走势结构运行的

在一个描述计算机之父图灵的电影里面, 有一个情节:图灵和小伙伴们造好了破译机, 但是在短短的24小时之内, 让破译机进行穷举破解时间也是不够的。这时候, 德军电报开头固定的格式以及对应的翻译帮助破译机大大缩小了破译范围。

把上面的内容结合起来, 如果缠论所描述的符合价格的规律, 那么我们的模型已经是有一定基础了:不应该用模型来预测股价, 而应该用模型来预测走势。 更精确来说, 我们该预测的是走势的转折点, 包括多转空和空转多。 当然这不是啥创新, 这本身就是inflection 预测。不过如果基于缠论给出的描述,

缠论下的深度学习
按照上面的想法, 在缠论的指导下, 假设我们是在日线级别上分析走势, 那我们需要结合日线以下级别看最近走势内部, 以及日线以上级别看最近走势所在的更大走势。这样可以得到多级别共同分析走势拐点。

回到深度学习上, 缠论定义的走势形态是CNN可以轻易抓取的, 而缠论定义的走势力学又应该是LSTM的范畴。 所以CNNLSTM应该是比较符合这个模型的。

具体操作
聚宽的平台上有诸多限制, 用keras tensorflow基本上没法回测。 这里推荐聚宽的后台数据接口JQData, 具体教程 
怎么使用之类的这里就不多说了, 回归正题。
我这里就给两个想法抛砖引玉:

第一个简单粗暴的多级别揉在一起分析方法。
在日线上定义走势, 比如用MA5分割一个走势图, 当然也有别的方法分割, 不过结果会得到下上下上。。。。这样的走势分段。
例如:那就可以把沪深300的所有股票的10年数据都做成这样的走势数据段, 接下来每个数据段的时间内, 取5m数据作为次级别的走势数据段, 那样训练数据就是这个5m的次级别走势, 每一段都是日线上的转折点。接下来的事情就交给keras定义CNNLSTM模型开始跑吧。模型的使用上具体请参考上面的链接以及互联网内容。

稍微复杂一点的多级别同时分析
这里可以用两个甚至更多的模型每个模型对应一类走势, 比如日线和30m, 以及周线和日线的。 两个模型分别训练, 跑出来的结果可以综合起来分析

更复杂一点的分析
以上的模型出来以后其实可以做为之后分析的基础, 比如结合到强化学习里面作为policy制定的参照等等。不过这个超出本文范围了。

训练数据
估计有人会问具体用哪些数据来训练呢? 如果按照缠论来说, 收盘价就够了。 但是看个人想法了, 我觉得加上实时的开盘收盘,最高价等等都可以。

总结
上面描述的模型理论上可以检测到对应级别走势的转折点, 接下来的买卖操作就不用我提了哈。也许有的人说上面的方法是基于缠论, 我不信缠论, 所以这个不靠谱。 我想说的是本文仅仅借用缠论的理论来更加合适的使用深度学习模型。愿有缘人能受启发。

个人想法(纯属探讨)
现在AI很火, 其实很容易理解, 已知的那些各种量化方式, 最终都可以归纳为因子追踪, 而现在的AI我认为就是一个自动追踪因子的方式。现阶段用的AI其实并不是啥新闻, 理论早在几十年前就已经提出, AI仍旧遵循图灵下的定义, 换句话说AI不可能解决所有的问题。 换句话用一个AI讲师的原话, “人能做的事情AI都可以做, 人做不到的事情AI也做不到”。 我个人推测如果用训练下围棋或者打游戏的方式的让AI炒股, 效果未必会像以前那样完虐人类。

全部回复

0/140

量化课程

    移动端课程