社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

基于机器学习方法的两阶段因子择时【华福金工·李杨团队】

贝塔阿尔法 • 3 周前 • 123 次点击  

//  核心结论  //

因子择时可行性

    因子的挖掘和组合已经历长时间的发展,相比较而言因子择时的研究较少。已有的研究认为尽管因子择时十分困难,但通过综合不同信号,将因子择时组合映射至股票层面进行股票择时,可获得显著的择时收益。报告采用随机森林算法,在中证800和全A指数范围内进行两阶段因子择时。
两阶段因子择时框架
    基于市场状态的两阶段因子择时有两个必要的先决条件:第一,市场状态不会在短时间内频繁变更,而是会持续一段时间;第二,不同市场状态下各类股票风格因子的表现不同,即相比于未分类的初始市场状态,不同市场状态下因子收益率间的相关性会降低。报告发现在市场回撤幅度较低时,各类因子间的相关性会降低。报告的两阶段择时框架如下:
    第一阶段,报告对股指滚动回撤数据聚类,实现市场状态划分,而后用随机森林算法,基于宏观变量数据,预测每期市场状态。在第二阶段,对因子收益率数据打标后,基于预测的市场状态将数据集划分为多个数据子集,而后在每个数据子集内训练模型,筛选优胜因子。
因子择时效果较好
    报告比较了滚动时长为180个月,用于市场划分的宏观指标为16个,中证800范围下和全A范围下因子择时策略的组合收益情况。回测发现在两个股指范围内,策略收益均能够超越基准指数,展示了策略因子择时的有效性。


//  报告正文  //

01

理论概述

1.1 多因子投资

    1964年,Sharpe 提出资产定价模型(Capital Asset Pricing Model, CAPM),清晰地表明风险和收益之间的关系。1993年,Fama and French在市场因子的基础上加入了HML和SML两个因子,构成了一个三因子模型,目前它已成为全球各国股票市场上资产定价实证研究的首选。而在诸多模型中,barraCNE5模型等系列是目前专门针对中国A股市场的股票风险模型,它包含一系列股票风格因子:市场因子、市值因子、动量因子、成长因子、流动性因子、盈利因子、杠杆因子、价值因子、非线性因子和波动因子。这为中国A股的因子投资提供指引,也为报告后续的投资组合提供指导。

    但总体而言现有的研究主要集中于因子挖掘和因子组合,较少将注意力放在因子择时上。这一方面是因为现有的因子投资框架较为完整,便于学习研究;另一方面也是因为因子择时十分困难。

1.2 因子择时
    常见的择时理论主要应用于股指增强,或者多类资产的配置。例如2004年美林证券提出“投资时钟模型”,将经济周期分为了四个独立的阶段,并表明大类资产的配置取决于宏观经济所处的阶段,并进一步基于对 1973-2004 期间 30年的研究完善美林时钟模型,通过对过去衰退期,复苏期,扩张期和滞涨期情况的复盘,给出不同经济周期下大类资产的投资品种参考。这是经典的资产配置择时理论。
    因子择时基于传统多因子投资的框架,寻找影响因子表现的关键驱动因素,而后通过预测因素的变化来预测因子收益的变化,当某类因子在预测中表现更好时,投资组合将赋予该因子更高的权重,当因子在预测中表现更差时,投资组合将赋予该因子更低的权重。每一期都根据因子的预测表现调整因子权重,从而实现因子权重的动态调整,进行投资。目前学术界和业界在因子择时上进行了很多尝试,现有的研究总体表明,因子择时非常困难。2023年Neuhierl[1]等人发现:
(1)用单一信号对单因子进行择时非常困难,仅有动量类信号和波动率类信号表现较好,其他信号的择时平均收益为负。
(2)综合不同信号进行因子择时,可以获得显著的择时收益。此外在择时中预测因子收益的变化幅度与预测因子收益的正负要更加重要。
(3)将因子择时映射至股票层面进行股票择时,可获得显著的择时收益。
    对此,报告尝试利用机器学习方法,滚动预测每一期的优胜因子,然后通过因子滚动期内优胜概率的大小,动态调整组合内因子组合的权重大小,实现因子择时。

02

策略框架概述

    基于市场状态的因子择时,有两个必要的先决条件,第一,市场状态不会在短时间内频繁变更而是会持续一段时间;第二,不同市场状态下各类股票风格因子的表现不同,即不同市场状态下因子收益率间的相关性降低。满足以上两个条件,因子择时才有可能成功。
