量化百科

量化研究每周精选-20171123

由ypyu创建,最终由ypyu 被浏览 18 用户

《通过预测公司基本面数据来提升基于因子的量化投资策略》

原文:《Improving Factor-Based Quantitative Investing by Forecasting Company Fundamentals》 相关文章下载

股价的波动是极具噪音的。作者猜测基本面数据之间的关系可能比基本面数据与价格之间的关系具有更高的信噪比,因此本文由此展开。本文于2017年9月发表在《Conference on Neural Information Processing Systems》,作者将预测基本面数据与因子投资巧妙结合,比较新颖。此外,本文论述循序渐进,在数据处理、特征表述、深度学习调参、损失函数等细节之处没有含糊笼统,描述具体细致,非常适合将作者的研究复现在中国股票市场。


摘要

上市公司需要定期公布财务数据:比如收入、债务、资产等,这些数据能够反映出公司的财务健康状况,也被称为基本面数据。学者发现通过财务数据构建的一些衍生特征开发的量化策略能够战胜市场。其中,比较有名的两个特征为经市值调整后的账面价值和经企业价值调整后的净利润 。

在这篇文章中,作者通过预测出来的基本面因子选股,该方法比标准的因子选股方法要好。作者训练一个深度神经网络来预测未来基本面数据,结果表明较之于消极预测的标准因子模型MSE指标有明显的提升,不仅如此,从回测来看,MLP(深度神经网络模型)的复合年化收益为17.1%,标准因子模型只有14.4%。

简介

价格经常波动,并且在不同的时间尺度上原因不同。短期价格波动也许是因为订单簿的驱动或高频交易行为。价值投资认为股票长期价格反映的是内在价值,预测长期内在价值最好的特征就是目前可以拿到的财务基本面数据。许多宽客根据因子来选择股票,拿EBIT/EV或账面市值比(book-to-market)来举例,因子值较高的股票称为价值股,因子值较低的股票称为成长股。学术文献发现,长期来看超配价值股票的投资组合表现优于超配成长股票的投资组合。

在这篇文章中, 投资组合的构建基于预测的未来基本面数据,EBIT/EV和book-to-market这类的价值因子能够区分出便宜股。于是作者做了一个回测,从2000年到2014年,使用EBIT/EV因子、持仓期为12个月的策略能够实现44%的年化收益率。受此回测的影响,作者提出了基于5年基本面时序数据来预测基本面数据。作者定义这样的算法是LFM模型(Lookahead Factor Model)。MLP(多层感知机)和RNN(循环神经网络)在样本外的MSE分别为0.47,线性模型为0.53,消极预测(认为未来数据和当前数据一致)为 0.62。 回测表明基于LFM模型的策略复合年化收益是17.1%,而标准因子模型只有14.4%,两者的夏普比率是0.68和 0.55。

预测基本面数据的深度学习模型

数据

在本文研究中,作者以NYSE、NASDAQ和AMEX交易所从1970年1月到2017年9月的上市满12个月的上市公司作为研究,将非美国公司、金融公司以及市值小于1亿美元的公司进行排除。最终为11815个上市公司, 因为财务数据在整个财务期间间断性地到达,作者将原始数据离散到每月的时间步骤。因为作者对长期趋势感兴趣,而且还平滑了(月度)数据的季节性。

作者设计了20个特征,来自利润表的特征是TTM类型的(最近12个月),来自资产负债表的特征是MRQ类型的(最近一个季度的数据),全部加起来有16个特征。对于所有的特征作者采取向前填充的方式处理缺失值数据。此外,作者增加了4个动量因子,分别是股价前1,3,6,12个月的动量。四个动量特征,作者使用所有股票中的百分位作为特征(并非绝对数字),以便作者的模型可以挖掘相对变化,并不过分关注具体时间段的趋势。

数据处理

