返回列表

fundlove组拿下AFAC挑战组冠军!实现基金产品长周期申购和赎回精准预测

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

开始: 2025-07-26 结束: 2025-08-05 量化投资 数据算法赛
fundlove团队拿下AFAC挑战组冠军!实现基金产品长周期申购和赎回精准预测

fundlove团队拿下AFAC挑战组冠军!实现基金产品长周期申购和赎回精准预测

来源:AFAC2026

在上海市科学技术委员会、中国计算机学会(CCF)指导下,由蚂蚁集团、北京大学、复旦大学、香港大学等20余家金融科技企业与学术机构联合发起的AFAC2025金融智能创新大赛此前已圆满落幕。本次大赛不仅成为了技术的竞技场,更成为了一个生态丰富的“热带雨林”,汇聚了背景各异的逐梦者。大赛组委会也特地邀请了各赛题的优秀团队分享他们的解题思路和技术方案,希望给到更多逐梦者们一些启发,也欢迎大家来进行技术上的交流学习。

赛题背景

在金融市场波动加剧的当下,基金申购赎回行为的精准预测成为资管机构控制风险、优化产品管理的核心需求。AFAC2025金融智能创新大赛挑战组赛题一聚焦“基金产品长周期申购和赎回预测”,要求基于20支基金历史数据,构建模型实现长周期申赎金额预测。我们团队以“结合大语言模型(LLM)与深度学习的解决方案”为核心思路,最终在决赛中取得第一名的成绩。

技术探索永无止境,在此分享我们的方案细节,希望能与行业同仁共同交流进步。

在时序预测任务中,传统特征工程往往依赖于领域专家的经验和大量的手工编码,流程复杂且方案复用性不强。为了提升效率和模型表现,我探索了一套结合大语言模型(LLM)与深度学习的解决方案。该方案利用LLM进行自动化特征工程,并结合为时序任务定制的深度模型进行预测。最终,该方案在最终7月25日至7月31日的预测任务中取得了0.0151的成绩,位列第一,验证了这一思路的有效性。

核心思路

核心思路,在于从两个方面进行优化:

1. 特征工程的自动化探索

我尝试了有别于传统手动编码的“自然语言驱动”模式。通过向大模型描述任务目标,让模型辅助规划特征生成的任务清单(To-do List)并生成计算表达式,希望以此减轻特征构建过程中的人力投入。

2. 模型的针对性设计

针对金融时序数据的特点,我设计了一个融合GRU、U-Net的深度学习架构。通过对不同类型数据(如申购与赎回)的差异化处理,并从特征维度挖掘数据中的潜在模式,以期捕捉更丰富的信息。

方案框架

我的方案主要包含两大模块:LLM自动化特征工程模块和深度时序预测模块。

LLM自动化特征工程模块

该模块负责特征的生成。我设计了一个LLMController作为任务调度中心,它引导大模型生成结构化的To-do List,并按顺序调用“LLM特征生成工具”来创建特征表达式,再由“通用计算工具”执行计算,最终产出所需特征。

深度时序预测模块

在获得特征后,该模块负责进行预测。我将申购和赎回数据分别输入不同的GRU模型,并融合了基金ID嵌入、债券市场及未来时间等多种特征。其中,我在特征融合层后加入了U-Net结构,尝试捕捉特征间的局部关联。训练阶段,我使用了时间权重衰减的WMAPE损失函数,并集成了多个不同随机种子的模型以增强结果的稳定性。

特点与尝试

本次方案的主要特点与尝试体现在以下三个方面:

(1)自然语言驱动的特征工程流水线

我将大模型的Agent能力引入时序预测的特征工程中,尝试让模型根据自然语言描述自主完成任务规划、特征设计到表达式生成的流程。我发现,这种方式下用于生成特征的自然语言提示(Prompt)具备一定的可迁移性,便于应用到其他类似项目中。

(2)U-Net结构探索

传统的U-Net多用于图像或时间序列本身。我一个有趣的尝试是将其应用在特征维度上,在模型中对融合后的特征向量进行编码和解码。通过混合使用线性层和一维卷积,为模型提供更丰富的视角。

(3)异质性数据建模与时间加权损失

考虑到申购和赎回行为可能存在的差异性,我为其设计了独立的模型分支。同时,在损失函数上采用时间权重衰减的WMAPE,这不仅与比赛评价指标一致,也使得模型能更关注近期数据,赋予其相对更高的权重。

算法实现细节

1. LLM自动化特征工程

  • 任务规划:我基于Qwen-32B的Agent能力,通过Prompt工程,引导其生成包含任务依赖和执行细节的To-do List。
  • 特征生成:为提高生成质量,我将特征生成任务拆分为10个特征组(如移动平均、趋势、波动率等),为每个特征组设计了针对性的Prompt。最终,该流程生成了80个特征。
  • 通用计算引擎:我实现了一个表达式计算引擎,支持时间序列、数学、时间及条件运算等多种函数组合,以确保大模型生成的表达式能够被准确执行。

2. 深度时序预测模型

模型结构:

  • 输入层:对基金ID进行嵌入;将申购、赎回数据及债券市场数据分别送入独立的GRU网络。
  • 融合层:融合主特征、未来时间特征以及各分支输出,并通过残差连接保留原始信息。
  • U-Net层:对融合后的特征进行编解码。
  • 输出层:为未来7天的每一天设置独立的预测头,减少不同日期预测间的干扰。

训练策略:

  • 损失函数:使用带时间衰减的WMAPE损失函数。
  • 集成学习:使用5个不同随机种子训练模型,并将最终预测结果进行算术平均,以提高稳定性。

实现与反思

我的方案取得了不错的结果,消融实验也验证了模型中一些关键设计的有效性。

在探索中,我也走了一些弯路。例如,我曾尝试引入沪深300ETF和黄金行情数据,但发现反而降低了模型性能。我反思可能的原因有二:一是部分预测标的与指数关联性强,额外引入造成了信息冗余;二是行情数据本身的噪声较大,在未进行充分平滑处理时可能对模型造成了干扰。这些尝试为我后续的研究提供了宝贵的经验。

总结与展望

本次工作中,我构建了一个结合自动化特征工程与深度学习的时序预测框架。这个过程展示了LLM在辅助数据科学任务,特别是特征工程环节的应用潜力。

当然,目前的方案还有许多可以完善的空间。例如,未来可以进一步探索在时序维度上引入更复杂的结构,让模型能够同时捕捉特征维度和时间维度上的模式,以期取得更好的效果。

同比赛其他方案