2.1 市场部分
    当市场处于不同的回撤幅度下,因子间的相关性表现也会不同,因此在市场状态划分中,优先关注市场的异常状态,而股指的滚动最大回撤数据可以很好地反映市场异常状态和回撤幅度的变化。采用无监督学习的方法,对股指回撤数据进行聚类,得到不同的簇,每一类簇对应着一种市场状态,从而实现市场状态的划分。此外,部分宏观变量与市场状态之间存在相关性,可以通过宏观指标的变化去预测市场状态的变化。Kao and Shumaker (1999)[2]则证明了宏观经济的变化和不同金融市场中因子的表现存在相关性。报告从6个角度选取了具有一定代表性的宏观变量,作为后续滚动划分市场状态的数据,此外报告也使用基于决策树的特征重要性函数来分析各个宏观变量在划分市场状态中的重要性程度。
    由于市场大幅回撤的时间较短,市场状态数据属于不平衡数据。因此在划分市场状态后,使用过采样技术(SMOTE)解决数据不平衡的问题,而后用随机森林算法滚动预测每一期的市场状态。
2.2 因子部分
    待选股票风格因子为市值因子、波动率因子、流动性因子和动量因子,每一期将在该范围内筛选预测出优胜因子。其中优胜因子是指每一期收益率最高的因子,通过对因子收益率数据打标方法实现。具体来说:首先计算各类因子的历史月度收益率,而后将当月收益率表现最好的因子标记为1,其余因子标记为0。例如某个月份,小市值因子表现最佳,那么当期小市值因子即为优胜因子,被标记为1,其余因子标记为0。
    接下来先使用第一阶段得到的市场状态预测值,将数据集分为多个子集,而后在每个子集内(市场状态下)结合打标后的因子优胜数据以及宏观变量数据,滚动预测当期的优胜因子并计算因子在滚动期内优胜概率,作为后续策略回测中因子的加权基础。
    此外,报告对比初始状态(市场状态未分类),观察分类后不同市场状态下因子收益率间的相关性是否显著降低,以确认因子择时先决条件是否满足。


03

策略模型构建

3.1 第一阶段
3.1.1 市场状态划分
    当市场处于不同的回撤幅度下,因子间的相关性表现也会不同,而股指滚动回撤数据可以很好地反应市场的状态变化。因此报告将对股指过去3个月的滚动最大回撤以扩展窗口的形式聚类,得到对应不同市场状态的簇,其中每一类簇代表着一种市场状态,从而实现市场状态的划分。在聚类的方式上报告选择使用K-means聚类。
    K-means聚类:一种基于距离的聚类方法。首先确定目标分组数量(K),根据需要划分的簇或分组的数量,随机初始化k个质心。然后将数据点指定给最近的质心,形成一个簇;接着更新K个质心的位置,并为其重新分配数据点。不断重复以上过程,直到质心的位置不再改变。K-means聚类易于理解,实现方式简单,但因为分类时的质心是用数据点的平均值迭代更新,因此分类得到的簇以圆形为主,当训练集中数据点的分布不是圆形,则无法正确分类。

但模型中只用对股指的滚动最大回撤这一维数据进行聚类,所以理论上不必考虑数据点的分布是否为圆形,且根据滚动回撤聚类图可以发现,K-menas聚类可以将市场回撤较大的时期分为一组,而将市场回撤较小的时机分为另一组,实现市场状态的划分。为了确定应该将市场状态分为几类,模型使用肘部法则(簇类平方和的下降程度),选择簇类平方和下降显著减缓的转折点,如图表3所示设置簇的数量为4,得到中证800指数滚动回撤的聚类图:

    对市场状态与平均回撤(图表5)进行统计分析,可以发现:第一种市场状态(簇0):回撤最小,代表市场上升时期;第三种市场状态(簇2):回撤最大,代表市场衰退时期;第二、四种市场状态(簇1、3):回撤介于前两者之间,代表市场处于正常时期的下降和上升状态。
    为各类市场状态命名,将簇0命名为:市场上升时期;簇1命名为:市场正常时期下降;簇2命名为:市场衰退时期;簇3命名为:市场正常时期上升。统计四类市场状态的占比和平均回撤幅度,具体如图表5、6所示:

    此外通过市场状态分布的占比(图表6)可以发现,簇0对应的市场上升状态占比最高,达到49.79%,平均回撤幅度为-12.68%;而簇2对应的市场衰退状态(市场处于大幅回撤)占比最低,只有10.97%,且平均回撤幅度为-40.80%。根据聚类的结果,可以发现市场处于较大回撤状态的数量较少,而模型在分类过程中可能会受到不平衡数据集的影响。对此报告采用过采样技术(SMOTE)合成少数类样本解决数据不平衡问题。
    过采样(SMOTE)是指通过选择少样本数据中最近邻点,用连线上的数据合成新样本,从而补充数量较少的样本。具体工作原理如下:
    (1)选择少数类样本:随机选择一个少数类样本;(2)寻找最近邻:计算该样本的K个最近邻(通常K=5),这些近邻通常也是少数类样本;(3)合成新样本:从K个最近邻中随机选择一个,然后在两个样本之间的连线上选择一个点,生成新的合成样本;(4)重复上述过程,直到达到所需的少数类样本数量。

