`

机器学习与因子(四): 遗传规划: 模型、优化与应用

创建于 更新于

摘要

本报告基于遗传规划技术,提出并改进了因子挖掘模型,重点引入过拟合预防机制,包括早停机制、公式膨胀控制、热启动和父子竞争,有效提升因子表达能力和样本外泛化性能。实证结果显示,改进后的遗传规划因子在沪深300、中证500和中证1000等宽基指数中均表现出较稳定的超额收益,尤其在小市值中证1000指数中样本外年化收益高达26.29%,超额收益回撤水平较低,表明该方法具有较强的选股能力和一定的实际应用价值。此外,报告详细阐述了遗传规划算法的核心迭代流程、变异操作及参数设置,展示了复杂因子表达式与简洁表达式的平衡,揭示了因子改进对投资组合稳定性的影响,助力量化投资因子库的优化与升级 [pidx::0][pidx::4][pidx::11][pidx::13][pidx::16][pidx::18][pidx::20]。

速读内容

  • 遗传规划算法及改进机制介绍 [pidx::3][pidx::4][pidx::11]



- 遗传规划通过模拟生物进化,使用选择、交叉和变异等操作,迭代寻找合适的数学公式作为选股因子。
- 本文基于gplearn库对传统遗传规划底层代码升级,支持面板数据和时序数据处理,引入早停机制、吝啬系数、热启动和父子竞争,显著减少过拟合风险。
  • 遗传规划公式进化核心方法及示例 [pidx::6][pidx::7][pidx::8]





- 交叉(Crossover)、子树变异、点变异和Hoist变异是遗传规划中用于公式演化的重要遗传操作,有助于挖掘多样且适应性强的选股因子。
  • 过拟合预防机制的实施及效果 [pidx::11][pidx::12][pidx::13][pidx::14]



- 引入早停机制防止模型迭代过度及过拟合,设置吝啬系数惩罚复杂表达式以控制公式膨胀。
- 迭代过程中通过热启动提高初始化种群质量,采用父子竞争机制保留优秀公式,最终提高因子泛化能力。
- 优化结果表明因子表达更简洁且适应度稳定,进化过程达到平衡最佳代数为5代以内,高代数可能引发欠拟合或“子不如父”现象。
  • 量化策略及因子回测表现总结 [pidx::16][pidx::17][pidx::18][pidx::19]




- 选用排名靠前的遗传规划单因子构建复合因子,针对沪深300、中证500和中证1000三个主要宽基指数进行样本内外回测。
- 在中证1000指数中,复合因子表现最佳,样本外年化收益率达21.52%与26.29%,最大回撤仅为-13.45%,优于沪深300和中证500。
- 因子回测显示较强的超额收益能力,且样本外RankIC稳定,说明遗传规划因子的泛化能力较强,有效适应市场多样性。
  • 遗传规划因子构建核心思想及适用范围 [pidx::0][pidx::16]

- 因子挖掘采用“先有公式,后有逻辑”的归纳方法,利用多代进化自动生成符合目标的选股因子,其最大优势在于无需人为先验知识能构造出复杂的非线性交互因子。
- 受限于计算效率和过拟合问题,本文优化遗传规划算法适合在全A股市场的月频数据基础上挖掘多维面板与时序数据因子,适用面广,效果稳定。

深度阅读

金融工程深度报告详尽分析


报告标题:机器学习与因子(四): 遗传规划: 模型、优化与应用
报告发布日期:2023年12月22日
作者:陈奥林(执业证书号S1230523040002)
发布机构:浙商证券研究所
主题:遗传规划算法在A股市场的选股因子挖掘及其应用研究[pidx::0][pidx::1]

---

一、元数据与报告概览



该报告针对遗传规划基于机器学习的因子挖掘与优化方法,重点分析了遗传规划算法改进、过拟合预防机制及其在A股全市场及主流宽基指数选股中的应用效果。核心观点透露,通过引入过拟合预防机制的遗传规划因子挖掘模型,单因子回测结果提升,因子的样本外泛化能力得到显著加强。报告展示了100个满足适应度定义的因子挖掘成果,并基于优异因子构建复合因子组合,验证了在沪深300、中证500、中证1000三大指数的回测效果,其中中证1000表现最为优异,年化收益超过20%[pidx::0]。

---

二、逐节深度解读



1. 引言——遗传规划基础与金融领域应用背景[pidx::3]



引言部分详细阐述了遗传规划(Genetic Programming, GP)的定义、历史发展及其技术原理。遗传规划模仿生物进化过程(包括选择、交叉、变异)自动生成程序,以解决特定目标问题。GP尤其适合多维复杂数据的模型构建,且近年来计算资源的提升推动该方法在量化投资中的应用。金融行业因子库同质化严重,传统因子挖掘技术基于先验经济学理论构造公式,存在有效信息挖掘的局限。相较之下,将公式先自动生成后归纳出逻辑的“先公式后逻辑”模式,赋予GP因子挖掘独特优势。报告指出,尽管GP模型易过拟合且gplearn开源库无法处理多维面板与时序数据,本研究对gplearn底层代码进行定制,弥补其不足以适应量价时序数据挖掘的需求[pidx::3]。

2. 数据采集与处理[pidx::4]



数据取自Wind数据库,标的为2018年1月到2023年10月的A股量价数据,跨度达70个月,作为训练与回测基础的数据源。数据清洗包括缺失值填充(采用KNN方法)、数据标准化处理等,保证模型输入数据的准确性与一致性,适应机器学习训练要求,确保因子挖掘的有效性与长期稳定性[pidx::4]。

3. 遗传规划因子挖掘方法论[pidx::4-pidx::8]



3.1 因子挖掘流程简介(结合图1和图2)


报告通过流程图形象展示遗传规划挖掘步骤:
  • 初始化随机生成树状公式构成初代种群

- 计算每个公式的适应度(fitness,本文采用RankIC衡量因子预测能力)
  • 基于适应度筛选优质父代

- 父代通过交叉(crossover)、子树变异(subtree mutation)、点变异(point mutation)、Hoist变异等遗传算子进化生成子代,循环迭代,追求适应度最大化[pidx::4][pidx::5][pidx::7][pidx::8]。

3.2 参数体系(表1)


关键参数包括种群大小、迭代代数、树的深度,适应度定义为RankIC,量化因子与未来收益相关性。适应度定义的精确性直接决定公式进化效果,较大种群空间能扩大搜索范围同时增加计算成本。树深度越大因子越复杂,可解释性下降且出现过拟合风险[pidx::6]。

3.3 进化算子详解及演示(图3-图6)

  • 交叉算子通过两个公式树间交换子树,产生多样后代

- 子树变异用随机子树完全替换父代子树以维持多样性
  • 点变异替换节点或叶子节点,允许局部小变动

- Hoist变异通过子树提升精简树结构,避免公式臃肿

这些手段保障进化过程的多样性与收敛性,减少过拟合和陷入局部最优的风险,同时保持适应度增长势头[pidx::7][pidx::8]。

3.4 扩充函数集(表2)


为了提升挖掘能力,报告扩充了gplearn的自定义函数集,涵盖更多时序量价指标,令遗传规划能挖掘出更丰富、更符合金融实际的因子表达式[pidx::8]。

4. 初步挖掘流程与因子展示[pidx::9]


  • 采用全A股剔除新股、ST及停牌股,训练期为2018-2021年,预测目标为未来20交易日收益率

- 基础数据为19个原始因子和33个运算方程(含11个gplearn内置及22个自定义)
  • 通过遗传规划迭代得到大量候选因子,展示适应度排名前20的因子,整体训练时RankIC表现良好,但样本外存在衰减及过拟合风险[pidx::9][pidx::10]。


5. 过拟合预防机制及模型优化[pidx::11-pidx::15]



5.1 优化方法


结合机器学习的早停机制、公式膨胀控制、热启动及父子竞争等方法解决遗传规划算法的过拟合问题:
  • 早停机制基于适应度阈值自动提前结束进化,避免过度拟合

- 吝啬系数(parsimony coefficient)惩罚复杂表达式,控制公式长度以提升可解释性与泛化能力
  • 热启动机制通过增加初始种群数量提升种群质量,减缓早熟收敛

- 父子竞争保留优秀父代,防止优秀基因被替代造成性能下降

5.2 参数设置(表6)

  • 早停阈值RankIC设置为0.2,平衡精准度与计算效率

- 吝啬系数0.005适度限制表达式复杂度,同时允许迭代次数(调整为5代)确保模型稳定收敛

5.3 优化结果展示

  • 通过图7复杂因子表达式示例说明优化前因子往往臃肿,解释性差

- 吝啬系数在不同值下的迭代表现表(表7)显示收敛过程中的长度与适应度关系,适度约束提升模型实用性
  • 迭代10代的进程(表8)以及因子结果展示(表9)证实优化机制缓解了子不如父与过拟合问题,提升了因子稳定性与性能[pidx::13][pidx::14][pidx::15]。


6. 单因子及复合因子回测效果[pidx::16-pidx::19]



6.1 单因子测试(表10)


选取部分代表因子验证,超额年化收益率最高达12.9%,样本外RankIC变化不大,表现稳定,显示因子地图具备一定样本外泛化能力。波动率较大,暗示存在一定风险但具备风格属性[pidx::16]。

6.2 复合因子在主流宽基指数中的表现(表11、表12)



基于单因子选出的优质因子构建等权重复合组合,在沪深300、中证500和中证1000指数样本内及2022-2023样本外区间回测,表现如下:
  • 沪深300指数

年化超额收益6.1%,样本外2022和2023年超额收益分别为6.71%和9.50%,最大回撤13.56%,信息比率0.7481,表现稳定但中规中矩。图8清晰显示超额净值稳步累计[pidx::18]。
  • 中证500指数

全样本内多头收益12.17%,样本外2022年与2023年回报分别为10.32%和5.59%,最大回撤6.76%,风险控制较好,回报稳健。图9反映回撤较小[pidx::18]。
  • 中证1000指数

复合因子最佳表现,年化收益达24.63%,样本外2022和2023年收益分别为21.52%和26.29%,最大回撤仅13.45%。明显表明遗传规划因子对中小盘股票具有更强选股能力和显著收益优势。图10显示收益曲线稳健上升[pidx::18][pidx::19]。

6.3 差异分析(市值、风格、行业等因素)


报告指出,沪深300为大盘蓝筹股,中证500和1000分别代表中盘和小盘,因子表现优劣和指数成分股、市值风格高度相关。风格轮动对超额收益产生影响,最近三年中证指数表现明显优于沪深300,市场助力下中小盘因子表现更好,符合市场风格轮动的现实[pidx::19]。

---

三、图表深度解读



图1:遗传规划流程图


清晰展示了GP算法核心过程,包括随机初始化、适应度计算、适应度筛选、及交叉变异,形象描述遗传筛选与优化思路。该图奠定了后续研究流程的基础[pidx::4]。


图2:遗传规划因子挖掘迭代流程


具体展现了遗传算子选择流程及迭代终止判定逻辑,加强对遗传规划工作原理的理解。多代迭代、基于概率方式选择父代、Crossover和Mutation的细节展示体现了遗传规划算法随机性与适应性平衡[pidx::5]。


图3-6:变异与交叉算子图例


图示以树状公式为载体,直观展示交叉(交换子树)、子树变异(替换子树)、点变异(局部节点替换)、Hoist变异(子树提升精简)四种遗传算子操作,为理解因子表达式演化机制提供了结构化参考。
图3
图4
图5
图6

图7:复杂因子表达式案例


展示了深度为5,长度为10的复杂表达式结构,说明未约束时因子表达臃肿,缺失可解释性,形象证明模型优化方向的重要性[pidx::13]。


图8-10:沪深300、中证500及中证1000复合因子收益曲线


三图色彩分明,左轴为收益净值,右轴为超额净值回撤,分段显示样本内外表现。中证1000(图10)超额收益显著高于其他两者,且回撤控制较好,验证了遗传规划复合因子在小市值股票中的选股优势。沪深300回撤较大,收益稳定性较中证1000逊色。图示配合详细统计数据,为策略实用性提供强有力的视觉佐证。




---

四、估值分析



报告为机器学习算法研究,主要聚焦因子挖掘与回测,不包含传统意义上的股票估值模型分析(如DCF或市盈率法)。估值层面主要是利用适应度指标(RankIC)对模型生成因子的性能进行评价,模型超参数(如应停阈值、吝啬系数)构成了内部准则。可看作是非结构化模型的性能估值,强调泛化能力和超额收益水平,而非具体标的股票的价值评估[pidx::6][pidx::12]。

---

五、风险因素评估



报告识别了主要风险:
  • 模型测算风险: 超参数设定对最终结果影响较大,且回测基于历史样本,收益指标未必代表未来表现,存在显著不确定性。

- 模型失效风险: 机器学习模型基于历史数据,不能直接预测未来市场变化,仅供参考。外部市场环境、结构性变化可能导致模型失效。
作者未明确提出缓解策略,但通过引入早停、吝啬系数等机制间接降低过拟合风险。风险提示充分反映模型固有局限性,增强使用者风险意识[pidx::0][pidx::20]。

---

六、批判性视角与细微差别


  • 过拟合控制与样本外表现: 报告多次强调样本外泛化能力的提升,但仍观察到迭代过多导致“子不如父”现象,说明当前过拟合预防机制仍有优化空间。

- 模型解释性与复杂度权衡: 因子复杂性和易解读性存在冲突,尽管吝啬系数帮助简化表达式,但因子本质依旧较难具有明晰经济逻辑,模型可解释性限制后续实际应用推广。
  • 数据截面与时序处理的限制: 原gplearn包不能同时处理多维面板及时序数据,底层修改虽解决部分问题,但新代码复杂度和鲁棒性仍未全面论述,存潜在技术风险。

- 股票池与周期范围: 使用全A股且剔除新股ST等,提高样本覆盖度,但市场行为异质性可能导致部分因子在特定板块或阶段失灵。
  • 回测跨市场一致性: 不同指数间因子表现差异显著,应警惕因风格、市值偏差导致策略稳定性问题。

综上,报告虽体现了GP强大潜力和创新方法,但需结合多因子稳定性和业务场景,强调模型稳健性检验及动态调参策略,避免盲目追求适应度最大化而忽视实用风险。

---

七、结论性综合



本报告系统完整地展示了利用机器学习中遗传规划方法对A股市场进行因子挖掘与优化的创新实践。重点突出:
  • 通过底层改造gplearn,实现多维面板时序数据同时处理,突破了以往遗传规划算法的应用局限。

- 引入早停机制、吝啬系数惩罚、热启动初始化以及父子竞争机制,有效遏制模型过拟合和公式臃肿,提升了因子整体表达能力及样本外泛化性能。
  • 在全样本和2022-2023样本外区间,遗传规划因子在沪深300、中证500和中证1000指数表现均优于基准,其中以中证券1000指数中小市值股票池的表现最为突出,年化超额收益率可达20%以上,最大回撤控制良好,信息比率表现稳定。

- 单因子与复合因子回测结果印证了遗传规划挖掘方法的有效性,且因子之间相关性和风格属性与市场风格轮动高度契合。
  • 报告通过丰富的图表(包括流程图、进化算子示意、复杂因子结构及收益曲线图)和详尽的参数调优阐释,使得整体研究具有较强说服力与操作指导意义。


综合来看,遗传规划因子挖掘技术结合有效过拟合控制机制,为金融量化因子的自动生成与投资组合优化提供了强有力工具。该方法克服了传统因子基于经验与经济逻辑构造的局限,拓展了金融因子挖掘的新思路,且具有较好实际应用潜力。但对模型稳定性、因子解释力以及动态适应市场变化仍存在挑战,需后续研究持续关注。

---

参考文献与联系信息



陈奥林,浙商证券研究所,电邮:chenaolin@stocke.com.cn

---

附录:关键图表展示



图1 遗传规划流程展示




图2 遗传规划因子挖掘迭代流程




图3 交叉运算示意




图4 子树变异




图5 点变异




图6 Hoist变异




图7 复杂表达式示例




图8 沪深300复合因子组合收益(样本外)




图9 中证500复合因子组合收益(样本外)




图10 中证1000复合因子组合收益(样本外)




---

结束语



本报告详实地介绍并验证了基于遗传规划的机器学习因子自动挖掘技术的创新发展,强调了过拟合控制对机器学习资产管理策略成功应用的重要性,结合丰富数据实验呈现了可观选股能力和显著超额收益,展现了该技术未来量化投资领域广泛应用潜能。读者若需深入理解遗传规划在量化投资中的具体实施细节和调优方案,建议结合报告各章节数据和附图细读,确保对复杂算法和金融实践结合点有充分认知。

[pidx::0][pidx::1][pidx::3][pidx::4][pidx::5][pidx::6][pidx::7][pidx::8][pidx::9][pidx::10][pidx::11][pidx::12][pidx::13][pidx::14][pidx::15][pidx::16][pidx::17][pidx::18][pidx::19][pidx::20]

报告