每个基本面数据都在所考虑的股票的整个范围内展现出比较宽泛的动态范围。比如Appleg公司2016年9月近一年的收入是2150亿美元,而Presto公司(生产高压锅)近一年的收入才为3.4亿美元。因此,这样的特征如果通过市值调整后才变得有意义。因此,作者先通过市值数据(每一期最后时间步的市值数据)对基本面因子进行调整,作者对所有的时序基本面特征都做了同样的调整,以至于神经网络能够捕捉时序上的相对变化。因为企业价值、账面净值等数据有可能为负数,因此作者并没有选择它们,而是通过市值特征对其他特征进行调整。最后,作者在横截面上对特征进行了标准化处理,使得特征均值为零,特征标准差为1。

建模

在作者的实验中,作者以一条时间线来划分样本内和样本外。对于样本内,作者又需要一部分数据作为验证集。对于预测,作者直接面临的挑战就是过拟合。为了防止过拟合,作者随机抽取了30%的股票作为验证集。在验证集上作者确定所有的超参数,比如学习率、目标函数权重等。作者也通过验证集来确定模型训练停止的标准。在训练的时候,作者记录了每一次epoch后验证集的准确性,并记录下模型,当验证集上的表现在25次epoch以后还是没有提升,作者就停止训练,并以验证集上效果最好的模型作为最终模型。此外为了检验模型的泛化能力,作者也评估模型在预测集的股票上的预测效果。由于关注的是长期预测,因此本文以1970-1999作为训练集,以2000-2017的数据作为预测集。

在之前的研究中,作者试图通过RNN模型来预测价格,作者发现在样本内表现得不错,但是在样本外就不行,比线性模型还差。因为RNN仅仅是预测价格数据,这变得非常困难,因为RNN很容易在训练集上过拟合了。作者的方法的一个关键好处是,通过多任务学习,预测未来16个基本面数据,作者的模型提供了相当可观的训练信号 ,因此不太容易过度拟合。

股价的波动是极具噪音的。作者怀疑基本面数据之间的关系可能比基本面数据与价格之间的关系具有更高的信噪比。因此尝试使用每个月的特征数据(t-48,t-36,t-24,t-12,t)来预测一年(t+12)的数据。

作者评估了两类深度神经网络。作者首先调整样本期间的超参数,然后通过样本外数据来评估模型,其中考虑了使用1,2,4层的64,128,256,512或1024个节点来评估 。作者还评估输入层和隐藏层之间的drop层的使用,对于MLP作者使用ReLU激活并在层与层之间使用批量规范化。对于RNN作者使用层规范化测试GRU和LSTM单元。作者也搜遍了多种不同的优化器(SGD、AdaGrad、Adadelta),最终作者选定AdaDelta。最后作者对RNN使用L2正则化来防止梯度exploding gradients。其中,作者的优化函数是最小均方误。

考虑到相对于其他基本面数据,作者更关注EBIT预测,因此作者提升其在损失函数中的权重(增加超参数$\alpha_1$)。对于RNN,因为作者主要在乎最后时间步骤的预测准确性,作者通过超参数来$\alpha_2$增加最后时间步骤损失。这些超参数下样本内验证集的MSE为0.6141(MLP) and 0.6109(RNN)。

评估

为了评估这些神经网络模型在样本外的MSE的预测效果,并将其与消极预测做对比(下一年的基本面数据和现在的数据一样)。作者通过回测来看传统因子模型和LFM的实际效果。

消极预测就是直接根据当期的EBIT/EV来排序,选出50只股票持有一年。作者的结果表明,LFM模型在所有的月份中,神经网络的表现都好于消极预测。MLP模型和RNN模型表现相似,两者都打败了传统因子模型。

讨论

在这篇文章中,作者展示了一种基于时间序列分析的新方法来预测股票市场。比较新颖的是,并非直接预测未来价格,而是预测未来基本面数据。结果表明LFM比标准的传统因子方法要强。接下来,作者将研究LFM较之于直接预测股价的相对优势。也计划研究不同时间窗口、输入长度、和预测月份下实验的不同效果。


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

标签

量化投资策略