3.1.2 宏观指标介绍
    市场状态与部分宏观变量的表现相关,选择具有代表性的宏观指标能够很好地反应市场状态的变化。报告优先从通胀,经济增长,金融状况,信贷,市场情绪,汇率这六个角度选择宏观指标。
    由于宏观指标数据通常为月末数据且发布时间为下个月下旬,因此将宏观变量数据推迟两期。例如2024年6月的市场状态划分,将使用2024年4月底的宏观指标数据。最终待选取的宏观变量如下图表8所示。

    其中金融条件指数(FCI)采用第一财经研究院的数据,覆盖了货币市场利率、国债收益率曲线斜率、信用债利差、资产价格指数等市场数据和指标。通过尽可能多地参考各类主体的融资条件,衡量社会整体宏观金融环境。金融条件指数具体的指标构成如图表9所示,包含了银行间同业拆解市场、债券市场、股票市场和银行信贷市场等四个方面。图表10为金融条件指数每期的数据。

    金融波动指标(Turbulence),一种检测市场系统性风险的方法,特征是资产价格偏离典型的历史行为模式。例如极端的价格变动,先前相关资产的脱钩,以及不相关资产开始相关。采用Kritzman and Li (2010)[3]的方法,使用股票行业指数与债券指数数据编制而成,具体编制方法如下:

    按照Kritzman和Li的方法,选择了31个申万一级指数行业(电子、计算机、煤炭、石油石化、银行、非银金融、医药生物、食品饮料、公用事业、基础化工、轻工制造、钢铁、传媒、通信、建筑材料等)的月度收益以及各种期限国债指数(1-3年、10年)的月度收益来构建金融动荡指数,每一期的指数数据如下图11所示。

3.1.3 市场状态预测模型
    (1)随机森林算法介绍
    报告将使用随机森林算法进行每一期市场状态预测以及优胜因子预测。
    决策树(Decision Tree),是一种以树形数据结构来展示决策规则和分类结果的模型,作为一种归纳学习算法,其重点是将看似无序、杂乱的已知数据,通过某种技术手段将它们转化成可以预测未知数据的树状模型,每一条从根结点(对最终分类结果贡献最大的属性)到叶子结点(最终分类结果)的路径都代表一条决策的规则。决策树流程中的重点是寻找最优划分属性,这通过信息增益实现。信息增益由熵的减少计算得出,主要计算方式如下,用于体现正例/总体的纯度占比(正确分类占比)。当一组中全是同一类;树的深度达到设定的最大值;进一步拆分带来的效果小于阈值(信息增益过小)时可以停止拆分。

    树集合可以构建多个决策树,通过重采样对数据进行微小调整使得结果更加健壮,降低模型对数据微小变动的敏感性,而随机森林通过bagging的方法实现。具体而言通过多次有放回的抽样得到n个和原训练集大小相同的新训练集,用n个新训练集训练得到n个树,当要预测的时候,使用这 n个模型进行预测,再通过取平均值或者多数分类的方式,得到最后的预测结果。这可以减少模型的方差且不显著增加偏差。一般而言,当树的数量大于100时,带来的增益显著下降。
    随机森林可以处理大量的输入变量并评估变量的重要性,在生成过程中,对于缺省值问题也能够获得很好得结果。缺点是当数据量较大时运行速度较慢。
    (2)随机森林参数调优
    接下来报告将使用随机森林算法,结合市场的实际状态和宏观变量值,滚动预测每一期的市场状态,而在使用随机森林算法时,通常涉及到参数的调整优化以使模型的分类性能效果达到最优。
    随机森林常见的参数包含:树的数量,最大特征数等,在设置随机森林的初始参数后,报告使用网格搜索方法(GridSearchCV)进行调参。GridSearchCV函数包含两部分,GridSearch和CV,即网格搜索和交叉验证。网格搜索,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数,是训练和比较的过程。报告对随机森林的4个参数进行网格搜索:树的数量,最大特征数,拆分内部节点所需的最少样本数以及树的深度;k折交叉验证将所有数据集分成k份,不重复地每次取其中一份做样本外,用其余k-1份做训练集训练模型,之后计算该模型在样本外上的得分,将k次的得分取平均得到最后的得分。报告使用5折交叉检验,最终模型的性能评估是基于5次迭代的平均结果。
    GridSearchCV可以保证在指定的参数范围内找到精度最高的参数,但是这也是网格搜索的缺陷所在,要求遍历所有可能参数的组合,在面对大数据集和多参数的情况下,非常耗时。

    而在算法性能衡量方式的选择上,有多种指标可供选择,例如准确率(Accuracy)、精确率(Precision)、召回率(Recall)等。由于市场处于异常(较大回撤)的时间要远少于市场处于正常状态的时间,属于不平衡数据集,为避免这一情况对性能衡量指标的影响,报告采用ROC_AUC值衡量算法的性能。ROC曲线(Receiver Operating Characteristic Curve)是一种用于衡量分类模型性能的图形化方法,通过展示真阳率(True Positive Rate, TPR, 同召回率)与假阳率(False Positive Rate, FPR)之间的关系,反应模型对样本进行分类排序的能力。TPR与FPR计算公式如下:

    通常,ROC曲线从FPR=0和TPR=0的左下角开始,随着阈值的降低,模型更倾向于将样本预测为Positive,FPR和TPR都会增加。ROC曲线会向右(更高的FPR)和向上(更高的TPR)延伸。ROC曲线下的面积AUC是一个总结性的指标,表示模型的整体性能。AUC值的范围从 0.5(等同于随机猜测)到1.0(完美区分),AUC值越高,模型的分类性能越好。

