量化研究每周精选-20171225

量化研究每周精选
标签: #<Tag:0x00007f8c63901888>

(iQuant) #1

《使用深度学习预测金融时序数据》

原文:《Financial Time Series Prediction using Deep Learning》
相关文章下载

在本文的研究中,作者提出了一种数据驱动的并且是端到端的深度学习方法来预测时序数据。作者提出了基于深度学习方法来预测纽交所或纳斯达克的股票价格走势或者标普500ETF走势,作者的方法基于神经网络并且是以金融原始数据作为输入,然后根据训练出来的模型对股价进行预测。考虑了现实市场上很重要的交易费用,作者构建的投资策略使用了神经网络的概率预测结果,并且优化了交易平均盈利。这套研究框架显示出在金融时序预测上有有统计学上的显著意义,并且基于此的交易策略也是表现不错的,该策略在测试集数据2年的时间上回测效果明显优于基准策略(以支持向量机为基础的机器学习模型和买入并持有策略)。

1.引言

有大量的统计学方法研究时序数据,卡尔曼滤波和自回归(AR)方法在这方面是开创性地研究方法,ARMA或ARIMA模型是AR模型的扩展,还有其他一些模型比如ARCH、GARCH、ARIMA算法,也经常用来预测金融时序数据,不过由于金融市场的不确定性,时序数据的预测极具挑战。

在本文中,作者提出了深度学习方法直接学习原始数据中的非线性规律,以便来预测金融市场走势,这被称为端到端的学习方法。作者基于股票价格的原始数据直接预测标普ETF走势和一些股票的走势,并利用神经网络给出概率预测,最终构建交易策略。具体如下:

  • 首先,提出端到端的学习方案,这和之前学术上使用特征工程来进行金融时序预测完全不一样
  • 然后,作者利用神经网络模型的概率预测来确定策略的进场点和出场点
  • 最后,在充分考虑了交易成本情形下,策略回测表明该策略有利可图,远超基准

本文的内容如下:

  • 时序预测方法文献综述

  • 机器学习在金融数据中应用

  • 提出端到端的深度学习方法来预测金融时序数据

  • 根据神经网络的概率预测形成交易策略

  • 在标普500和9只股票上进行检验,验证该模型的有效性

2.背景

简单介绍了时序数据预测方面的研究文献

2.1机器学习在金融数据中的预测

机器学习算法广泛运用在时序预测上,包括K近邻方法和隐马尔科夫模型,其他的还有决策树和支持向量机等。

2.2 深度学习进行金融时序数据预测

深度学习主要用于计算机视觉、自然语言处理,目前在金融时序数据预测领域的运用还不是特别广泛。但是仍然有不少的深度学习模型用来做组合优化、波动率预测和基于价格、文本的分类。

3. 深度学习预测股价走势

本文使用端到端的深度学习方法预测价格走势,分为上涨(1)或者下跌(-1),并用来回测交易。如果未来的价格高于现在的价格,那么就是上涨(1),反之就是下跌(-1)。

3.1 基于价格预测的深度学习模型

作者通过输入(长度为M)序列数据,对其进行标准化,然后定义每一笔交易的盈利。

3.2深度学习模型

12
图1.深度学习模型

3.3 数据预处理

本文通过标普500的收盘价分钟数据来构建这样的样本——前60分钟价格序列$x(n)$和未来T分钟标注数据$y(n)$,因此这样的算法为日内交易策略。为了避免过度拟合,我们在隐含层的第一层和第二层加入了Dropout层,基于验证集来尽早停止训练。数据被分为时间不会重叠的训练集、验证集、测试集。

3.4 数据标注

样本是由价格数据$x(n)$和标注数据$y(n+T)$:被预测的价格,T为30的话就表明未来30分钟的价格。但是如何确定1<=T<=30中T的具体数值呢,本文通过在多个数据集上使用交叉验证的方式来确定具体的T值。

4.概率预测交易策略

为了能够将深度学习预测数据,我们构建了一个基于概率预测的日内交易策略(包括买入、持有和卖出),该策略的目标是最大化累计收益。为了考虑到交易成本,我们对累计收益进行了调整。

4.1 使用Soft信息来过滤信号

为了提高交易的准确率,本文使用了Soft信息来进行对信号的过滤,具体见下图。

3
图2.Soft信息过滤信号

4.2 设置交易长度

本文的交易策略持仓时间T这样确定,如果预测是未来T分钟数据,那么持有时间就为T分钟。

5.实验结果

本文对数据集的划分是依据时间点划分,2014年6月23日到2016年6月22的数据为测试集,2013年6月23日到2014年6月22日的数据为验证集,2013年6月23日之前的数据为训练集数据。本文的模型并不考虑金融市场的动态变化,并且暗含模型从2013年的数据中学到的规律可以用来预测2016年的数据。

5.1实验启动

本文在标普500的价格数据中进行预测,数据来自QuantQoute提供商。因为构建的交易策略为日内交易,因此并不持仓过夜,每天交易时间是9:30AM-4:00PM,因此大概有300个样本。对于输入的价格数据,首先使用移动平均值,然后将其进行数据标准化(减去均值,再除以标准差)。此外,本文还采取了过采样技术来平衡训练集和测试集。

5.2 执行细节

神经网络架构以NN模型为基础,其中包括5个全连接层,各自包含500、200、40、20、2个ReLU激活单元。在第一层和第二层隐含层中使用了Dropout层,其中Dropout比率为0.5,batch为100,期初的学习速率为0.001,最小化损失函数是采取随机梯度下降方法,最初的权值向量根据标准差为0.01的高斯分布生成。

5.3 基于标普500ETF的回测交易

在2014.6.23到2016.6.22期间,标准普尔现货指数上涨了10.63%,而深度学习的交易策略累计收益率为61.1%(交易费率为0.1%),此外,本文还测算了在不同的交易成本费率下的累计收益:

image
图3.不同交易成本费率下累计收益

5.4 与基准对比

为了评估深度学习算法的交易策略的表现,我们和支持向量机的机器学习算法交易策略、买入并持有的被动策略进行比较。如下:

image
图4.与基准策略的比较

5.5 基于股票的回测交易

不仅仅验证对指数的预测,本文还选择了9只股票,看看深度学习的算法是否可以盈利,具体实验的步骤和对ETF的预测一样。结果如下:

表1.股票回测结果

image

在不同的交易成本下,累计收益率分布如下:

image
图5.不同交易成本下累计收益分布

6.结论和展望

本文提出了深度学习方法来预测金融时序数据,以原始价格数据作为输入的端到端的深度学习预测模型,该方法和目前常用的基于特征工程的机器学习算法预测有很大区别。结果证明,深度学习构建的交易策略比支持向量机的机器学习算法策略和被动的买入并持有的策略具有更优的表现。未来还可以从以下几个方面进行研究深化。

  • 将预测模型和交易策略进行更好地统一
  • 滚动训练,动态更新模型
  • 采用更多的数据,比如流媒体的报告
  • 运用马科维茨的投资组合理论,优化损失函数

量化研究每周精选》每周一期,为大家提精选研报、前沿研究、热门文章等优质内容。
查看所有 量化研究每周精选。欢迎投稿 (i@bigquant.com)。


(iQuant) #7

(copen) #9

筛选的目的是什么呢?端到端的学习方法就是直接原始数据丢进模型吧?