AI 量化交易:把灵感变成可复算实验

最后更新:

模型可以提出因子、生成代码和解释实验,但数据切分、回测指标与执行约束必须由确定性系统掌控。完整流程的目标不是自动生成更多策略,而是更快淘汰错误假设。

结论:让 Agent 自动做实验,不要让它自动决定真相

AI 量化最有价值的环节是研究自动化:把自然语言问题转成候选因子、实现代码、运行实验、读取失败、再提出下一轮改进。每个实验都必须由固定数据、固定指标和可执行代码定义,模型的解释不能覆盖原始结果。 如果 Agent 能随意改样本、指标和策略,再依据新结果宣布成功,就会产生自动化过拟合。正确做法是把可修改范围写进实验合同,并把最终测试集、交易权限和资金限额放在 Agent 无法修改的外部控制面。

七个阶段缺一不可

量化交易的价值来自可复现流程,不来自某个模型的一次判断。七个阶段逐步缩小不确定性,并把研究权限与真实执行权限分开。

LLM 可以参与前六阶段,但不应拥有修改所有门禁和直接放大资金的权限。
阶段输入输出主要门禁
问题定义研究目标与可用信息可证伪假设禁止用结果反推问题
数据准备带时间戳的原始数据版本化数据集处理未来函数和幸存者偏差
因子实现公式与字段可运行代码类型、缺失值与单位测试
训练验证训练/验证区间候选模型调参不触碰最终测试集
回测冻结规则收益与风险指标含滑点、手续费和容量
纸面交易实时信号模拟订单记录延迟与不可成交情况
受限执行审批后的策略真实订单仓位、限额、熔断和审计

RD-Agent 展示的是研究迭代,不是收益保证

RD-Agent 试图自动完成假设、代码、实验与反馈循环,并可使用 Qlib 作为金融研发场景。官方演示有助于理解自动研究界面,但当前证据只确认源码配置入口,尚未完成项目自身真实模型调用,因此本文不把它写成已接通的生产系统。

RD-Agent 官方量化研究自动迭代演示界面
项目官方截图:RD-Agent 展示研究假设、代码实现、实验反馈和迭代过程。

模型入口和实验执行器必须分开

聊天模型负责提出修改和阅读日志,代码执行器负责在隔离环境运行;数据版本与指标定义由外部控制。即使模型服务切换,实验 ID、数据哈希和代码提交也应保持可追踪。

量化研发 Agent → 固定实验合同 + 隔离执行器 → 研究模型 / 代码模型 / 复核模型
模型可以换,数据版本、回测指标和执行权限不能随回答一起漂移。

因子生成要先定义信息可用时间

一个“利润增长”因子不是拿利润字段除一下就结束。系统要知道报告期、公告日、修订日、交易日和当时是否可获得。新闻和研报也要区分事件发生时间与抓取时间。任何在决策时尚不可见的信息都不能进入特征。 Agent 生成代码后,自动测试应覆盖缺失值、停牌、复权、极端值、行业中性化与窗口边界。模型可以解释为什么要这样处理,但真正的验收来自确定性测试。

回测报告至少同时看收益和可交易性

高夏普或高累计收益不自动代表可交易。低频策略可能受财报时间处理影响,高频策略可能被延迟和滑点吞掉。模型应协助发现异常,而不是只为结果写解释。

  • 相对基准收益、最大回撤、波动、换手和交易成本。
  • 不同年份、牛熊阶段、行业和市值分组的稳定性。
  • 信号产生时间、订单时间、成交规则和容量假设。
  • 做过多少次试验,以及最终结果是否保留独立测试集。

成本控制从限制研究循环开始

一次任务成本 = 输入 token × 输入单价 + 输出 token × 输出单价 + 缓存读写费用 + 外部数据费用。模型价格和实际 token 只从当前模型目录与控制台调用日志读取,不在文章里复制一份会过时的数字。 自动研究会把一次问题扩展成多轮代码生成、运行、报错和总结。应设置每个假设的最大轮数、最大 token、最大执行时间和停止条件;把重复数据描述缓存,把完整日志保存在外部存储,只把当前需要的错误片段送回模型。

故障恢复必须以实验为单位

网络超时、依赖安装失败、代码运行超限和数据源缺失都应让当前实验进入明确失败态。重试必须复用 experiment_id,并区分“模型没有回复”和“代码运行失败”,避免重复记账或把两次结果拼成一次成功。 真正上线前,调度器还要支持暂停、取消、最大并发、资源配额和人工审批。执行层失败应默认不下单,不能让模型根据自然语言猜测是否继续。

常见问题

AI 量化交易需要会编程吗?

模型能帮助生成代码,但仍需要理解数据、回测和风险。不会验证代码的人更容易把能运行误认为正确。

RD-Agent 和 Qlib 是什么关系?

RD-Agent 面向自动研究循环,Qlib 提供金融数据、模型和实验底座。Qlib 本身不是通用聊天模型 Agent。

FinRL 能直接接大模型吗?

FinRL 主要是强化学习环境和算法,不是 OpenAI-compatible 聊天入口。大模型可以在上层帮助研究,但不能把两者写成同一种模型。

回测盈利为什么实盘会亏?

常见原因包括未来函数、过拟合、样本偏差、交易成本、容量、延迟和市场制度变化。纸面交易是发现这些差异的必要阶段。

自动研究怎么避免无限烧 token?

按实验设置轮数、token、时间和失败预算;缓存重复材料;将执行日志外置,只把必要片段交给模型。