3.1.4 市场状态预测结果
    确定随机森林的各个参数以及用于预测的宏观指标后,将滚动预测每一期的市场状态。按照前文提到的方法,以中证800指数滚动回撤为例,滚动时间为120个月,用于滚动预测的宏观变量数为16个,训练集的时间跨度为2005/02-2015/01。采用过采样技术(SMOTE)平衡数据集后,使用网格搜索交叉验证(GridSearchCV)遍历确定树的数量,最大特征数等参数的最优值,以五折交叉验证的ROC_AUC得分为算法性能衡量标准。
    可以发现,在使用过采样平衡数据集后,模型的ROC_AUC得分可以达到0.838。算法性能较好。接下来利用随机森林算法,以滚动过去120个月的市场状态和宏观变量数据为例,预测样本外每一期的市场状态,得到的市场状态图如图表15、16所示。从中可以发现,2014年12月以来,样本外中的市场状态预测值中,市场上升状态出现次数最多,占比达70.09%,而市场处于衰退时期的次数最少,占比仅有6.84%。

    此外,报告还计算了各类宏观变量的重要性得分以观察在市场状态划分中的核心变量,重要性得分是通过信息增益计算得出。
    决策树模型中的特征重要性通常是指模型在构建过程中,各个特征对于预测目标变量的贡献程度,得分越高,说明在分类的过程中该特征表现越好。这些得分主要通过信息增益计算得出,信息增益是指每次分类时熵的减少,熵减少得越多,信息增益值越大,与熵类似的函数还有基尼系数。熵的计算公式如下:

报告在训练集中已经划分好的市场状态,以及各个宏观变量的月度数据基础上,使用基于决策树的特征重要性函数,计算各个宏观变量的重要性得分。经过测试,股指和滚动时间长度的不同会影响宏观变量得分,以股票范围为中证800成分股,滚动时间为120个月数为例,宏观指标重要性得分如下图所示。

    从图中可以看出,相比于基期,金融状况类指标在末期的重要性得分大幅上升,而其他大类宏观指标的重要性得分均有所下降。说明在样本外,金融状况类指标在划分市场状态的作用上越来越大,起到了核心驱动作用。


3.2 第二阶段

3.2.1 待选风格因子

    报告选择了市值类因子、波动率类因子、动量类因子与流动性类因子,作为每一期筛选的备选股票风格因子,每一个因子组合的具体编制方法如下,例如每一期的中证800的小市值因子组合将由对应时期中证800指数成分股中市值最低的1/10股票等权重组成:

    策略首先计算每一期各类因子组合中股票收益率的均值,将其作为当期因子的收益率,而后进行打标,将每一期中收益率最高的因子标记为1,其余标记为0。之后使用随机森林算法,结合打标数据与宏观变量数据预测每一期的优胜因子。训练集中的实际优胜因子与样本外中的预测优胜因子数据合并后就可以计算滚动期内的因子优胜次数占比,作为因子投资权重。

3.2.2 因子相关性分析
    因子择时的一个重要性前提是因子在不同的市场中表现(收益)不同,也即不同市场状态下,因子收益率间的相关性比未分类市场更低。以中证800指数成分股为例,测算不同市场状态下各个因子收益率之间的相关性,具体结果如下图所示:

    可以发现市场上升时期和市场处于正常时期上升的情形下,因子收益率间的相关性显著降低,但在市场衰退时期和市场处于正常时期下降时,因子收益率间的相关性普遍升高,在该市场状态下,因子择时效果可能一般。只有在市场回撤幅度较低时,因子择时才有可能有效。中证800指数是由沪深300和中证500指数成分股组成,从中筛选的股票因子受到市值因素的影响,相关性比较高。
    此外报告尝试将选股范围从中证800扩展到全A,并计算训练集中全A范围下因子收益率间的相关性,具体结果如下:

    与中证800类似,当股票范围扩展到全A后,可以发现市场上升时期和市场处于正常时期上升的情形下,因子收益率间的相关性显著降低,但在市场衰退时期和市场处于正常时期下降时,因子收益率间的相关性普遍升高,在该市场状态下,因子择时效果可能一般。只有在市场回撤幅度较低时,因子择时才有可能有效。
    总体而言,在中证800范围或全A范围内,用市值等股票风格特征筛选其中十分之一的股票构成因子组合,收益率之间的相关性普遍较高,虽然在不同市场状态下组合收益率相关性有所降低,但依旧偏高,这对策略的因子择时效果会带来一定影响。

