zhiaozhou 发布于2018-08-31
回复 0
浏览 81914
4
# 基于卷积神经网络(CNN)的多元大盘涨跌分类模型
![timg.jpg][1]
卷积神经网络在多年前由Yann Lecun所发明,由于其能够高效快速提取图像特征,在计算机视觉领域有着非常普遍的应用,而这通常指的是二维卷积(长*宽*通道数)。而其实除去二维卷积以外,还存在着一维卷积(长*通道数),一维卷积在信号处理以及时间序列上有着许多优势,与图像识别相同,一维卷积能够很好地提取时间及信号序列中的特诊,从而对目标函数进行更好地收敛。
而在这个研究中,长我们都知道是时间序列的长度亦即是用前n天的数据来预测当日的涨跌分类,那通道数是什么呢,既然是多元模型,那通道其实就是不同的特征,在这里就是各种用来预测的指标,卷积能够很好地提取他们中与目标相关的特征。
# 数据
我们选取了从1990年12月19日至今的所有全A指数开盘、收盘、最高、最低、交易量、涨跌、涨跌幅以及全球部分相关指数的收盘价(在中国之前开盘的选取当天的开盘价)比如道琼斯综指、纳斯达克、日经225,富时250等等,然后是一些固收市场的交易品种比如Shibor,Libor等等。通过整合预处理最后得到包含5387个样本的训练集,190个样本的测试集和190个样本的测试集。需要注意的是,因为我们处理的是时间序列的数据,且是一个预测,因此对交叉验证数据集的切分,也是按照过去和未来进行的,也就是说将时间序列分为三块,第一块为训练集,中间为验证集,最后为测试集。
# 算法结构
![model.png][2]
我们在这个结构中引入了Leaky RELU(带泄露的线性整流函数),他可以更好地RELU函数的收敛问题,同时加入了Dropout以及L2惩罚项来防止过拟。同时我们将初始学习率设置为0.002,使用NAdam优化器,同时让学习率每次在测试集损失没有降低时降低10%,下限为0,以让函数更好地收敛。
# 结果及反思
![Snipaste_2018-08-30_21-47-56.jpg][3]
可以看到,在经过了数以万计的迭代之后,算法在训练集上的准确率已经达到了97%,可见神经网络在非线性拟合上的强大,而其在验证集上的损失却始终没有下跌的趋势。于是后续我们在算法上进行了各种的改动,比如改学习率,增加神经网络的层数,将L2惩罚项改为L1惩罚项等等,但结果却始终不尽人意,算法永远能够在训练集上过拟,而对未来却没有预测能力。
![Snipaste_2018-08-30_21-58-37.jpg][4]
最后在测试集上我们获得了56.31%的正确率,并不令人满意,足以让我们深思中国的股市是不是真的具有预测能力,还是纯粹的随机游走。
[1]: https://quant.gtja.com/img/b453dfcfe9976b183b262bc21abc79f9
[2]: https://quant.gtja.com/img/2a98916dd3280b7434cf72790132abac
[3]: https://quant.gtja.com/img/50b024ae7bcb3c3ebab982b3f93fe938
[4]: https://quant.gtja.com/img/10147b324636fa1ca522f3174ca1e908