社区所有版块导航
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学习  »  机器学习算法

QIML Insight | 基于两阶段机器学习模型的因子择时方法

量化投资与机器学习 • 1 年前 • 1027 次点击  


量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据领域的主流自媒体公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W+关注者,曾荣获AMMA优秀品牌力、优秀洞察力大奖,连续4年被腾讯云+社区评选为“年度最佳作者”。


量化投资与机器学习公众号 独家解读


量化投资与机器学公众号  QIML Insight——深度研读系列 是公众号全力打造的一档深度、前沿、高水准栏目。



公众号遴选了各大期刊前沿论文,按照理解和提炼的方式为读者呈现每篇论文最精华的部分。QIML希望大家能够读到可以成长的量化文章,愿与你共同进步!

本期遴选论文
来源:The Journal of Portfolio Management Quantitative Special Issue 2024
标题:Equity Factor Timing: A Two-Stage Machine Learning Approach
作者:Kevin J. DiCiurcio、Boyu Wu、Fei Xu、Scott Rodemer、Qian Wang


核心观点

  • 两阶段方法显著增强了因子预测结果,突显了在评估因子表现之前确定市场风险体制的重要性,强调了在动态因子投资策略中纳入市场条件的必要性。
  • 市场风险信号(金融动荡)和金融条件成为跨不同市场风险体制确定因子表现的关键特征。这一发现强调了在开发因子预测模型时纳入这些特征的价值,以更好地应对不同的市场条件。
  • 同时整合宏观经济和市场风险因素进一步提高了模型的预测能力。这一发现表明,整合一般市场特征和特定因子属性可以导致更有效的因子投资策略,最终为投资者提供更全面的因子动态理解。
两阶段方法是本文提出的一种动态因子模型,旨在更好地应对不同市场条件下的因子表现。该方法包括以下两个阶段:

第一阶段

市场风险体制的识别和预测阶段,其过程如下:
1、市场风险体制预测器:首先,使用K均值聚类算法对S&P 500指数的最大回撤数据进行分类,以识别不同的市场风险体制。这一步骤旨在将市场条件划分为不同的簇,以反映不同的市场风险体制。如下图是标普500滚动3个月的最大回撤数据,我们对下列数据进行聚类分析,根据K-Means聚类的Elbow分析,决定聚为3类,如图7所示。
2、三种市场风险体制:在聚类过程之后,基于聚类结果确定的三种特定市场风险体制。其中cluster 0表示正常市场,cluster 1表示修复性反弹市场,cluster 2表示熊市。
3、市场风险预测:有了上述市场当前风险体制的标签,可以使用各种监督学习的分类技术对市场风险体制进行分类学习,以预测未来市场的风险体制。监督学习需要X变量,y就是步骤2的聚类标签。本文选取以下特征:
除了以上表格中的特征,还定义了一个Financial Turbulence指标,金融动荡的计算方法如下所示:

其中:

  • 代表特择时间段t的金融动荡
  •  代表时间段t的资产回报率向量
  •  代表历史回报率的样本平均向量
  •  代表历史回报率的样本协方差矩阵
由于大部分时间市场处于正常阶段,所以训练时,采用了过采样技术,如SMOTE,以解决数据不平衡问题,最终最小化了模型的偏差。下图给出了模型预测准确度和特征重要性。
在这一阶段,通过聚类和分类技术,识别和预测了不同的市场风险体制,并为第二阶段的因子相对表现预测提供了基础。整体而言,第一阶段的过程旨在为第二阶段的因子相对表现预测提供基础,并为动态因子择时决策提供支持。

第二阶段

是因子相对表现的预测
在第一阶段中,我们使用聚类算法将市场风险体制进行分类,得到了不同市场风险体制下的因子表现数据。在第二阶段中,我们使用监督学习技术来预测每个因子在不同市场风险体制下的相对表现。
具体而言,第二阶段的过程如下:
1、将整个数据集分成多个子数据集,每个子数据集对应于第一阶段中识别出的不同市场风险体制。
2、对于每个子数据集,我们使用监督学习技术来预测每个因子的相对表现。我们使用了多种监督学习技术,包括随机森林、支持向量机和神经网络等。本文精选了六个常见的股票因子,包括价值、成长、动量、低波动性、质量和小市值。为了简化分析并提高便利性,作者将代表时间周期仅占3.8%的熊市阶段合并到市场修正阶段中。在每个阶段的每个月,对上述6个常见因子的表现最佳的因子标注为1,其他因子标注为0。同样选取阶段1模型的特征,训练有监督的分类模型。
3、为了增强模型的动态性,我们采用了滚动窗口模型训练方法,而不是使用扩展窗口。这使得模型能够更好地适应不同的市场条件,并提高因子择时策略的预测能力。
最后,我们使用历史数据进行模型的回测测试,以评估模型的性能和有效性。我们使用了等权重因子和仅基于商业周期的方法作为基准(如下图所示),以展示我们的模型相对于其他常见方法的优势。而当使用本文的两阶段机器学习模型时,因子的权重为分类器最后给出的概率。
下图是不同方法结果的对比:
总之,第二阶段的过程旨在使用监督学习技术预测每个因子在不同市场风险体制下的相对表现,以支持数据驱动的因子择时策略。
最终,通过整合两个阶段的结果,得出每个因子在不同市场风险体制下的相对表现概率,以指导动态因子轮换策略的决策。该方法的优点在于,它能够更好地适应不同的市场条件,并提高因子轮换策略的预测能力。
下图整体展示了本文提出的两阶段机器学习框架。

总结

因子择时对于动态因子策略至关重要,并指出以前的学术研究已经成功建立了因子表现和宏观变量之间的相关性。然而,真正的关键在于有效和系统地择时这些因子以实现切实可行的结果。
在本研究中,作者利用宏观经济和金融市场数据的力量,采用了一个两阶段的机器学习框架来开发更动态的因子择时方法。他们的框架的多功能性允许在不同的时间频率下采用,并便于使用更广泛的因子进行测试。

因此,作者提出了一个强大且替代性的因子择时解决方案,具有在资产定价和投资策略中广泛应用的潜力。他们的方法在准确预测市场风险阶段和确定表现优异的因子方面的有效性展示了其实际相关性,并有助于推动因子投资领域的发展。通过利用宏观经济洞察力和机器学习技术之间的协同作用,作者的研究为优化投资组合配置和增强投资决策提供了新的途径,以适应不断变化的金融环境


往期推荐阅读



因子投资:最好的时代即将到来!

终极篇!因子投资的十个事实与误解

Marcos López:因子投资与因果推断

很可以!JPM因子投资特刊

因子投资的未来!

多少因子才管够?

传统反转因子的改进

拒绝误杀!更有效的因子测试方法

BRD因子!分析师调研报告里的Alpha

机器学习因子:预测周期怎么选?

机器学习与因子模型实证:怎么进行模型训练?

Invesco:基于宏观周期的因子轮动策略

MSCI:构建基于分析师一致预期的情绪因子

探寻量化Alpha:产业链提纯因子

干货 | 高频多因子存储的最佳实践

动量因子30年

Lead-follower因子:新闻共现股票收益的关联性研究

A股市场机器学习多因子模型实证

因子发表后就会失效:是拥挤还是过度优化?

近期因子研究论文推荐

另类因子:消费交易数据与股票截面收益

Robeco:提高短期因子超额收益

基于情绪因子的CTA截面策略

因子投资:影响全球商品价格的共同因子

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