3.2.3 滚动筛选因子
    在此处,报告以滚动时间为120个月,用于划分市场的宏观变量数量为16个为例,按照前文提到的方法,滚动筛选中证800指数成分股和全A范围下每一期的优胜因子。
    首先进行打标,在训练集中,找到每一期收益率最高的因子(优胜因子)标记为1,其余因子标记为0。接下来利用网格搜索交叉验证(GridSearchCV函数)对随机森林算法中的参数:树的数量,最大特征数,拆分内部节点所需的最少样本数(1-10)以及树的深度进行调优;最后滚动过去120个月的市场状态和各期优胜因子,筛选出样本外中每一期的优胜因子,并计算因子在滚动期内的优胜概率,作为后续策略投资因子动态加权的依据。
    中证800和全A范围的因子优胜概率变化图如下所示:


04

策略回测

    报告的回测方式:按照前文提到的方法,报告首先利用筛选得到的宏观变量指标和训练集中的市场状态,去滚动预测训练集中的市场状态,再根据预测的市场状态划分数据子集,每一个数据子集内结合打标后的因子数据以及宏观变量数据,滚动筛选样本外中每一期的优胜因子,最后根据因子在滚动期内的优胜概率决定当期在该因子上的投资权重。报告将分别在中证800指数成分股与全A范围下进行回测。

4.1 中证800因子择时回测

    中证800范围内因子组合回测细节如下:

    (1)滚动窗口长度:180个月

    (2)回测时间:数据时间跨度为2005年至2024年,训练时间为2007年2月至2019年12月,样本外为2020年2月至2024年9月

    (3)换手费率:万分之五

    (4)调仓频率:每月月末调仓

    (5)随机森林参数:树的数量:10;树的深度:None;最大特征数:4;最小分割样本数:10

    中证800的因子优胜概率变化图、策略净值图以及风险收益指标如图表31所示。由于数据集整体的时间长度有限,因此滚动时间为180月数时,因子的优胜概率变化不大,策略中的因子权重占比变化不大;此外由前文可知当因子的股票范围限制在中证800指数成分中时,受到成分股内容的市值因素影响,因子收益率间的相关性也较高。但即便如此,在对因子进行加权处理后,策略累计收益率依然高于基准指数,并战胜因子等权重组合,超额累计收益率分别为:21.30%。

    在2021年-2023年,该策略年度超额均为正,均能战胜基准。在2024年模型未能战胜基准,主要是由于模型基于历史数据预测市场状态和筛选优胜因子,在今年的9-10月导致市场剧烈波动的政策性因素无法在宏观数据中体现出来,因此策略跑输了基准。但是政策性的变化不会频繁出现,而市场状态则会保持一定的稳定,因此模型基于当前的市场状态给出了截止目前最新的各类因子优胜概率,从图中可以看出:中证800范围下,因子组合权重最高的三个分别为:小市值组合,低波动组合,低流动组合。相比于9月的因子组合权重,10月份策略调高了低动量组合权重并降低了小市值组合权重。策略认为在10月份低动量组合占优。

4.2 全A因子择时回测

    全A范围内因子组合回测细节如下:

    (1)滚动窗口长度:180个月

    (2)回测时间:数据时间跨度为2005年至2024年,训练时间为2005年2月至2019年12月,样本外为2020年2月至2024年9月

    (3)换手费率:万分之五

    (4)调仓频率:每月月末调仓

    (5)随机森林参数:树的数量:10;树的深度:None;最大特征数:4;最小分割样本数:10

    全A范围内,因子优胜概率变化图、策略净值图以及风险收益指标如下图所示。同样由于数据集整体的时间长度有限,因此滚动时间为180月数时,因子的优胜概率变化不大,策略中的因子权重占比变化不大。

全A范围下因子收益情况较好,策略累计收益率远高于基准指数(全A指数)和等权重因子组合,超额累计收益率为:29.68%。此外在2021年-2023年,该策略年度超额均为正,均能战胜基准。而2024年同样由于政策等多种因素导致市场波动过大,策略未能战胜基准。模型给出了截止目前最新的各类因子优胜概率,从图中可以看出:全A范围下,因子组合权重最高的三个分别为:小市值组合因子,低波动组合因子,高动量组合因子。相比于9月的因子权重,10月份策略调高了低动量组合权重并降低了小市值组合权重。策略认为在10月份低动量组合占优。

05

