您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[西南证券]:机器学习应用系列:如何利用机器学习赋能红利高股息投资 - 发现报告
当前位置:首页/其他报告/报告详情/

机器学习应用系列:如何利用机器学习赋能红利高股息投资

2024-08-05郑琳琳西南证券杨***
机器学习应用系列:如何利用机器学习赋能红利高股息投资

摘要 本文以机器学习算法为基础,在不同红利高股息投资场景下,应用不同类别的机器学习模型赋能红利高股息投资。应用一:利用基于决策树的机器学习模型选取不同风格红利指数;应用二:针对现有红利投资的传统因子,利用强化学习算法深入挖掘不同因子的时序表现,对不同因子进行动态复权。 机器学习应用一:红利主题指数配置 本文选取包括中证红利指数在内共计12个红利主题指数作为红利指数配置标的,采用DART增强方式的LightGBM算法作为红利主题资产配置模型,构建红利主题指数因子。经回测,红利主题指数因子自2021年1月至2024年6月RankIC为17.11%,RankIC胜率为63.41%,多头组合(Top3)年化收益15.39%,相对等权组合(7.33%)年化超额8.06%。剔除无跟踪ETF产品指数后,红利主题指数因子RankIC为18.92%,RankIC胜率63.41%,多头组合(Top3)年化收益14.09%,相对等权组合年化超额6.76%。 机器学习应用二:选股因子动态复权 泛高股息指数:定义“基本+分红”筛选条件,按照月频(每月最后一个交易日收盘)调仓,以股息率加权构建泛高股息指数。截至2024年6月30日,泛高股息股票池中共有1619只股票。自2013年4月30日至2024年6月30日,泛高股息指数年化收益率11.05%,整体来看相对跑输中证红利全收益指数,跑赢万得全A。行业配置方面,泛高股息指数配置比例较高的分别为医药、机械、基础化工、电新行业,占比分别为9.97%、9.14%、8.94%、6.91%。 泛高股息选股因子探究:本节分别测试了量价、质量、盈利、估值、成长五大类因子共计30个小类因子,综合考虑IC及多头组合表现,每大类保留2个因子。除此之外,本文综合考虑单只股票股息率时序变化以及股息率变化在股票价格上的兑现情况,构建股息兑现因子。上述六大类因子股息兑现、量价、质量、盈利、估值、成长自2013年4月至2024年6月IC分别为4.94%、7.63%、2.33%、5.19%、1.58%以及2.42%,等权合成后因子IC为7.60%,多头组合年化收益率17.68%。 强化学习DQN动态因子复权:本节采取DQN算法构建相应的因子轮动策略。 以t-1期因子表现为当前状态,以t期动态复权因子为奖励。在最大化累计奖励的基础上构建DQN因子(动态复权因子)。经测试,自2021年1月31日至2024年6月30日,DQN因子IC为9.55%,多头年化收益率17.58%,相对中证红利全收益指数年化超额收益率5.93%,多头组合信息比率0.90,表现均优于等权因子。 风险提示:报告对应的相关结论完全基于公开的历史数据进行算法构建、统计以及计算,文中部分数据有一定滞后性,同时也存在第三方数据提供不准确或者缺失等风险;策略效果结论仅针对于回测区间得出,并不预示其未来表现,也不能保证未来的可持续性,亦不构成投资收益的保证或投资建议。 1前言 红利投资是一种能够为投资者提供稳定收入和长期增长潜力的策略。在量化研究领域,当前主流红利投资策略为基于股息率及公司其它基本面信息构建相应的选股因子进行选股。 除此之外,随着红利投资的逐渐发展,不同风格的红利投资也逐渐成为红利投资的研究方向之一。 传统的多因子策略依赖于人工挖掘的选股因子,人工挖掘选股因子具备较强的逻辑性,但很难选出表现优秀且稳定的因子,且传统的多因子策略大多通过固定权重的方式合成各个因子,没有考虑到不同因子的时序表现相对强弱,该方法具备较大的alpha挖掘提升空间。 本文以机器学习算法为基础,考虑不同种类的机器学习模型在红利投资的两方面应用。 应用一:利用基于决策树的机器学习模型选取不同风格红利指数;应用二:针对现有红利投资的传统因子,利用强化学习算法深入挖掘不同因子的时序表现,对不同因子进行动态复权。 2红利高股息投资概览—以中证红利指数(000922)为例 中证红利指数(000922.CSI)是目前具备代表性的红利指数,该指数选取100只现金股息率高、分红较为稳定,并具有一定规模及流动性的上市公司证券作为指数样本,以反映高股息率上市公司证券的整体表现。指数以2004年12月31日为基日,以1000点为基点。 截至2024年6月30日,中证红利指数占比最高的前五名行业为银行、煤炭、交通运输、钢铁和传媒,占比分别为21%、17%、11%、8%和5%。中证红利指数的市值分布呈现两极分化的情况,市值规模超过1000亿的成分股占比为27%,市值规模小于100亿的成分股占比为20%。 图1:中证红利指数中信一级行业分布 图2:中证红利指数成分股市值权重分布 中证红利指数长期收益优于其他主流宽基指数,收益风险比优秀。自2013年1月1日至2024年6月30日,中证红利指数区间收益达111.33%,年化收益达6.99%,高于沪深300指数的2.89%、万得全A的5.91%和中证800的3.08%。收益风险比为0.33,同样高于沪深300、万得全A和中证800。 表1:中证红利指数长期业绩表现 图3:中证红利指数历史走势 中证红利指数今年以来的收益率为1.96%,优于沪深300的-1.18%、万得全A指数的-10.23%和中证800指数的-4.44%。 表2:中证红利指数短期业绩表现 3机器学习应用一:红利主题指数配置 本节主要讨论不同风格的红利指数资产配置问题。除中证红利指数(000922. CSI)以外,目前仍有很多其他不同风格的红利主题指数,本文选取包括中证红利指数在内共计12个红利主题指数,构建相应的红利指数配置策略。 表3:红利主题相关指数 表4:红利主题相关指数跟踪产品 对于上述12类红利主题资产,其中有10类资产包含可投资的ETF产品,红利价值指数及红利成长低波指数暂无相关跟踪的ETF产品。 针对上述待选的12个红利主题相关指数,本文计算了其日度收益率的相关性。整体而言,各个红利资产相关性保持在70%以上,恒生港股通高股息低波动与其他资产相关性相对较低,相关性维持在70%以下。 表5:红利资产相关性 传统的资产配置策略通常基于主观逻辑及相对宏观的指标进行资产择时,此类策略主要痛点在于宏观指标数据量较少,且主观逻辑容易受主观经验制约,难以最大化利用数据信息,且针对较高相似度的各类资产,传统的资产配置策略难以得到行之有效的策略。为进一步剔除主观因素的影响,捕捉各类红利资产的细微差异,本文将通过机器学习算法构建相应红利指数配置策略。 3.1决策树算法简介 决策树是一类目前应用广泛且较为经典的机器学习模型,其原理在于决策树通过递归地选择最优特征进行分割来构建。最优特征的选择通常基于某种度量标准,如信息增益、基尼指数或方差减少。每次分割都会将数据集分成更小的子集,直到满足停止条件(如达到最大深度或子集纯度)为止。 针对决策树模型,常见的算法包括ID3、C4.5以及CART算法。其中ID3是决策树算法的早期版本,主要基于信息增益来选择划分属性。信息增益是通过比较划分前后的熵差来衡量的,其中熵是衡量数据集不确定性的指标。ID3算法通过计算每个特征的信息增益,选择信息增益最大的特征进行划分,从而构建决策树。而C4.5算法是ID3算法的改进版,引入了增益率来选择划分属性,并且能够处理连续属性,通过剪枝技术来防止过拟合,解决了ID3算法不能处理连续属性、以及在构建决策树时容易产生过拟合的问题。CART算法采用基尼不纯度作为划分属性的标准,通过递归地将数据集分割成更小的子集,直到满足停止条件为止,可用于分类和回归问题。 单一的决策树有时难以达到令人满意的预测效果,而Boosting作为一种集成学习方法可解决单一决策树预测效果不佳的方法。Boosting通过结合多个弱学习器(weak learner)来形成一个强学习器(strong learner),具体方式为顺序地训练弱学习器,并且每个新的学习器都尝试纠正前一个学习器的错误,来逐渐提高整体的预测精度。 常见的Boosting算法包括GBDT(Gradient Boosting Decision Tree)及DART(Dropouts meet Multiple Additive Regression Trees),其中GBDT主要原理为将前一棵树的预测残差(或损失函数的梯度)作为后一棵树的目标值,如此迭代,来优化回归模型的性能。而DART是GBDT的一个变种,它将深度学习的dropout技术引入梯度提升树模型中,通过随机丢弃部分树,DART旨在减少模型过拟合的风险,并提高模型的泛化能力。 以上集成学习思路具备多种实现模型,本节着重介绍其中两类应用较为经典的XGBoost以及LightGBM。 XGBoost XGBoost(eXtreme Gradient Boosting)是一种高效、灵活且可扩展的机器学习算法,由陈天奇(Tianqi Chen)在2016年提出。它基于GBDT的框架实现,并在此基础上进行了多种优化,显著提升了计算速度和模型性能。其在提高模型准确率、加快训练速度和防止过拟合等方面拥有独特优势,在各类数据挖掘和机器学习任务中广受青睐。该算法具备如下特点: 1)正则化:XGBoost引入了L1(Lasso)和L2(Ridge)正则化项,可以有效防止模型过拟合,提升模型的泛化能力。 2)加权的量化特征(Weighted Quantile Sketch):该方法可以高效处理稀疏数据,并支持分布式计算,使得XGBoost在处理大规模数据时表现尤为出色。 3)并行处理:通过分裂点并行化(Split Finding Algorit hm),XGBoost可以充分利用多核处理器,显著加速模型训练过程。 4)树结构优化:XGBoost使用了基于贪心算法的近似算法(Greedy Algorithm),进行最佳分裂点的搜索,同时引入了剪枝(Pruning)策略,进一步优化树结构,提高模型性能。 5)支持自定义损失函数:XGBoost允许用户自定义损失函数,灵活适应不同的业务需求和应用场景。 图4:XGBoost算法原理示意 XGBoost核心算法在于:首先,不断地添加树,进行特征分裂来生长一棵树。每次添加一棵树,学习一个新函数f(x),去拟合上次预测的残差;其次,当训练完成得到k棵树,就根据这个样本的特征,在每棵树中落到对应的一个叶子节点,每个叶子节点就对应一个分数; 最后,将每棵树对应的分数加起来就是该样本的预测值。 XGBoost的目标函数由两部分组成: 𝑛 𝐾 𝑂𝑏𝑗 = ∑ 𝑙(𝑦, 𝑦̂)+ ∑ 𝛺(𝑓) 𝑖 𝑖 𝑘 𝑖 =1 𝑘=1 𝑛是样本数量,𝑦是第𝑖个样本的真实值,𝑦̂是模型的预测值,𝐾是树的数量,𝑓是第𝑘棵树的预测结果。针对目标函数的不同组成部分。其中𝑙(𝑦̂, 𝑦)表示损失函数,用于衡量预测值𝑦̂与真实值𝑦之间的差异,常用的损失函数包括均方误差(MSE)、对数损失(Log Loss)等;Ω(𝑓)是正则化项,目的是控制模型复杂度,防止过拟合,共包含两个部分(叶子节点数和叶子节点权重的惩罚项): 𝑖 𝑖 𝑘 𝑖 𝑖 𝑖 𝑖 𝑘 𝑇 2𝑗 Ω(𝑓) = 𝛾𝑇 + 𝜆 ∑ 𝑤 2 𝑗=1 其中𝑇是树的叶子节点数,𝑤是第𝑗个叶子节点的权重,𝛾和𝜆是正则化参数,用于控制模型复杂度。 𝑗 LightGBM XGBoost推出后在多种不同任务类型体现出了极强的预测精度,但训练时长和内存消耗相比之前模型不占优势。而LightGBM(Light Gradient Boosting Machine)就是一种由微软提出的解决GBDT在遇到海量数据训练速度慢的算法。该算法具备如下特点: 1)计算速度快:LightGBM使用直方图算法来加速决策树的构建,并采用基于叶子增长(Leaf-wise gro