基金重仓股的量价因子增强策略 证券研究报告量化投资策略报告2023年10月22日 分析师:李新春 执业证书编号:S0740520080002电话:18019761462 Email:lixc02ztscomcn 分析师:汤伟杰 执业证书编号:S0740523050001电话:18217397163 相关报告 《“财经新闻”挖掘与“股票策略”构建FarmPredict机器学习框架》 固收基金资产组合探测机器 学习系列之四 投资要点 量价因子在基金重仓股上的应用是一个不小的挑战,尤其当因子数量较多时,对所用模型更是一种考验。范剑青(2021)提出的FarmPredict模型非常适合处理高维因子的挖掘问题,本文基于该模型在基金重仓股上构建量价因子的增强策略 策略分为两步:结合基金行业仓位探测结果构建基础股票池、用FarmPredict模型给股票池中的股票打分。策略月度换仓,每月选出20只股票,回测结果表明,从2019年至2023年9月,策略年化收益率5353,Sharpe为178,最大回撤2662,相对基准表现优异 2019年以来策略累积收益率如下: 来源:wind,中泰证券研究所 风险提示事件:本报告结论完全基于公开的历史数据进行统计、测算,文中部分数据有一定滞后性,同时存在第三方数据提供不准确风险;模型均基于历史数据得到的统计结论且模型自身具有一定局限性并不能完全准确地刻画现实环境以及预测未来;模型根据历史规律总结,历史规律可能失效;模型结论基于统计工具得到,在极端情形下或存在解释力不足的风险,因此其结果仅做分析参考 请务必阅读正文之后的重要声明部分 内容目录 一、引言3 二、理论基础3 21惩罚项3 22降维5 三、基础股票池构建7 四、选股模型的构建9 21alpha101量价因子9 22FarmPredict框架下的选股模型10 五、回测结果12 风险提示14 一、引言 一般认为,公募基金对基本面的研究代表了业内的最高水平,因此,如果想要通过基本面因子在基金重仓股的基础上构建组合来获取稳定的超额收益较为困难。而如果从量价因子入手,在2015年WorldQuantLLC量化交易对冲基金公布了《WorldQuantFormulaic101Alphas》研究报告,提出了101个量价因子,但是多年来这些因子的有效性,尤其是在A股市场的有效性一直受到质疑。业界通常的做法是,如同开矿一般不断地挖掘新的量价因子,验证单因子的有效性之后,剔除掉该因子中能被已有的因子解释的部分,再和已有的因子进行复合。这种做法的难点在于,随着因子个数的增加,特征的维度也是不断增加,对处理算法和硬件条件的要求也越来越高。 过往的研究者所构建的因子和收益之间的预测模型,可分为线性模型和非线性模型两大类,大量的研究表明,非线性模型(包括广义线性模型)的预测效果远远好于传统的线性模型。在我们之前的报告《“财经新闻”挖掘与“股票策略”构建FarmPredict机器学习框架》中,我们介绍了范剑青(2021)提出的FarmPredict框架,并用其处理文本数据挖掘与价格预测问题。这一框架主要基于主成分分析(PCA)以及Lasso回归,其适用场景非常广泛,尤其善于处理上文所提到的高维特征,包括海量的量价因子。本文将尝试使用该框架,先结合我们对公募基金行业仓位探测的结果选出一个大的基金重仓股股票池,然后在该股票池基础上用alpha101量价因子构建增强选股组合。 二、理论基础 21惩罚项 首先构造资期望回报的预测模型如下: Etrit1 gz 1 it i1Nt是资产的索引,t1T是时间序列索引,P维度向量zit代表 预测变量。简单线性模型要求条件期望g可以用原始预测变量和参数向量 的线性函数来近似表示,即 gzitzit 2 为了估计参数,这里使用标准最小二乘函数(或称为l2)作为目标函数: 1NT2 L NT i1t1 rit1 gzit 3 简单线性模型在存在许多预测变量的情况下很可能会失败。当预测变量的数量P接近观测值的数量T时,线性模型很容易出现过拟合。这在回报预测问题中尤为棘手,因为信噪比极低。避免过度拟合的关键在于减少估计参数的数量,这可以通过在(3)式后加入惩罚项来实现,以提高样本外的稳定性,这将在惩罚成功减少模型对噪音的拟合但保持其对信号的拟合时发生。带惩罚的方法通过 在原始损失函数中添加不同的惩罚项来区分: LL 4 有几种选择用于惩罚函数。我们关注流行的“弹性网络”惩罚,它采用如 下形式: 1 j 5 P 1P2 j12 j j1 弹性网络涉及两个非负的超参数和,并包括两个众所周知的特例。0对应于Lasso回归,使用绝对值或“l1”参数惩罚。Lasso菱形的可行域会将某些协变量的系数设置为零。从这个意义上说,Lasso对规范施加了稀疏性,可以被视为一种变量选择方法。1对应于岭回归,它使用l2参数惩罚,将所有系数估计值拉近零,但不会在任何地方施加确切的零。从这个意义上说,岭回归是一种收缩方法,有助于防止系数变得过于大。对于的中间值,弹性网络会同时通过收缩和选择降低模型复杂度。 图1:Lasso回归(左图)和岭回归对比示意图 来源:wind,中泰证券研究所 22降维 加入惩罚项的线性模型通过强制使大多数回归器的系数接近或等于零,使用收缩和变量选择来管理高维度。当预测变量高度相关时,这可能会得到次优的预测结果。这个问题的一个简单示例是,所有的预测变量都等于预测目标加上iid噪声项。在这种情况下,通过lasso惩罚选择一部分预测变量不如取预测变量的简单平均值,然后将其作为单一预测变量进行单变量回归。 与预测变量的选择相反,预测变量的平均的思想是降维的本质。重构预测变量的线性组合有助于降低噪音,更好地分离预测变量中的信号,并有助于去相关化本来高度相关的预测变量。两种经典的降维技术是主成分回归(PCR)和偏最小二乘(PLS)。 PCR包括两个步骤。在第一步中,主成分分析(PCA)将回归器组合成一组最能保留预测变量之间协方差结构的线性组合。在第二步中,使用主要成分做标准的预测回归。换句话说,PCR通过将低方差成分的系数归零来规范化预测问题。 PCR的一个缺点是,在降维步骤中它未能纳入最终的统计目标预测回报。PCA将数据压缩成基于预测变量之间的协变关系的成分。这发生在预测步骤之前,而且没有考虑预测变量与未来回报的关联。 相比之下,偏最小二乘通过直接利用预测变量与预测目标的协变关系来执行降维。PLS回归的步骤如下。对于每个预测变量j,通过OLS估计其单变量回报预测系数。这个系数用j表示,反映了回报对于每个预测变量j的“部分”敏感性。 接下来,将所有预测变量平均到一个单一的聚合成分中,权重与j成正比,最强 的单变量预测变量具有最高的权重,最弱的具有最低的权重。通过这种方式,PLS以最终的预测目标为依据进行降维。为了形成多个预测成分,目标和所有预测变量都与先前构建的成分正交化,然后在正交化的数据集上重复上述过程。这一过 程迭代进行,直到得到所需数量的PLS成分。 对于超额收益rit1gzitit1zitit1,可以写成: RZE 6 其中R是rit1的NT1维回报率向量,Z是zit的NTP维预测变量,E是 it1的NT1维残差向量。 PCR和PLS采用相同的一般方法来降低维度。它们都将预测变量的集合从维度P缩减到更小数量的K个预测变量的线性组合。它们的预测模型都可以写 成: RZKKE 7 K12k是一个PK维的矩阵,每个j是用于创建第j个预测成分的线性组合权重集,因此ZK是原始预测变量集的降维版本。同样,预测系数K现在是一个K1的向量,而不再是P1。 PCR递归选择组合权重: wjargmaxVarZwstww1CovZwZwl0l12j1 w 8 直观地说,PCR找到Z的K个线性组合,这些组合最忠实地模拟完整的预测变量集。该目标表明,选择成分完全不是基于预测目标的。相反,PCR的重点是寻找保留预测变量集内最大可能的共同变化的成分。公式(8)的众所周知的解 决方法通过对Z进行奇异值分解来计算K,因此从计算角度来看,PCR算法非常高效。 与PCR不同,PLS的目标是寻求Z的K个线性组合,这些组合与预测目标具有 最大的预测关联。用于构建第j个PLS成分的权重求解如下: jl wargmaxCov2RZwstww1CovZwZw0forl12j1 w 9 这一目标凸显了PCR和PLS之间的主要区别。PLS可以牺牲ZK对Z的准确逼近程度,以找到对回报的预测能力更强的组分。公式(9)的问题可以通过许多类似的程序高效地解决,其中最突出的是deJong(1993)的SIMPLS算法。 最后,给定K的解,PCR和PLS都通过在ZK上对R进行OLS回归来估计 K。对于这两种模型,K是一个超参数,可以通过验证样本自适应确定。 三、基础股票池构建 我们在报告《固收基金资产组合探测机器学习系列之四》中介绍了用Lasso回归对固收基金大类资产仓位进行探测的方法,即用数个大类资产指数对基金净值进行拟合,该方法同样可以应用在权益基金的行业仓位探测上,只需要将大类资产指数换为行业指数即可。 这里我们使用的是修改后的Lasso模型: minywTA2ww10 12101 其中w0代表基金初始仓位,w1代表下一个交易日计算出的权重。是一段时间内的基金日度收益率,是同一时间段内的资产收益率。我们使用多维向量 作为惩罚项系数,对换手率高的资产给予较低的惩罚,而对换手率低的资产给 予较高的惩罚。我们逐日递推计算权重,每日计算出的权重作为下一日的初值: w0w1w211 其中超参数是和,优化目标为基金仓位数据的拟合值与公布值平均绝对 误差最小: 1n MAE w 12 ni1 iwi 为了更贴近公募基金持仓的实际情况,提升模型拟合的效果,我们使用的行业指数选择中信“一级半”行业指数,即大部分中信一级行业加少数拆分为中信二级行业的行业指数集合。除此之外我们还加入了港股作为一个单独的行业。最新的探测结果见表1。 表1:公募基金行业仓位探测结果(截至20231020) 来源:wind,中泰证券研究所 根据我们持续的跟踪和复盘,公募基金在行业上持仓占比的变动常常滞后于价格的变动,不能起到预测的作用,但如果一个行业经过了长时间的上涨以及公募的持续加仓之后,出现了公募资金的净流出,这个时候至少我们可以认为公募基金对于该行业的观点已经出现了变化,为了降低风险,同时也是考虑到该增强组合跟踪基金重仓指数的实际需要,我们在构建基金重仓股股票池的时候,结合我们对公募基金行业仓位探测的结果对股票池进行筛选,会剔除这些被公募资金 认为存在风险的行业指数的成分股。又因我们策略的重心在于量价因子的增强,至于选择哪些权益基金重仓股作为基础的股票池,这里不需加入过多的筛选条件,否则反而可能会影响模型的表现。具体步骤如下: 1半年报和年报(半年报统一按照831公布来算,年报按照1231公布来算),选择股票型和偏股基金,剔除指数型基金主题型基金 2每一期保留规模在5亿以上的基金,并提取其前十大重仓股 3根据我们测算的基金仓位,剔除公募资金在经历了长时间的净流入之后,出现净流出的行业(也就是出现了拐点),具体有三个标准: a超配仓位(即公募仓位变化减掉指数市值涨跌幅)最近的7周里,前面的6周里,至少有5周是净流入的; b超配仓位最近的1周出现了净流出; c过去三个月内该行业指数从最低点算起,曾经历过30以上的最大涨幅。 图2:传媒(中信)指数20232526超配仓位拐点确认 来源:wind,中泰证券研究所 四、选股模型的构建 21alpha101量价因子 量化投资领域迄今为止最成功的预测因子包括价格趋势、流动性和波动性这 几大类,如果做一个排序,首先,最具信息性的是价格趋势变量,包括股票动量、行业动量和短期反转因子。其次是流动性变量,包括市值、成交额和买卖价差。最后,回报波动性、特异波动性、市场贝塔和贝塔平方。这些因子的共同特性就在于