总结

    因子的挖掘和组合已经历较长时间的发展,学术界和业界对这方面也有了比较充分的研究,但对于因子择时方面的研究则较少。部分学者认为尽管因子择时十分困难,但通过综合不同信号,并将因子择时组合映射至股票层面进行股票择时,可获得显著的择时收益。

    对此,报告尝试利用机器学习,通过两个阶段预测每一期的优胜因子,并在投资组合中将因子优胜概率以加权的方式投资于相应的股票,实现因子择时。本报告研究的时间跨度为2005年至2024年,训练集开始于2005年2月,样本外受限于整体数据的长度,开始的时间点取决于滚动长度,例如当滚动时长为120个月份时,样本外的开始时点为2015年2月。报告中的市场状态划分和因子筛选均为月末,相应的使用到的宏观变量数据则为滞后2个月的月末数据。

    在第一阶段,实现当期市场状态的划分。报告首先利用聚类方法获取到市场的实际状态,而后根据6类宏观变量,利用随机森林算法滚动预测样本外每一期的市场状态。在第二阶段,实现当期因子的筛选。报告首先计算各类因子的实际收益率并打标,而后计算训练集中各类因子的相关性,确认因子择时的前置条件是否满足,最后利用第一阶段的预测市场状态,将数据分为多个数据子集,每一个数据子集下单独利用随机森林算法,结合宏观变量数据和因子打标数据进行训练,滚动预测样本外每一期的优胜因子。由于市场状态属于不平衡数据,报告在处理时采用过采样技术(SMOTE),在随机森林参数调优时则使用网格搜索与交叉验证寻找最优参数。

    经过回测可以发现在中证800和全A范围下,因子择时均能帮助组合战胜基准指数,且均能够战胜因子等权重组合,这证明了策略的因子择时具有一定的效果。


06

参考文献

[1]. DiCiurcio K J, Wu B, Xu F, et al. Equity Factor Timing: A Two-Stage Machine Learning Approach[J]. Journal of Portfolio Management, 2024, 50(3)..

[2]. Neuhierl, Andreas, Otto Randl, Christoph Reschenhofer, and Josef Zechner. "Timing the factor zoo." SSRN Working Paper (2023).

[3]. Kao, D.-L., and R. D. Shumaker. 1999. Equity Style Timing. Financial Analysts Journal 55 (1): 3748.

[4]. Kritzman, M., and Y. Li. 2010. Skulls, Financial Turbulence, and Risk Management.Financial Analysts Journal 66 (5): 3041. 


07

风险提示

以上结果基于数学模型与历史数据,存在模型失效的可能性。



08

附录

8.1 K-means聚类

K-means聚类的目的是将数据点划分为K个聚类,该方法可以对市场回撤数据中分组,将市场划分为不同的市场状态。K-means聚类具体计算公式如下:


8.2 基于决策树的重要性得分
特征重要性函数用于为每个输入因子分配分数,反映其在预测因变量方面的重要性。前文已介绍通过熵的减少(信息增益)来作为最佳划分的方法,现在介绍通过使用基尼指数作为杂质度量来识别最小不纯节点的最佳分割。随机森林模型由多个独立的决策树组成。对于单个决策树模型,每个特征的重要性:

随机森林是基于决策树的集成学习算法,因此为了计算集成水平(随机森林)上的特征重要性,我每棵树的重要性归一化公式如下:

然后对每棵树的归一化特征重要性值求和,得到随机森林水平上的最终特征重要性:

其中j属于数据集中的所有特征,m属于随机森林中的所有树。报告将这个特征重要性函数应用于整个训练集以找出划分市场状态的核心宏观变量。


8.3 SMOTE方法

针对数据不平衡的问题,SMOTE通过插值现有样本来合成新的少数类实例。该技术基于沿特征空间中最近邻居间的连接线段,来生成合成数据点。

SMOTE计算公式如下:

SMOTE有效地增加了少数类,为模型提供了更多样化的例子,缓解了失衡问题。



>>>>


研究报告名称:基于机器学习方法的两阶段因子择时

对外发布时间:2024年10月29日

报告发布机构:华福证券研究所

本报告分析师:林宸星 SAC:S0210524100003

· 往期回顾 ·
资产配置方向研究

行业配置研究胜率篇:因子动量——资产配置系列报告(一)

行业配置宏观篇:边际驱动的逻辑——资产配置系列报告(二)

行业配置研究赔率篇:定价预期收益——资产配置系列报告(三)

行业配置研究:寻找胜率与赔率的平衡——资产配置系列报告(四)

不同通胀状态下,A 股市场中观决策逻辑研究——资产配置系列报告(五)

应用转债构建低波动固收+策略——资产配置系列报告(六)

宏观流动性对A股的传导和定价——资产配置系列报告(七)

宏观经济指标对市场定价的趋势与反转特征——资产配置系列报告(八)

固收+的多策略探索——资产配置系列报告(九)

