返回列表

勇夺第二!基金极端申赎的智能预测方案分享

AFAC2025挑战组-赛题一:基金产品的长周期申购和赎回预测 | 532352

开始: 2025-07-26 结束: 2025-08-05 量化投资 数据算法赛
勇夺第二!基金极端申赎的智能预测方案分享

勇夺第二!基金极端申赎的智能预测方案分享

竞赛: AFAC2026
团队: CEDC冲冲冲团队
奖项: 挑战组赛题一:基金产品的长周期申购和赎回预测二等奖

获奖团队介绍

CEDC冲冲冲团队,由3名来自中电数据产业集团有限公司的技术研究员组成。

  • 毛锋:清华大学控制科学与工程专业博士,现任中国电子专员。主要研究方向包括大模型微调,大模型智能体应用。
  • 林丰玉:西安交通大学数学与统计专业硕士,现任中电数据产业集团技术研究员。主要研究方向包括数据挖掘。
  • 黄颖坤:西南交通大学电气专业博士,现任中电数据产业集团技术研究员。大模型全栈工程师,擅长大模型安全攻防领域。

获奖寄语

这次比赛的赛题很有意思,基金产品申购、赎回预测乍一看就是时间序列预测任务,但核心要求藏着巧思——得借助大模型生成和构造特征,相当于用大模型替代传统的爬虫与数据处理环节。而且赛题评分很综合,既看时间序列模型的预测精度,也看重大模型的实际运用效果。

这个赛题其实挺有挑战的,尤其是对我这样在大模型火之前毕业的选手来说:虽然熟悉传统特征工程,但在大模型特征构造上接触不多。因为这份"不熟练",抱着学习的态度组队参赛,特别期待能看到,大模型究竟能如何为基金申赎预测场景赋能。

问题定义与挑战分析

本次任务目标明确,需依据20只基金的历史申购赎回时间序列及有限平台侧关键特征,借助大模型自主获取并构造有效特征,最终预测每只基金在2025年7月25日-7月31日这7天内每天的申购量与赎回量。赛题提供的数据字段如下,数据时间跨度从2024年4月8日至2025年7月24日共9460条记录。

对于一个时序预测赛题来说,赛题提供的特征相对是比较少的。

主要挑战

我们认为本赛题主要存在两大挑战:

  1. 基金极端申购、赎回数据的处理和预测。
  2. 赛题提供的特征少,如何使用大模型获取和构造有效特征,并保证稳定性。

解决方案

1. 方案综述

针对上述挑战,我们提出了如下解决方案。通过在数据处理模块进行异常值过滤,月末过采样,以及使用大模型进行基础特征设计时考虑极端数据,能够较好实现基金极端申购、赎回数据的处理和预测。通过使用mcp的爬虫服务,来从外部数据获取基金的有效特征,保证了大模型构造特征的稳定性。

2. 特征工程

在数据分析阶段,我们发现了一些重要现象:

  • 现象1:大部分情况下,各支基金的申购、赎回量具有1周、1月的周期性。
  • 现象2:各支基金的申购、赎回量存在工作日>周六>周日的规律,节假日基金的申购赎回会减少。

基础特征构造

我们的基础特征构造思路大致是这样的:前面提到赛题的数据集包含4类信息,我们主要对后三类信息(交易日期,申购、赎回时序数据,核心页面曝光uv),借助大模型来构造基础特征。

  • 第1类信息是交易日期,可以构造基础时间特征,以及基于基础时间特征进一步构建傅里叶编码特征,来捕捉基金申购,赎回的周期性变化规律。同时基于发现2,工作日的申购赎回大于周末,节假日申购赎回明显减少,构造工作日,周末,节假日等时间标记特征。
  • 第2类信息是申购,赎回时序数据,可以构造滚动特征和滞后特征。
  • 第3类信息是核心页面的曝光uv,可以构造滚动特征。

在时间序列预测任务中,统计特征是一类重要特征。基于发现2,我们可以构造工作日和周末申购和赎回量的统计特征,当月申购和赎回量的统计特征。

在第一部分我们提到,本赛题的第1个挑战是基金极端数据的处理与预测,我们在比赛中发现,部分基金在月底最后1个工作日存在大量赎回现象。比如,在今年7/1建党节前军工板块发布重要信息,几只军工类基金在6月底前都大量赎回,sell the news。针对此发现,借助大模型,我们进一步设计了月初/月末,月初第1个工作日/月末最后1个工作日时间标记特征;月初、月末申购/赎回统计特征。

大模型特征构造

本赛题的第2个挑战是大模型特征构造。为实现端到端的大模型特征构造,并保证结果的稳定性。我们首先通过Qwen3-32B获取基金的外部数据网址,再借助mcp爬虫服务提取基金的结构化特征。

前面的基础特征设计中,我们使用了三类信息,没有对基金编码信息进行特征设计。大模型特征构造模块主要对基金code进行特征设计,通过实验结果,我们发现了基金类型、基金规模2个重要特征。

3. 数据处理

然后是数据处理方案。由于特征工程需要计算基金申购、赎回的滚动特征,统计特征等,所以我们把数据处理模块放到特征工程模块之后,防止某些样本被清洗,影响特征计算。

