量化投资与机器学习公众号出品 前言
量化投资中预测很重要,但预测的准确性却并没有那么重要,有的时候较低的预测准确率可能会带来较高的夏普比率。比起预测的准确性,重要的是预测在最重要的时候是否正确。所以,基于提升预测准确性的复杂模型的夏普可能还不如简单模型。在这种情况下,以降低夏普比率和可理解性为前提的更好的准确性可能并不具有什么吸引力。
本文对不同复杂程度的模型进行了比较。这些比较不仅基于它们产生准确预测的能力,而且基于交易策略的夏普比率。我们还考虑了信息集是否实际上是实时的,我们比较了不同的信息的滞后性,使策略更现实。
最后有四个关键的结果:
Kelly, Malamud, and Zhou (2022) (KMZ)对预测股票风险溢价的文献进行了全面概述。使用Goval和Welch(2004)中描述的数据,KMZ提供了一个理论论点和经验证据,即无岭回归与解释变量的随机傅立叶变换可以提高夏普比率,即使模型复杂性增加。对过度拟合的担忧似乎是没有根据的,因为他们的过度拟合模型具有非常好的样本外表现。这就是他们所说的复杂性的优点(virtue of complexity)。复杂性的缺点(vice of complexity)是模型无法解释。Goval和Welch(2004)认为过于复杂的模型是不稳定的,具有不好的样本外特性,并且缺乏透明度。
本文基于Goval和Welch(2004)所使用的数据(1926年至2022年),用四个不同复杂度的方法来预测未来一个月的指数收益率(时序预测),从而进行模型复杂性的优缺点的讨论。其中模型从简单到复杂包括两个分类法和两个回归法:
数据预处理方法的比较
数据在输入到模型之前可以使用一些预处理的方法,比如Z-Score或者排序,Z-Score既能去除异常值还能改变数据的分布,同时保留变量间的距离信息。排序法能去除异常值,但同时去除了变量间的距离信息。下表1给出了不同模型基于不同处理方法的结果,其中括号外的数值表示基于预测值做多指数(预测为负时持有现金)的策略的夏普比率,括号里的百分比为预测的准确度。可以看出逐步判别法的整体效果优于其他模型,而且基于排序法的效果在所有测试中最好。
滚动窗口 VS 扩展窗口
表2基于排序法,比较了不同数据滚动方法的测试结果,可以看出更好的准确性并不是更好的夏普比率的先决条件。这是由于滚动窗口能够更快的适应市场的变化,在最重要的时候保持正确。
数据时效性的影响
宏观经济数据存在滞后和修正。Goval和Welch(2004)使用的消费者价格指数数据尤其如此。当使用市盈率或市净率时,市场数据也可能存在隐藏的问题。会计数据可以被修改,而且它们可能会出现重大的报告延迟。因此,我们从信息集中剔除了收益变量、账面市值比变量和通货膨胀数据。剔除后可以看到使用滚动百分比排名的逐步判别分析的夏普比率从0.892下降到0.761。无岭回归从0.626下降到0.608。有趣的是,回归树看到从0.639到0.714的改进。分类树(由于其性能较差,我们没有提到太多)的夏普比率从0.29提高到0.459。
即使使用这些有时效性的数据,这些数据也存在滞后性。我们使用数据集中的每日数据来测试滞后性的影响。下表3给出了测试结果,最后一行Average是四个模型的复合模型的测试结果。在本数据集中,Lag从1到4增加,模型效果越来越好,说明大部分数据并不能在数据标注的日期真正的获得。这也与Jacobsen and Scheiber (2022)的结论一致:数据滞后和策略表现间并没有一直稳定的关系。我们还可以看出复合模型的表现优于所有个体模型。
模型解释变量的稳定性
使用滚动窗口,不同时期的同一个变量的解释性也在不断的变化。
本次回测所选变量的换手率为37%。在26%的月份中,股息收益率是被选择的变量。在19%的月份中,国债收益率是被选择的变量。在17%的月份中,一年期股票风险溢价是被选择的变量。仅使用二次判别分析对股息收益率进行预测,使用一天的滞后,准确率为58.0%,年化夏普比率为0.827。它确实倾向于做多股票,因为它在80%的时间里都是做多的。图5显示了信号买入股票的月份和持有现金的月份的箱形图。尽管存在异常值,但当它表明买入股票时,其均值,中位数和分布的较低部分往往比表明持有现金时要好。换句话说,股息收益率可以帮助重塑下尾,使其更有利。
当然本次实验的结果仅适用于本次所用的数据集,对于不同的数据集,我们可以参考本文的思路进行实证,做出判断。
Talk is cheap, show me the code (and data)。
来自:The Journal of Financial Data Science Summer 2023
标题:The Virtue and Vice of Complexity in Equity Risk Premium Prediction
作者:Brian Jacobsen