公募基金持仓对行业的定价解析及策略设计——资产配置系列报告(十)

稳中求胜:技术指标驱动的稳健资产配置策略——资产配置系列报告(十一)

行业配置选择的新探索:从多因子走向多策略

基于宏观环境划分的ROE杜邦三要素驱动分析

解析ETF持仓特征的行业配置新视角——资产配置系列报告(十二)

微盘股的超额还有持续性吗?——资产配置系列报告(十三)

绝对收益新思考:挖掘市场信号与风险偏好的关联——资产配置系列报告(十四)

结合预期和趋势视角的宏观定价交易模式

由胜率景气逻辑出发的量价择时增强行业轮动探索

极致风格化的高beta行业配置策略探讨

市场产品研究

BETA的起点:FOF基金市场分析及展望——产品市场研究系列报告(一)

开辟ETF发展的第二战场——产品市场研究系列报告(二)

高质量发展下,多视角看量化基金的成长新动力——产品市场研究系列(三)

从精细化匹配负债需求看“固收+”基金边际增长点——产品市场研究系列(四)

后资管新规时代,主动权益基金的市场需求重构——产品市场研究系列(五)

存量博弈阶段,指数增强或迎战略机遇期——产品市场研究系列(六)

ETF下半场,增长方式的重塑与切换——产品市场研究系列(七)

再看主动权益:行业赛道的落幕和风格策略的崛起

基金产品研究

权益基金分析框架:多元立体策略分类及解析——基金产品研究系列报告(一)

纯债基金的Beta分解和Alpha优选——基金产品研究系列报告(二)

哪些因素在驱动主动权益基金获得超额收益——基金产品研究系列报告(三)

抽丝剥茧,“固收+”基金的风险特征分析与组合优选——基金产品研究系列报告(四)

主动权益基金的另类选基方案:指数增强的逻辑筛选——基金产品研究系列报告(五)

Beta 视角下的超额收益观察 ——纯债基金超额收益的驱动因素分析

如何选择短期业绩不佳的权益基金

在变与不变中寻找平衡点:抱团风格轮动的选基方案——基金产品研究系列报告(六)

主动权益基金的另类选基方案:高弹性主动权益基金的策略构建——基金产品研究系列报告(七)

权益基金选择新思路:来自资产配置多策略的启示——基金产品研究系列报告(八)

低估值央国企策略背景下的权益基金选择——基金产品研究系列报告(九)

高景气逻辑再重构下的权益基金选择——基金产品研究系列报告(十)

高盈利质量多维评价体系下的权益基金选择——基金产品研究系列报告(十一)

转债类固收+产品分类与配置思路——基金产品研究系列报告(十二)

量化基金收益延续性的深度拆解:稳健战胜宽基指数的基金组合构建——基金产品研究系列报告(十三)

如何通过收益风险特征构建不同弹性的“固收+”基金优选策略

高盈利质量+红利:具有长期配置价值的权益基金策略

如何通过基金产品捕捉智能驾驶产业机会

财富管理方向研究

基金投顾:财富管理转型新篇章——财富管理研究系列(一)

财富管理商业模式变革:从卖方到买方的关键路径——财富管理研究系列(二)

机构篇:面向未来财富管理的to BCA业务模式探讨——财富管理研究系列(三)

看见【她们】:掘金女性财富管理的蓝海市场——财富管理专题研究(一)

多元监管视角展望投顾业务发展——财富管理专题研究(二)

如何利用投教构筑行业的飞轮效应——财富管理专题研究(三)

美国资管机构发展沉浮录——投顾转型必要性深度剖析

投顾 B to A 业务模式的海外经验与中国落地思路——财富管理专题研究(四)

公募存量时代强者恒强,产品格局或生变

固收方向研究

转债经典策略解析及重构——可转债系列研究(一)

转债投资的三个焦点:转债动量、景气度和信用——可转债系列研究(二)

可转债首日定价:深度解析及投资机会——可转债系列研究(三)

收益与风险的平衡:系统刻画转债中观特征——可转债系列研究(四)

成长股到成长转债——可转债系列研究(五)

转债强赎研究进阶篇 ——可转债研究系列(六)

转债市场行业策略探索——可转债研究系列(七)

风险优化视角下的绝对收益策略新思路

转债策略如何通过高YTM转债稳定跑赢中证转债

什么是影响利率拐点的关键变量?

汇率波动与资金流向:解构股市资金驱动逻辑

固收定量研究

债券市场的赔率交易结构解析 ——固收定量研究系列(一)

日历效应和宏观指标背后的债券市场定价逻辑 ——固收定量研究系列(二)

多维度宏观指标背后的利率定价逻辑——固收定量研究系列(三)

选股策略系列

券商金股全景特征解析

《成长股景气投资的确定性提高路径》

价值选股策略的高胜率兑现路径

高盈利质量选股策略深度解析及适用性探讨

