强达一发。
不能直接用rnn做预测,效果一点也不好。Github上已经有很多demo 了,预测周期函数的叠加还可以但是预测真实股价,汇率,比特币就呵呵了。因为实际价格走势非周期非线性非平稳,浅层的rnn不行。
那么稍微深一点的行不行?效果也不好,大方向是对的,但是误差比较坑爹。目前看到的国内外论文都是先做数据分解再深度学习,误差也有个2-3%。
说到数据分解,又有几种大类,傅立叶,小波是最常用的,但是傅立叶不能吃处理非周期非平稳信号,小波不能处理非平稳,况且小波基选择也是一门艺术,比较多的是haar, db 。
信号分解完一般也不是直接Rnn而是比较多的做一些预处理。这时候就可以用到CNN了,比如keras tutorial里面提到的CNN自动编码机之类,也看到过国内一片论文预测电力负载用kmeans,总之各种AE百花齐放。这些步骤完了才是各种rnn。
rnn变形多,你关注时序的话Google times frequency rnn 会看到tf里面有一个现成code,以及对应的arvix论文,当然我看完。。。理解一半,也没看出来time frequency在哪里。。。。。
上面是我对自己搜集到的资料的一点汇总。
继续股价这个问题,除非你是机构你能拿到tick或者level10,或者你根本拿不到全部数据,比如场外市场之类的外汇或者比特币,因此到你手头的大概率是ohlc,这个数据最大的问题其本身已经是对市场的采样了,而且这个采样根本不是单纯的时域或者频域采样,你完全不清楚不hl具体发生在哪个时刻,甚至顺序上也不知道hl还是lh,所有这个K线对应的时间信息都被丢失,只保留有限的四个数据,这个对深度学习是非常坑爹的。
我好像把问题答歪了,CNN完全可以用来做特征提取,压缩降維,和rnn不冲突不矛盾。 |