Skip to content

如何避免过度拟合-维度诅咒

一、过度拟合的定义

什么是过度拟合?它是指模型过于紧密或精确地匹配特定数据集,导致无法良好拟合其他数据或预测未来观察结果的现象。通俗来说,就像死记硬背历史考试题,遇到新题目却无法解答。

  • 欠拟合:模型未能提取有效数据特征(如图1)。
  • 合理拟合:模型平衡拟合效果,无生硬匹配(如图2)。
  • 过度拟合:模型生硬迎合数据细节,泛化能力差(如图3)。

二、量化交易中的过度拟合问题

在量化策略研发中,参数优化的核心难点是避免过度拟合。以样本内(in-sample样本外(out-of-sample测试为例:

1. 样本内与样本外测试

  • 样本内数据:用于策略初步测试和参数优化(“学习数据”)。
  • 样本外数据:验证优化后的参数在新数据上的表现(“测试数据”)。
    示例:将2012-2017年数据作为样本内进行参数优化,2018-2023年数据作为样本外验证策略表现。

三、参数优化的关键要点

(一)优化参数的选择

1. 参数范围需符合策略逻辑

参数范围应基于策略的理论基础,覆盖目标行情。

  • 案例:斐波那契回撤策略的参数范围应围绕0.382、0.5、0.618等合理水平,而非盲目扩大至1.5、2.5等脱离策略逻辑的数值。
  • 原则:不属于策略目标的行情段应舍弃,避免选出参数孤岛。

2. 步长设置避免过细

步长过小会使模型过度迎合历史数据细节,增加过拟合风险。

  • 案例:布林带参数从10开始,步长设为10(10, 20, 30…)优于步长1(10, 11, 12…),后者易陷入“数据凹合”。

3. 控制可优化参数的数量(自由度)

  • 维数诅咒:参数过多(高自由度)会导致信息稀疏,模型仅拟合局部数据,泛化能力差。
  • 建议:最多优化3-5个参数,避免一次性优化超过5个参数。简单策略往往更稳健。

(二)优化结果的评估方法

1. 样本内与样本外分段测试

  • 步骤
    1. 划分数据:如2012-2017年(样本内训练),2018-2023年(样本外测试)。
    2. 市场扫描:通过评价函数(如“采收率”=利润/最大回撤)筛选有效参数。
    3. 验证标准:样本外表现需达到合理阈值(如采收率随样本内年份增加而递增,6年数据要求采收率>3)。

2. 三数据集划分(进阶方法)

  • 训练集:用于策略开发和初步参数优化。
  • 验证集:模拟实盘前的缓冲测试,避免过度依赖单一测试集。
  • 测试集:最终验证策略泛化能力。
    示例:假设当前是2024年,用2012-2017年(训练集)、2018-2021年(验证集)、2022-2023年(测试集)分阶段验证。

四、总结

实战中 按照 样本内与样本外测试 比 三数据集更快,这样效率更高,能省出时间开发更多的策略, 同时配合一下4点即可

  • 样本量要大
  • 参数范围合理
  • 步长不要太小
  • 参数数量不超过3个