选股策略的重构:多策略的配置方案演绎

低估值央国企的超额收益持续性研究及选股思路

红利风格及“红利+”策略探索

低关注度股票的超额收益探索

基于风格选择的ESG选股深度研究及策略探索

捕捉长期趋势叠加短期风险预警的红利行情研判

极端行情前后因子表现梳理及决策路径

极致风格下的高beta策略探讨

极致风格下的高beta策略探讨(二)高beta策略的组合配置

由股票均线位置蕴含的趋势讯息延申的选股策略

基于风格动量的龙头股选股策略探讨

市场观察系列

行业板块拥挤度深度解析

复盘:市场在触底前后特征表现分析

公募基金行业加减仓背后的交易逻辑

主动权益vs固收+,行业配置逻辑深度解析

绝对收益策略的进阶思考:估值,ERP与赔率

量化基金回撤分析与择时

成分股调整对指数及股票的影响解析

纯债基金的久期估测

日历效应背后的择时策略探究

超配国企基金会带来怎样的业绩表现?

市场半月效应和宏观流动性的择时

拨云未见日,预期再重构——2023下半年A股市场策略展望

交易范式的重塑--2023年A股市场展望及策略应对

从主题到主线的演绎——2024年A股市场策略展望

从成分股调整看指数估值、盈利变化

从“低估值”到“高增速”陷阱的演绎

DMA策略带来的小微盘股风险释放及前景展望

还原真实估值和盈利水平:指数加权和整体法指标的实用性及差异拆解

主线切换时基金经理如何做切换


金融产品面面观

美国对冲基金都采用哪些投资策略?——金融产品面面观系列(一)

基金产品生命周期:清盘vs“迷你”——金融产品面面观系列(二)

港股布局:公募基金和南向资金有何异同——金融产品面面观系列(三)

红利ETF的产品力究竟在哪里?——金融产品面面观系列(四)

主动ETF会成为市场新蓝海吗?——金融产品面面观系列(五)

长期视角下,小盘基金的新赛道在哪里?

基金市场跟踪

行稳致远:公募基金行业2021经营状况全景分析

规模盈利双双承压,纯债基金成增长驱动力——公募基金行业2022半年报综述

经营环境承压,存量时代或将开启——公募基金行业2022年全景回顾

养老金系列研究

《个人养老金:政策背景、商业模式、客户画像和竞争格局的全球实践及中国推演——养老金专题研究系列(一)》





 法律声明及风险提示

分析师声明

本人具有中国证券业协会授予的证券投资咨询执业资格并注册为证券分析师,以勤勉的职业态度,独立、客观地出具本报告。本报告清晰准确地反映了本人的研究观点。本人不曾因,不因,也将不会因本报告中的具体推荐意见或观点而直接或间接收到任何形式的补偿。


一般声明

华福证券有限责任公司(以下简称“本公司”)具有中国证监会许可的证券投资咨询业务资格。本报告仅供本公司的客户使用。本公司不会因接收人收到本报告而视其为客户。在任何情况下,本公司不对任何人因使用本报告中的任何内容所引致的任何损失负任何责任。

本报告的信息均来源于本公司认为可信的公开资料,该等公开资料的准确性及完整性由其发布者负责,本公司及其研究人员对该等信息不作任何保证。本报告中的资料、意见及预测仅反映本公司于发布本报告当日的判断,之后可能会随情况的变化而调整。在不同时期,本公司可发出与本报告所载资料、意见及推测不一致的报告。本公司不保证本报告所含信息及资料保持在最新状态,对本报告所含信息可在不发出通知的情形下做出修改,投资者应当自行关注相应的更新或修改。

在任何情况下,本报告所载的信息或所做出的任何建议、意见及推测并不构成所述证券买卖的出价或询价,也不构成对所述金融产品、产品发行或管理人作出任何形式的保证。在任何情况下,本公司仅承诺以勤勉的职业态度,独立、客观地出具本报告以供投资者参考,但不就本报告中的任何内容对任何投资做出任何形式的承诺或担保。投资者应自行决策,自担投资风险。

本报告版权归“华福证券有限责任公司”所有。本公司对本报告保留一切权利。除非另有书面显示,否则本报告中的所有材料的版权均属本公司。未经本公司事先书面授权,本报告的任何部分均不得以任何方式制作任何形式的拷贝、复印件或复制品,或再次分发给任何其他人,或以任何侵犯本公司版权的其他方式使用。未经授权的转载,本公司不承担任何转载责任。


特别声明

投资者应注意,在法律许可的情况下,本公司及其本公司的关联机构可能会持有本报告中涉及的公司所发行的证券并进行交易,也可能为这些公司正在提供或争取提供投资银行、财务顾问和金融产品等各种金融服务。投资者请勿将本报告视为投资或其他决定的唯一参考依据。



END




Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/175775
 
123 次点击