ICLR量化交易论文趋势:强化学习、因子挖掘与大模型应用

📅 发布时间:2026/10/20 8:53:31
ICLR量化交易论文趋势:强化学习、因子挖掘与大模型应用
1. 从一篇顶会论文清单说起量化交易研究正在发生什么变化每年到了顶会放榜季做量化交易研究的朋友圈里总会热闹一阵。ICLR 作为深度学习领域的顶级会议近几年和量化交易、金融时序相关的投稿量肉眼可见地在涨。我翻了一圈今年放出来的论文列表一个很直观的感受是纯讲“用LSTM预测股价”的论文基本绝迹了取而代之的是大量围绕因子挖掘自动化、订单执行优化、强化学习做市、以及大模型在金融文本上的应用的工作。这个变化本身就值得聊一聊。如果你是在做量化策略的工程师或者是在读研准备往这个方向走的学生这份论文清单的价值不只是“知道别人在做什么”而是能帮你判断未来一两年工业界会往哪个方向卷。我见过太多人闷头复现三年前的模型结果发现市场上早就没人用那套东西了。所以这篇文章我不打算只罗列论文标题和链接而是想按主题把这几篇工作拆开讲清楚它们各自解决了什么问题、用了什么技术路线、以及如果你要动手复现坑大概会出现在哪里。需要先说明的是下面涉及的具体论文细节一部分来自论文摘要和公开的代码仓库另一部分是我基于常见量化研究实践做的合理推断。凡是推断的部分我都会明确标出来避免误导。另外量化交易这个领域有个特殊性学术论文里的回测结果和实盘表现之间往往隔着一条巨大的鸿沟这个后面会专门用一节来讲。2. 今年量化相关论文的四个主要方向把今年 ICLR 上和量化交易沾边的论文过一遍大致可以归到四个方向。这个分类不是官方给的是我自己按“解决什么问题”来分的方便你快速定位自己关心的部分。2.1 方向一基于强化学习的订单执行与做市这是今年数量最多的一个方向。核心问题很明确给定一个要在未来一段时间内完成的买卖指令如何拆分成一系列小订单使得冲击成本加滑点的总和最小。传统做法是 Almgren-Chriss 那一套假设价格服从某个随机过程然后求解析解。但真实市场里价格过程是非平稳的还有各种微观结构效应解析解经常失效。今年几篇工作把这个问题建模成马尔可夫决策过程状态里塞进了订单簿的多个档位、成交量分布、以及时间剩余量动作是“下一笔挂限价单还是吃市价单、挂多少”。奖励函数的设计是这类工作的关键有的用 implementation shortfall有的用带风险惩罚的效用函数。我注意到一个趋势越来越多的论文开始用离线强化学习因为在线和真实市场交互的成本太高而且历史订单簿数据其实很丰富用 offline RL 能规避探索带来的风险。2.2 方向二自动化因子挖掘与符号回归因子挖掘是量化研究里最耗人力的环节。一个研究员可能花几周时间试了几百个因子最后只有两三个能进组合。今年有几篇论文试图用神经符号方法把这个过程自动化给定一批基础算子加减乘除、时序排名、相关性等和原始数据字段让模型搜索出有预测力的因子表达式。这类工作的难点不在搜索算法本身而在于如何避免过拟合。金融数据信噪比极低如果搜索空间太大几乎必然能找到在历史上表现很好但纯属噪声的因子。所以今年几篇论文都在正则化上做文章有的用信息系数的时间稳定性作为惩罚项有的用多市场数据做交叉验证。这个思路我觉得是对的因为因子挖掘的本质矛盾就是“搜索能力”和“过拟合风险”之间的权衡。2.3 方向三大模型在金融文本与另类数据上的应用这个方向严格说和“量化交易”的边界有点模糊但确实有论文在做。典型场景是把财报电话会议记录、新闻、社交媒体文本喂给预训练语言模型提取出情绪信号或者事件信号再作为因子输入到量化模型里。今年比较有意思的几篇是在做时序对齐——文本信号出现的时间和它对价格产生影响的时间之间往往有滞后如何建模这个滞后是个技术活。还有一篇我印象比较深的是用大模型做财报数据的结构化抽取把非结构化的附注信息转成可计算的字段。这个在工业界其实需求很大因为很多另类数据供应商卖的就是这个但质量参差不齐。如果学术方法能把这个做扎实对中小型量化团队是利好。2.4 方向四市场模拟与合成数据生成这个方向相对小众但很重要。量化研究的一个根本困难是历史数据只有一份你没法做对照实验。所以有论文在研究用生成模型比如扩散模型、GAN来合成订单簿数据用于策略的压力测试和鲁棒性验证。今年几篇工作的改进点在于保持微观结构特征比如买卖价差的分布、订单到达的聚集性等而不是只拟合价格收益率的边缘分布。这个方向的实际价值在于你可以用合成数据构造一些历史上没出现过的极端场景看看策略会不会爆仓。这比单纯在历史数据上回测要有意义得多。3. 拆解几篇代表性论文的技术路线下面挑几篇我觉得技术路线比较有代表性的论文展开讲。再次强调具体数值和实现细节以论文原文和官方代码为准我这里讲的是理解这篇论文需要抓住的关键点。3.1 离线强化学习做订单执行状态设计和奖励塑形是重点这类论文的通用框架是用历史订单簿数据构造一个离线数据集每条样本是状态动作奖励下一状态。状态通常包括订单簿前 N 档的价格和量N 一般取 5 到 10当前未完成的数量占总量的比例距离截止时间还剩多少一些微观结构指标比如订单簿不平衡度、近期波动率动作空间有两种设计离散的比如把下单量分成若干档和连续的。离散的好处是可以用 DQN 系列算法训练稳定连续的好处是更精细但要用 DDPG 或 SAC 这类算法在离线设定下容易不稳定。今年几篇论文倾向于离散化动作空间加保守 Q 学习这个选择是有道理的离线 RL 最大的问题是分布外动作的 Q 值估计不准保守 Q 学习通过惩罚分布外动作来缓解这个问题。奖励函数我见过几种设计列个表对比一下奖励设计公式核心优点缺点实现差额决策价格与到达价格之差直接对应交易成本对风险不敏感均值方差效用收益减去风险惩罚兼顾收益和风险风险厌恶系数难调排序奖励与基准策略比较的相对表现避免绝对尺度问题依赖基准选择提示如果你要复现这类工作建议先从实现差额奖励入手因为它最直观调试起来也最容易定位问题。等跑通了再换更复杂的奖励函数。3.2 符号回归挖因子搜索空间和正则化是命门符号回归做因子挖掘的基本流程是定义一个算子集合比如add, sub, mul, div, rank, ts_mean, ts_std, corr再定义终端节点是原始数据字段比如开盘价、收盘价、成交量、换手率等。然后用遗传规划或者强化学习在表达式树上搜索。今年一篇比较有代表性的工作改进了搜索策略用蒙特卡洛树搜索加神经网络引导而不是纯遗传规划。这个改进的动机是遗传规划容易早熟收敛而且对超参数敏感。用神经网络学一个策略来指导搜索方向可以更高效地探索有希望的表达式空间。但真正的难点在正则化。我总结了几种常见的防过拟合手段时间稳定性惩罚把样本分成多个时间段要求因子在每个时间段的信息系数同号且绝对值不能太小。复杂度惩罚对表达式树的节点数或深度加惩罚避免挖出过于复杂的因子。相关性去重新因子和已有因子的相关性超过阈值就丢弃保证因子池的多样性。多市场验证在多个市场或资产类别上验证只有跨市场稳定的因子才保留。这几条里我觉得时间稳定性惩罚是最有效的。因为金融数据里最怕的就是“某段时间特别灵换个时间段就废了”的因子而这种因子恰恰是搜索算法最容易找到的。3.3 大模型提取文本信号时序对齐比模型本身更重要用大模型处理金融文本很多人第一反应是“换个更大的模型是不是效果更好”。但从今年几篇论文的结果看模型规模带来的提升远不如时序对齐做得好带来的提升。什么叫时序对齐举个例子某公司发了财报财报里提到“下季度指引低于预期”。这个消息对股价的影响不是瞬间完成的可能当天跌一部分然后接下来几天分析师陆续发报告又跌一部分。如果你简单地把文本信号和当天的收益率做回归会低估这个信号的真实预测力。今年有篇论文的做法是先用大模型抽出一个事件向量然后用一个可学习的时间衰减核去卷积这个事件向量生成一个随时间变化的信号序列再把这个序列作为因子。这个时间衰减核的参数是从数据里学的不同事件类型学到的衰减速度不一样比如盈利预警衰减快战略调整衰减慢。这个设计我觉得很符合直觉而且实现起来不复杂。3.4 合成订单簿数据保微观结构比保边缘分布难用生成模型合成订单簿数据最朴素的做法是把订单簿当成一张图片用图像生成模型去拟合。但这样生成出来的数据往往“看起来像”一算微观结构指标就露馅。比如真实订单簿的买卖价差分布是右偏的订单到达有很强的自激性一笔大单会引发后续订单这些特征图像模型很难捕捉。今年一篇工作用了自激点过程加扩散模型的混合结构先用点过程建模订单到达的时间聚集性再用扩散模型建模每笔订单的价格和量。这个分解是有道理的因为订单到达的时序模式和订单属性的分布相对独立分开建模比一起建模更容易训练。4. 如果你想复现这份实操路线图可以参考光看论文不动手收获有限。下面给一份我整理的复现路线图按难度从低到高排。假设你有基本的 Python 和深度学习基础但没做过量化相关的项目。4.1 环境与数据准备第一步是搞数据。学术论文用的数据一般来自交易所的 Level-2 快照或逐笔成交数据这些数据个人获取有难度。我的建议是先从公开的日频或分钟频数据入手比如一些开源金融数据库提供的股票日线数据。订单簿相关的论文可以找一些公开的限价订单簿数据集有些学术机构会放出脱敏后的样本。文本相关的论文可以用公开的财报文本数据集或者自己爬一些新闻标题。环境方面强化学习类的论文建议用gym风格的接口封装环境这样算法实现可以复用现成的 RL 库。符号回归类的论文gplearn这个库可以做遗传规划但如果你要复现论文里的神经网络引导搜索得自己写。4.2 从最简单的基线开始不要一上来就复现论文的完整模型。先做基线订单执行任务先实现一个 TWAP时间加权平均价格策略就是把订单均匀拆成 N 份每隔固定时间下一份。这个策略虽然简单但它是很多论文的对比基准。因子挖掘任务先手动构造几个经典因子比如动量、反转、波动率算一下它们的信息系数建立一个评估流程。文本信号任务先用词典法比如情绪词典做一个简单信号看看和收益的相关性。把基线跑通你才有参照系来判断论文方法到底提升了多少。4.3 复现论文模型时的关键检查点复现过程中有几个地方特别容易出错我列出来供你对照数据泄露这是量化研究里最致命的错误。比如你在做标准化的时候用了全样本的均值和方差这就把未来信息泄露到了过去。正确做法是滚动窗口标准化。幸存者偏差如果你用的股票池是“当前还在上市的股票”那历史上退市的股票就被排除了回测结果会偏乐观。要用历史成分股。交易成本假设学术论文里经常假设零成本或者固定比例成本但真实市场的冲击成本是非线性的大单的成本远高于小单。复现时至少要用一个简单的非线性成本模型。随机种子深度学习模型对随机种子敏感尤其是数据量小的时候。建议跑多个种子取平均报告均值和标准差。注意如果你复现的结果比论文差很多先检查数据泄露和成本假设这两个是最常见的原因。如果比论文好很多那大概率是你哪里搞错了别高兴太早。4.4 一个具体的复现示例TWAP 基线加简单 RL拿订单执行任务举例说一个最小可运行的复现路径。首先构造环境。状态用当前剩余时间比例、剩余数量比例、以及最近 10 个时间步的价格收益率。动作空间离散成 5 档下单量为剩余量的 0%、10%、20%、30%、50%。奖励用实现差额的负数。然后实现一个简单的 DQN。网络用两层全连接每层 64 个单元。经验回放池大小 10000batch size 64目标网络更新频率 100 步。训练 500 个 episode。跑完之后和 TWAP 对比。如果 DQN 学到的策略是“前期下得慢、后期下得快”那说明它学到了东西因为这样可以减少价格不利变动的影响。如果学到的策略和 TWAP 差不多可能是状态设计不够好或者奖励信号太稀疏。这个最小示例跑通之后你再去看论文里的改进点比如加了订单簿不平衡度作为状态、用了保守 Q 学习、换了更复杂的奖励函数就能清楚地知道每个改进带来了多少提升。5. 学术论文到实盘之间隔着哪些坑这一节可能是全文最重要的部分。我见过太多团队拿着论文里的漂亮回测曲线去实盘结果亏得一塌糊涂。下面这几个坑每一个都是真金白银换来的教训。5.1 回测过拟合论文里的夏普比率要打几折学术论文报告的回测结果通常是在特定时间段、特定资产池上调参调出来的。即使作者主观上没有作弊客观上也存在多重比较问题试了 100 个配置挑了最好的那个报告。这个最好的配置在样本外的表现按经验至少要打对折。我的建议是看到论文里的夏普比率先除以 2再考虑能不能接受。如果除以 2 之后还不如买入持有那这篇论文的方法对你可能没什么用。5.2 市场冲击你的交易会改变市场论文里的策略假设你的交易不影响价格。但实盘里如果你的策略开始赚钱规模就会变大大到一定程度你的买卖行为本身就会推动价格。这时候论文里的最优策略可能就失效了因为它的假设被破坏了。这个问题在订单执行类论文里尤其突出。论文里假设你可以按当前订单簿的价格成交但实盘里你的大单会吃掉好几档成交均价远差于预期。复现时一定要加一个冲击成本模型哪怕是很粗糙的线性模型也比零成本假设强。5.3 数据延迟与执行延迟论文里的策略通常是“看到信号立刻下单”。实盘里从数据到达、到策略计算、到订单发出、到交易所撮合每一步都有延迟。对于高频策略几十毫秒的延迟就足以让策略从赚钱变成亏钱。如果你复现的是日频或分钟频策略延迟影响相对小但也不能忽略。建议在回测里加一个固定的延迟比如信号产生后下一根 K 线才成交看看策略还灵不灵。5.4 常见问题速查表问题现象可能原因排查方向回测很好实盘很差过拟合、成本低估检查样本外表现、加成本模型训练不稳定离线 RL 分布外动作换保守 Q 学习、减小动作空间因子换时间段就失效过拟合、数据泄露加时间稳定性惩罚、检查标准化方式文本信号没预测力时序对齐没做好加时间衰减、换事件窗口合成数据不真实微观结构没保住检查价差分布、订单到达自激性6. 这个方向后续可以怎么跟进如果你对其中某个方向特别感兴趣我分享几个跟进思路。第一盯代码仓库而不是盯论文。很多论文放出来的时候代码还没整理好等几周代码放出来了看代码比看论文效率高得多。尤其是强化学习类的论文实现细节对结果影响极大论文里往往写不全。第二关注工业界的技术博客。学术论文的方法要落地中间有很多工程细节是论文不会写的比如怎么做特征工程、怎么处理缺失数据、怎么部署低延迟推理。这些在工业界博客里反而能找到。第三自己搭一个小的评估框架。不要每次复现都从头写代码把数据加载、回测、评估这些公共部分封装好这样你试新方法的速度会快很多。我自己的框架里回测引擎和成本模型是复用的换策略只需要改策略类。第四多和做不同市场的人交流。股票、期货、加密货币的微观结构差异很大同一篇论文的方法在股票上有效在期货上可能完全不行。了解不同市场的特点能帮你判断一个方法的适用边界。最后说一个我自己的体会量化交易这个领域论文的价值在于提供思路和工具而不是提供可以直接用的策略。你从论文里学到的最有用的东西往往不是某个具体的模型结构而是它看待问题的方式。比如把订单执行建模成序贯决策、把因子挖掘建模成搜索问题、把文本信号建模成时序卷积这些建模思路是可以迁移的。至于具体的网络层数和超参数那都是次要的。