量化专题 · 基于聚类算法进行因子合成:综述篇
来源:中信建投期货微资讯
本报告观点和信息仅供符合证监会适当性管理规定的期货交易者参考。因本平台暂时无法设置访问限制,若您并非符合规定的交易者,为控制交易风险,请勿点击查看或使用本报告任何信息。对由此给您造成的不便表示诚挚歉意,感谢您的理解与配合!
本报告完成时间 | 2023年12月5日
摘 要
随着机器学习和生成式因子挖掘技巧的发展,因子管理和组合成为了研究领域重点专注的方向。本文参考了较新的聚类算法文献综述,从计算机科学的视角整理了实际运用于多个自然科学领域的算法。本文重点关注时序列数据的聚类算法,以及关注多目标下的运用场景。本研究对不同领域的传统和最先进的聚类技术进行了最新的系统和全面的回顾。
由于大多数传统聚类算法仍然依赖于先验提供的聚类数量,因此在聚类方法的选择上,领域专家和实践者都逐渐发生了转变。这些传统的聚类算法不能有效地处理数据对象中聚类数量难以识别的现实数据聚类分析问题。此外,它们不能有效地管理高维数据集的最佳集群数量难以确定的问题。因此,需要改进、灵活和高效的聚类技术。近年来,文献中提出了各种高效的聚类算法,这些算法在实际聚类问题上得到了很好的评价结果。
本文使用了基于分区算法作为method1,在样本外的多套参数中取得了优于等权投票的benchmark的因子合成效果。后续文章我们将进一步探索聚类算法在因子合成中的运用。
风险提示:本报告不构成任何投资建议,期市有风险,入市需谨慎。
一
背景
随着机器学习和生成式因子挖掘技巧的发展,因子管理和组合成为了研究领域重点专注的方向。本文参考了较新的聚类算法文献综述,从计算机科学的视角整理了实际运用于多个自然科学领域的算法。本文重点关注时序列数据的聚类算法,以及关注多目标下的运用场景。本研究对不同领域的传统和最先进的聚类技术进行了最新的系统和全面的回顾。本文参考了‘A comprehensive survey of clustering algorithms: State-of-the-art machine learning applications, taxonomy, challenges, and future research prospects’这篇文献综述的分类方法,对于可能运用于因子合成的方法进行了概述。
由于大多数传统聚类算法仍然依赖于先验提供的聚类数量,因此在聚类方法的选择上,领域专家和实践者都逐渐发生了转变。这些传统的聚类算法不能有效地处理数据对象中聚类数量难以识别的现实数据聚类分析问题。此外,它们不能有效地管理高维数据集的最佳集群数量难以确定的问题。因此,需要改进、灵活和高效的聚类技术。近年来,文献中提出了各种高效的聚类算法,这些算法在实际聚类问题上得到了很好的评价结果。
在《CTA 系列六十一:基于相关性的因子合成》中,我们阐述了两种有效的因子合成的尝试。我们基于相关性尝试了两种方案,在原本有效的策略大类下获得了比起等权配置更好的效果。此外,与之前的尝试不同的是,我们使用了日内信号。我们认为,比起固定换仓的日频信号,对于日内策略进行统计学上的处理效果应该更为有效。我们选取了持仓频率高低不一的日内策略组合6个进行实践。
在《CTA 系列六十五:基于相关性的因子合成(二)运用篇》中,我们按第一期因子合成方法所述,因子合成往往有两个运用场景,第一个场景是对于某一类利用类似逻辑的因子组(或者可能仅仅是为了追求参数稳定性而生成的多套参数因子组)进行组合;第二个场景是对于一些具有不同逻辑的因子组进行合成。基于我们做的很多前期尝试,我们发现等权合成往往是性价比最高的合成方式,超过了一些基于复杂机器学习的因子合成方式,也超过了基于因子绩效和回撤来做择时的传统方式。我们一直在寻找逻辑简单可行而且超出等权合成的方式。在之前的报告中,我们的重点在于第二个场景,对于大类策略进行合成;这次我们的重点在于第一个场景。我们希望观察对于原本有一定预测能力的因子群,是否能够击败等权配置。
本文是因子合成的第三篇,重点在于实践。我们使用了自设的自下而上的因子组合方法,将给定的170个因子进行合成,总共得到65个类别,在样本外取得了超越benchmark的效果。
二
实战案例
表中bench指未使用任何合成方法,而是使用投票方式决定最终信号,15指超出15%的投票偏向一侧时则给出对应信号。Sum指不使用投票,而是直接使用信号均值作为最终信号。Method1是我们使用的合成方法,具体内容将在后续文章中揭晓。
三
层次和分区的聚类算法介绍
3.1. 层次聚类 hierarchical
层次聚类算法是一种基于距离的聚类方法,它允许我们根据数据对象之间的相似性将它们划分为不同的级别。这种算法通过迭代地形成集群,从而生成一个描述聚类层次结构的树状图。在层次聚类中,我们可以通过将单个点之间的距离泛化为点的子集之间的距离来完成点的合并或分割。这是通过使用称为联系度量的接近度量来确定的。
层次聚类中使用了三种基本的链接度量:单个链接、平均连接和完整链接。这些链接度量用于构建用于聚类的二进制或二进制连接矩阵。相似矩阵的构造是通过寻找每对数据点之间的相似度来实现的。然后,通过查找聚类之间的成对距离来计算连锁准则。相似性度量用于确定聚类集之间的距离,也用于确定cluster的形状。
层次聚类算法具有处理任何相似度量和灵活的粒度级别的能力,因此适用于任何属性类型。然而,这种方法也存在一些缺点。首先,由于其计算复杂度较高(至少为 O(N^2)),它在大规模数据集中的应用受到限制。其次,层次聚类方法可能受到不可逆的分裂或合并过程的影响,这使得无法重新访问已经制定的聚类来重新分配错误分配的对象。此外,层次聚类方法还存在终止标准的模糊性和对噪声和异常值的敏感性问题。
3.2. 分区聚类 partitional
分区聚类算法从初始数据集分区开始,迭代地将数据点或模式分配到聚类中,以减少平方误差。可以从模式矩阵中随机选取K个彼此分离良好的种子点作为初始分区。Nagpal(2013)指出,如果选择的初始点来自现有数据对象,并且彼此之间距离足够远,则可以确定好的随机种子点。随着集群数量的增加,平方误差趋于减少,并且这种最小化只能在固定数量的集群中实现。在一些算法中,分割聚类中的平方误差准则函数使生成的K个编号的聚类尽可能紧凑和分离。与其他准则函数相比,它的计算需求更少(Jain and Dubes,1988)。因为基于平方误差的算法可以收敛到局部最小值,不同的初始分区可以产生不同的集群作为输出,特别是如果初始点没有很好地分离(Nagpal,2013)。根据(Jain 和Dubes,1988),分区技术经常用于工程应用程序中,其中单个分区最重要,并且适合于有效地表示和压缩大型数据库。还观察到,由于可用数据的性质,分区算法在模式识别中更受青睐(Jain,2010)。分割聚类方法是一种局部搜索技术(Khaled et al.,1995)和局部收敛技术。因此,不能保证全局最优解(Sanse和Sharma,2015)。
分区的聚类是一个NP-hard优化问题,其标准方法是找到近似解(Harshada et al.,2015)。Jain 等人(1999)指出,“对一组可能的标签进行组合搜索,以获得标准函数的最优值,这在计算上是令人望而却步的”。因此,典型的分区聚类算法以不同的起始分区运行多次,从而选择所有运行中给出最佳聚类输出的一个作为最优解 Jain et al.(1999)。分区聚类算法的一个主要缺点是需要为参数𝑘预定义用户值,这通常是不确定的。这种对聚类质心的任意选择会导致错误的聚类输出(Oyelade et al.,2016)。基于分割方法的聚类算法通常生成大小近似的聚类,因为数据对象被永久地分配给最近的质心,这总是导致聚类之间的切割边界不正确(Harshada et al.,2015)。人们已经注意到,分区聚类方法偏向于球形聚类,而且它也无法处理高度连接的聚类和高维数据集(Oyelade et al.,2016)。
3.3. 时序列聚类
时间序列是按时间规律收集的实数序列,每个数字代表一个值。它是时间数据的最简单形式,自然具有高维和大数据量的特征。由于时间序列数据的特征是随时间变化的,所以它们被归类为动态数据。每个时间序列由许多数据点组成,但同时,它们可以被视为一个单一的对象。时间序列聚类是时间数据挖掘研究的一个方面,可以在各个领域提供有用的信息。
通过聚类时间序列数据,不同的科学领域已经发现了数据分析师用来从复杂和大量数据集中提取有价值信息的模式(Aghabozorgi et al.,2015)。根据Aghabozorgi等人(2015)和 chiek 等人(2009a,b)的研究,时间序列聚类作为一种探索性数据挖掘技术是最常用的方法,也是更复杂的数据挖掘算法中的一个子程序。时间序列聚类结构的可视化图像表示可以帮助用户快速理解聚类、异常、数据结构以及其他数据集的规律。时间序列聚类已被用于寻找许多现实世界问题的答案,例如异常、新颖性或不和谐检测,识别时间序列的动态变化(He et al.,2011),预测和推荐和模式发现(Wang et .,2002;Das et al., 1998)。在处理过程中,大量的时间序列数据需要存储在磁盘上,这导致集群过程的速度呈指数级下降。
时间序列聚类可以分为三种(Aghabozorgi et al.,2015):全时间序列聚类、子序列聚类和时间点聚类。第一,对许多单独的时间序列执行聚类操作,将相似的组时间序列聚到一个集群中,称为全时间序列聚类。在这种情况下,将每个时间序列视为一个对象,并采用传统的聚类算法。第二,子序列聚类需要对单个时间序列进行滑动窗口提取的聚类集,旨在找到提取的时间窗口之间的相似性和差异性。子序列聚类是规则发现算法中的标准子程序,索引,分类算法,预测算法和异常检测。第三,时间点聚类涉及基于时间点的时间接近性和相应值的相似性相结合的时间点聚类。
四
总结
本文使用了基于分区算法作为method1,在样本外取得了优于等权投票的benchmark的因子合成效果。
本文参考了近期的聚类算法的文献综述,对于聚类算法的分类、时序列聚类算法做了介绍。后续文章我们将进一步探索聚类算法在因子合成中的运用。
五
参考文献
[1] Ezugwu, Absalom E. , et al. "A comprehensive survey of clustering algorithms: State-of-the-art machine learning applications, taxonomy, challenges, and future research prospects." Engineering Applications of Artificial Intelligence 110(2022):104743-.
作者姓名:彭鲸桥
期货从业信息:F3074348
期货交易咨询从业信息:Z0012925
电话:023-86769675
研究助理:盛亦青
期货从业信息:F03107834
电话:021-50610683
研究助理:殷子旭
期货从业信息:F03105272
电话:021-50613529