Applications of deep learning in stock market prediction: Recent progress
1 本文相关介绍
本文为 2021 年 CCF-C 类期刊 Expert Systems With Applications 所录用。其相关贡献如下:
- 作者总结应用在股票预测的最新的深度学习技术,尤其关注近三年的方法;
- 作者给出了股票市场预测的一般工作流程,在此基础上可以很容易地对以前的研究进行分类和总结。并且未来的研究可以在工作流程的每个步骤中参考之前的工作;
- 作者十分关注这些方法的实现和复现性;
- 作者指出了几个未来的方向,其中一些正在进行中,并帮助读者赶上研究前沿;
- 创建了一个关于该主题的开放 GitHub 开源库,将收集和不断更新相关研究。
https://github.com/jwwthu/DL4Stock
2 研究结果
作者调研了 2017-2019 年该领域的 研究论文发布情况。如果目标是预测价格的具体值,作者将其归类为回归问题,如果目标是预测价格运动方向,例如上涨或下跌,作者将其归类为分类问题。大多数研究都在考虑每日预测(124个中的105个),只有少数研究考虑了日内预测(124个中的18个),例如每5分钟或每小时预测。124篇论文中只有一篇同时考虑了每日和盘中情况。
作者将之前的研究总结为一般工作流程,其中包含大多数研究遵循的四个步骤:Raw Data、Data Processing、Prediction Model 和 Model Evaluation。
2.1 Raw Data
在 有效市场假说 中,资产价格已经反映了所有可用信息。但在实践中,许多研究人员不同意这一结论,因此许多不同的外部数据来源被用于股票市场预测。
有效市场假说(Efficient Markets Hypothesis,EMH)
在法律健全、功能良好、透明度高、竞争充分的股票市场,一切有价值的信息已经及时、准确、充分地反映在股价走势当中,其中包括企业当前和未来的价值,除非存在市场操纵,否则投资者不可能通过分析以往价格获得高于市场平均水平的超额利润。
数据种类
- 市场数据(Market data):市场数据包括股票市场中发生的所有交易活动,例如开盘价/最高价/最低价/收盘价、交易量等。它既用作输入特征(例如,回溯窗口中的历史价格)和 预测目标(例如,第二天的收盘价);
- 文本数据(Text data):由个人产生的相关文本信息,例如社交媒体、新闻数据、网络搜索等。可用于情绪分析;
- 宏观经济数据(Macroeconomics data):宏观经济数据反映特定国家、地区或部门的经济状况,例如,消费者价格指数(CPI)、国内生产总值(GDP)等。这些指标与股票市场相关,因为它们表明整个股票市场的健康程度以及可以确认股票市场上涨或下跌的质量;
- 知识图谱数据(Knowledge graph data):不同公司和不同市场之间存在某种关系,例如,同一行业的股票走势可能会受到同一消息的影响;
- 图像数据(Image data):受卷积神经网络在 2D 图像处理(例如分类和对象检测)中的成功启发,烛台图被用作股票预测的输入图像;
- 基本面数据(Fundamental data):最常见的基础数据类型是会计数据,每季度报告一次,例如资产、负债等。在深度学习模型的研究中较少使用,因为报告频率低,而且数据不准确。例如,发布的基本数据以报告中包含的最后日期为索引,并且在发布日期之前,这会带来使用未来信息的风险;
- 分析数据(Analytics data):分析数据是指可以从投资银行和研究公司提供的报告中提取的数据(例如,推荐买卖股票),对公司的商业模式、活动进行深入分析。这些报告提供了估值信息,虽然它们可能成本高昂并且在不同的消费者之间共享,他们都希望使用这些信息来获利。
对于深度学习模型,需要大量的输入数据来训练一个复杂的模型神经网络模型。在这种情况下,市场数据是最好的选择并且使用最多,因为它提供的数据样本量最大,而其他数据类型通常具有较小的大小。文本数据使用第二多,随着社交媒体和在线新闻网站的普及以及网络爬虫更容易使用网络爬虫获取文本数据。一个极端的例子是分析数据,由于数据稀疏和访问成本高,这些数据从未在调查研究中使用。
数据长度
为了评估不同模型的性能,需要历史数据进行评估。但是,在选择数据长度方面存在折衷。短时间的数据不足以显示有效且具有较高的过拟合风险,而长时间的数据则冒着穿越不同市场风格并呈现过时结果的风险。此外,数据可用性和成本是选择数据长度时需要考虑的因素。
获得高质量的日内数据成本更高,并且以前大多数涉及日内预测的研究都使用不到一年的时间段。
2.2 Data Processing
数据缺失
丢失数据的问题不像其他领域那样严重,例如传感器数据,因为市场数据更可靠,并且得到交易市场的良好支持和维护。但是,为了对齐具有不同采样频率的多种类型的数据,例如市场数据和基本面数据,应将采样频率较低的数据向前插入,将最后一个有效观察值向前传播到下一个有效值,以避免数据泄漏的未来信息。
数据降噪
股票交易过程中存在诸多非理性行为,市场数据充满噪音,可能会歪曲价格变化趋势,误导预测。作为一种信号处理技术,小波变换(wavelet transform) 已被用于消除股票价格时间序列中的噪声。另一种方法是使用 kNN-分类器,该分类器基于数据准备层中具有不同标签的两个训练集。
特征提取
首先是输入特征的情况。
数据降维
许多特征可能彼此高度相关,例如,技术指标都是根据历史开盘价/最高价/最低价/收盘价和成交量计算得出的。为了缓解深度学习模型过度拟合的相应问题,已采用输入特征的降维作为股票市场预测的预处理技术。
主成分分析(PCA) 是一种常用的变换技术,它使用输入数据的奇异值分解将其投影到较低维空间。Zhong 和 Enke (2017) 甚至对不同版本的 PCA 进行了比较,发现 PCA-ANN 模型 相比于使用 模糊鲁棒主成分分析(FRPCA) 和 基于核的主成分分析(KPCA) 对第二天 SPY 的每日方向的预测精度略高。
其他选择的方法有:独立分量分析 (ICA) 、自动编码器 、受限玻尔兹曼机、经验模式分解 (EMD) 和 子模式坐标算法 (SMC) 。
特征选择 是另一种降维方式,只选择输入特征的一个子集。卡方方法 和 最大相关性和最小冗余 (MRMR) 是两种常用的特征选择技术。卡方方法决定分类预测变量和目标类变量是否独立。高卡方值表示目标变量对预测变量的依赖程度。最小冗余最大相关性使用启发式方法来最小化冗余,同时最大化相关性以通过 F 统计值为连续和离散输入选择有希望的特征。
特征标准化
给定不同尺度的不同输入特征,使用特征归一化和标准化来保证一些机器学习模型可以工作,也有助于提高模型的训练速度和性能。 特征归一化是指通过最小值和范围重新调整输入特征的过程,使所有值介于 0 和 1 之间,或介于 − 1 和 1 之间。
数据划分
为了评估不同的预测模型,机器学习和深度学习领域通常使用样本内/样本外拆分或数据样本的训练/验证/测试拆分。使用训练或样本内数据集训练模型,在可选的验证数据集上微调超参数,并在测试或样本外数据集上评估最终性能。进一步使用k-fold交叉验证将数据集分成k个连续的折叠,k-1折叠作为训练集,最后一个折叠作为测试集。
数据增强
数据增强技术已广泛用于图像分类和目标检测任务,并被证明可以有效地提高分类和检测性能。然而,它较少用于包括股票预测在内的时间序列任务,尽管股票价格时间序列的大小无法与公共图像数据集的大小相提并论,公共图像数据集通常有数百万个样本,近年来甚至更多。
2.3 Prediction Model
大多数预测模型属于监督学习方法,当训练集用于训练,测试集用于评估时。当标签在特征提取步骤中不可用时,只有少数研究使用半监督学习。我们进一步将各种预测模型分为三种类型:标准模型及其变体、混合模型和其他模型。对于标准模型,大量使用了三类深度学习模型,即前馈神经网络、卷积神经网络和递归神经网络。我们将生成对抗网络、迁移学习和强化学习的使用归类到其他模型中。这些模型是近几年才出现的,目前还处于应用于股市预测的早期阶段。
综合情况来看:
2.4 Model Evaluation
主要分为四种评估指标:
- *Classification metrics.*分类指标用于衡量模型在运动预测上的表现,将其建模为分类问题。常用的指标包括准确度、精度、召回率、灵敏度、特异性、F1 分数、宏观平均 Fscore、Matthews 相关系数、平均 AUC 得分、Theil’s U 系数、命中率、平均相对方差等。
- *Regression metrics.*回归指标用于衡量模型在股票/指数价格预测上的表现,将其建模为回归问题。常用的指标包括平均绝对误差(MAE)、均方根绝对误差(RMAE)、均方误差(MSE)、 归一化 MSE (NMSE)、均方根误差 (RMSE)、相对均方根误差、归一化均方根误差 (NRMSE)、平均绝对百分比误差 (MAPE)、均方根相对误差 (RMSRE)。
- *Profit Analysis.*利润分析评估基于预测的交易策略是否能够带来利润。通常从收益和风险两个方面进行评估。收益是股票投资组合价值的变化,风险可以通过最大回撤,或年化波动率。夏普比率是一个将收益和风险都考虑在内的综合指标,即每单位波动率超过无风险收益的平均收益。
- *Significance Analysis.*为了确定在将深度学习模型与基线进行比较时在预测方面是否存在显着差异,可以使用 Kruskal-Wallis 和 Diebold-Mariano 测试来测试统计显着性,它决定了一个统计上更好的模型。
3 未来方向
作者认为未来可发展的方向如下:
- 新模型的使用,例如GAN、强化学习等方法;
- 多源数据的收集;
- 跨市场分析,大多数现有研究只关注一个股票市场,因为股票市场由于交易规则而彼此不同,而不同的市场可能有一些共同的现象,可以通过转移学习等方法进行预测。
- 算法交易。强化学习。