我们的数据处理方案主要是为了解决赛题的第1个挑战。

针对极端数据处理和预测,我们采用了样本过滤和过采样的方法。去除z-score>3的样本数据,同时对月末3天数据进行3倍过采样,以此来提升模型对极端情况的处理能力。

实验结果与分析

模型训练方面,由于赛题提供的数据只有9460条样本,我们选择LightGBM作为训练模型,根据以前的经验,树模型处理这个样本量的数据集效果比较好。

实验中设置了静态多目标模型和滚动单目标模型。

  • 静态多目标模型:针对未来第n天的申购、赎回预测都单独训练模型。
  • 滚动单目标模型:只预测未来1天的申购、赎回,通过每日滚动更新实现未来1-7天的多步预测。

静态多目标模型对月末3天进行3倍过采样,滚动单目标模型不过采样,两者的z-score均为2,融合权重为0.5。

从实验结果来看,我们的滚动单目标模型,静态多目标模型以及融合模型都表现优异。

1. 消融实验

通过采样消融实验表明静态多目标模型月末2天3倍过采样效果较好,滚动单目标模型不过采样效果较好。原因可能是滚动单目标模型不擅长捕捉月末大量赎回现象。

z-score消融实验表明,静态多目标模型和滚动单目标模型在z-score=2时效果较好,即过滤掉5%的极端数据。

2. 实验发现

实验中我们还有一些重要发现:

  • 发现1:基金当月平均申购/赎回量是重要特征。在滚动单目标模型中,dayofweek以及其傅里叶编码sin_week是重要特征,可以推测滚动单目标模型可能擅长捕捉1周内短周期的申购,赎回变化。在静态多目标模型中,dayofmonth以及day_sin是重要特征,可以推测静态多目标模型可能擅长捕捉基金1月内长周期的申购/赎回变化。
  • 发现2:静态多目标模型在月末表现优于滚动单目标模型,可能原因是静态多目标模型擅长捕捉基金1月内申购/赎回变化,能够学会基金在月末最后1个工作日有大量赎回的现象。
  • 发现3:当预测区间属于"月末-月初"情况时,推荐使用滚动单目标预测模型。因为静态多目标模型的训练样本需要未来7天的申购、赎回作为标签,缺少月初的样本作为训练集,从而导致预测效果下降。
  • 发现4:当基金的申购、赎回出现剧烈变化时,推荐使用滚动单目标模型。可能原因在于静态多目标模型的训练数据未包含最新1周的样本,导致模型无法捕捉到当前申购赎回的趋势变化。

3. 其他尝试

在比赛过程中,我们也尝试了其他模型如Transformer和Lstm,以及引入宏观经济与政策,市场情绪,基金的综合评级、投资行业、基金描述等特征,但效果均未超越现有方案。

应用前景

该技术可直接落地基金公司、三方销售平台及银行理财部门:

  • 为基金管理人提供申赎流动性预警,提前调配资金应对月末大额赎回
  • 嵌入智能投顾系统,结合用户行为与市场特征预判申赎高峰
  • 通过对接公募基金公开数据接口与机构内部系统,可快速复用到全市场基金,为金融机构降本增效、防控流动性风险提供技术支撑

写在最后

特别开心能最终拿下决赛第2名的成绩!客观来讲,我们的方案更侧重传统机器学习特征工程,在大模型应用上相对薄弱,但模型整体表现足够稳定,这也算是发挥了我们的优势。

这次答辩特别有意思:进入决赛的8支团队,方案思路差异特别大,但最终的模型误差却相差无几。梳理下来,我发现针对"基金产品长周期申赎预测"这一赛题,优秀方案大致能归为三类:

  • 第一类是LSTM/GRU时序模型方案:对原始数据基本不做额外处理,核心是靠大模型生成市场情绪特征——无论是0-1类别特征还是连续特征,都由大模型主导构造。采用这类方案的多是高校学生团队,他们作为大模型浪潮中的"原生研究者",在新技术应用上确实更敏锐。
  • 第二类是树模型方案:这类方案的核心在于"精耕细作"的特征工程,需要投入大量精力打磨特征。选择这类方案的以企业团队为主,就像我们团队一样,更擅长从数据分析中挖掘有效特征,走的是稳健的技术路线。
  • 第三类是端对端大模型方案:这个思路很有新意,但目前来看准确度和鲁棒性还有提升空间。它的逻辑是把传统特征工程里的各类特征拆成独立打分模块,最后通过加权计算得到最终结果,算是一种新的尝试。

这次比赛的收获远不止名次:特别感谢冠军FundLove团队的分享,他最初用树模型,中途果断切换到GRU时序模型,理由是"树模型的性能上限相对有限"——这一点特别戳我,毕竟这些年我也一直依赖"树模型一招鲜",在技术拓展上确实做得不够。另外也很感谢姚权铭评委老师,特意推荐了值得学习的TabPFN模型,为我后续的技术提升指了方向。

最后必须感谢AFAC 2025组委会和工作人员的辛勤付出,也感谢公司给我们组队参赛的机会,让我们能在这样的技术交流中查漏补缺,收获满满!

同比赛其他方案