过去一年,LLM 在量化研究里的位置变化很快。
一年前,很多人尝试让 ChatGPT 做量化分析,体验并不算稳定。它能提出策略,也能写代码,但真正把结果拿去回测,很快就会遇到问题:策略逻辑可能有漏洞,代码里可能藏着错,参数调得越来越细,最后得到一个回测很好看、实际却很无能的模型。
所以问题来了:
2026,ChatGPT 到底进步到哪一步了?现在用它做量化分析,值不值得?
一位外网量化分析师做了这么一个实验:他上传了一份 Excel 数据,里面包含 EEM、SPY、IEF、GLD 四只 ETF 的权益曲线 ,然后要求 ChatGPT 构建一个只交易 EEM ETF 的日频模型。要求只能使用用户提供的数据,策略要偏向 swing trading,也就是持仓几天的短线交易。
测试的关键,不在于 ChatGPT 会不会解释量化概念,而在于它能不能在一个受约束的数据环境里,帮助研究者更快完成策略构思、回测、诊断和稳健性检验。
如何开启一段对话 为了打好基础,至关重要的是为 ChatGPT 提供清晰的初始指令。这些指令必须精确,包含所有必要信息,并将模型限制在我们认为合理的范围内运行。
第一个Prompt:
I need to test your capabilities as quant analyst. I will upload you excel file with data (equity curves of 4 etfs – EEM, SPY, IEF and GLD). We will build daily trading model that trades specifically EEM etf. The model can use ONLY data provided by me. Give me 10 ideas for trading strategies, that can be build with the use of data I provided you. They should be swing trading strategies (so holding period only a few days).
做量化研究时,早期阶段往往并不是马上找到最优策略,先打开候选方向更加重要。让模型一次性给出多个思路,可以快速获得一个“研究菜单”,再由研究者判断哪些方向值得深挖。
ChatGPT 给出的策略覆盖面还不错。有的基于动量和相对强弱,比如短期资产轮动、带防御过滤器的简单动量、跨市场 lead-lag 信号;有的偏向均值回归,用来捕捉 EEM 相对于基准资产或全球资产篮子的短期偏离;还有一些关注 risk-on / risk-off regime、避险资产信号、波动率扩张,以及多因子组合信号。
这些想法还不能算研究结论,但作为第一轮探索,已经能节省不少时间。至少不用从空白页面开始,可以先拿着一组候选假设往下走。
第一轮筛选 接下来,让模型做第一轮筛选。
如果手工测试 10 个策略,每个都要写代码、调参数、计算指标、整理结果,很快会变成一项繁琐工作。研究者于是让 ChatGPT 先做一轮探索性评估,输出年化收益率、波动率、Sharpe ratio 等常见绩效指标。
这一阶段有一个比较明显的进步:ChatGPT 已经不只是把结果写在聊天窗口里。它可以把策略表现整理成表格,甚至生成 Excel 形式的绩效摘要。对量化研究来说,这种能力很实用。毕竟大量研究工作都围绕表格、参数矩阵、收益曲线和指标对比展开。
筛选之后,研究者把重点放在两个方向。
第一个来自 Strategy 3 Risk-On Regime Trigger 。原始想法是在 risk-on regime 下买入 EEM。研究者反过来测试,在 risk-off regime 下买入 EEM,看看是否存在短期反转效应。
第二个来自 Strategy 2 Mean Reversion vs Global Basket 。研究者把它简化为 EEM 相对于 SPY 的均值回归:当 EEM 与 SPY 的收益差扩大时,买入 EEM 做短期交易。
第一轮结果 第一轮结果不算惊艳,但足够让人继续看下去。
在 Strategy 3 的变体里,表现最好的版本使用 3 天 risk-off 窗口 ,不加入额外的 EEM 下跌过滤条件。计入 5 bps 交易成本 后, Sharpe ratio 约为 0.524 。
在 Strategy 2 的修改版本里,表现最好的策略使用 5 日收益差 EEM − SPY 、 20 日 z-score 窗口 、 −1.25 的入场阈值 ,并设置 最长 5 天持仓期 。同样计入 5 bps 交易成本 后, Sharpe ratio 约为 0.483 。
这两个数字不能说明策略已经可以投入实盘。更合适的理解是:在这份数据里,EEM 可能存在一定短期反转特征,值得继续做稳健性检验。
一个初步 Sharpe 数字,只是研究入口。真正重要的是信号能否被解释,参数是否足够克制,以及它能不能在不同设定下保持相对稳定。
处理和修改代码 这是这次测试里很关键的一部分。
一年前,用 LLM 做回测时,最让人不放心的地方就是代码。它会生成看起来完整的 Python 脚本,变量命名也像那么回事,但里面可能藏着执行时点错位、未来函数、收益对齐错误等问题。对量化回测来说,这些都是高风险细节。
这次要求 ChatGPT 给出 Python 代码。模型生成的代码带有注释,格式较好,读起来也比较顺。更重要的是,在要求它检查代码错误时,模型能够发现一些明显问题。
其中最主要的问题,是一个不必要的 一日执行 shift 。模型指出了这个问题,也给出了一些边界情况处理建议。虽然这些边界问题对本次分析影响不大,但至少说明模型已经具备一定自查能力。
这一点比一年前进步明显。以前用 LLM 做回测,经常是先节省一点时间,随后又在排错里花掉更多时间。现在只要代码可见、环境可控、研究者持续审查,模型确实可以承担更多探索性工作。
避免过度优化 AI 很容易把策略往复杂方向推。
在后续测试中,一个问题反复出现: ChatGPT 会不断建议加入更多过滤条件、扩大参数搜索范围、增加新的变量。 表面上看,是在帮策略提升表现;放到量化研究里看,这往往意味着过拟合风险正在上升。
策略参数越多,越容易捕捉历史噪音。回测曲线越精致,实盘失效的概率也可能越高。
解决办法也不复杂,就是在 prompt 里主动限制模型。比如,原始 Strategy 2 参数较多,因此把它压缩到两个自由度:一个是 EEM 相对于 SPY 的 X 日收益差 ,另一个是 1 至 3 天的持仓期 。其他 z-score 窗口、额外过滤器等参数全部移除。
这样一来,测试就回到策略核心逻辑上。看的是 EEM 相对 SPY 的短期偏离是否真的有信息量,而不是在一堆参数组合里寻找历史最优点。
受到约束后,ChatGPT 的表现反而更有用。它可以整理不同持仓期、不同收益差窗口对 Sharpe ratio 等指标的影响,帮助研究者更快判断参数区域是否稳定。
基准测试 有了一个初步可用的策略,接下来需要和Benchmark方法比较。
研究者使用 EEM buy-and-hold 作为参照,考察策略是否真的提供了超过被动持有的价值。ChatGPT 不仅生成了模型与基准的统计指标,还对两者差异做了解释,包括风险调整后收益、回撤特征、收益来源,以及策略在哪些方面优于或弱于被动暴露。
这类解释对研究流程很有帮助。因为看策略不能只看收益率,也不能只看 Sharpe ratio。还要理解它什么时候赚钱,承担了什么风险,是否只是少交易、少暴露带来的波动下降。
同样的方法也应用到了 Strategy 3 上。通过与买入持有基准比较,可以判断 risk-off reversal 这个方向是否值得继续推进。
加入 UUP 后检验宏观信号 前面的测试主要围绕一个资产和一份数据展开。为了看信号是否更稳,研究者扩展了数据范围,保留 EEM 作为交易资产,同时加入 IEF、UUP、SPY 。其中,UUP 用来观察美元走势对新兴市场 ETF 的影响。
先重新测试 Strategy 3,并把参数限制在两个维度:risk-off 定义和持仓期。risk-off 被定义为 SPY X 日收益率 < 0 且 IEF X 日收益率 > 0 ,持仓期限定在 1 至 3 天 。
然后引入几个 UUP 相关变体。 S3a 用 UUP 替代 IEF, S3b 用 UUP 替代 SPY, S3c 则在 SPY 和 IEF 之外加入 UUP 信号。
这一步想看的,是美元信号到底有没有带来额外预测力。初步结果并不特别亮眼,但研究者没有马上停下,而是继续观察不同市场状态下是否存在局部优势。
后续结果里,S3c 相对更值得继续分析。于是让 ChatGPT 计算所有 S3c 参数组合的平均权益曲线,再计算风险收益指标。为了测试这个信号是否只适用于 EEM,又把同样的 S3c 逻辑应用到 SPY 上,观察它在更广泛市场代理资产上的表现。
这种对比很重要。如果信号只在 EEM 上有效,可能只是样本特定现象;如果放到 SPY 上也有一定解释力,说明它或许捕捉到某种更通用的市场状态。
参数簇比单一最优参数更重要 在策略测试后期,研究者没有继续追逐单一最优组合,而是要求 ChatGPT 汇总所有参数组合的表现,观察不同参数区域的特征。
例如,在 S3c 应用于 EEM 的测试中,重点看排序期长度和持仓期长度是否形成稳定规律。ChatGPT 生成了按 Sharpe ratio 排序的前 10 个策略,也进一步做了 lookback 和 holding period 的聚类分析。
随后构建了两组组合。
第一组包含 1、2、3 天排序期 和 1、2 天持仓期 的变体;第二组包含
5 至 10 天排序期 和 1、2 天持仓期 的变体。ChatGPT 将每组中的单独策略权益曲线和平均权益曲线放在同一张图中,并计算平均曲线的风险收益指标。
这比单纯挑最高 Sharpe 更有意义。一个相对可信的信号,通常不应该只在某个孤立参数点上有效。相邻参数区域如果也能呈现类似表现,研究者才更有理由继续往下验证。
进一步比较之后,UUP 的价值受到质疑。
研究者对没有 UUP 的原始 S3 策略做了同样的聚类分析。结果显示,S3c 相比 S3 的优势主要体现在波动率上,并没有明显提升收益或风险调整后收益。
这意味着 UUP 可能更多是在减少交易,而不是提供新的预测信息。它像一个交易抑制器,过滤掉了一些机会,让曲线看起来更平滑,但未必真正提高策略质量。
为了继续验证,研究者又把同样的策略框架应用到 SPY 上,并重复聚类和组合测试。之后还对 S3 做了一个小修改:把信号生成中的 SPY 替换为 EEM,也就是从 SPY + IEF 改为 EEM + IEF ,继续观察不同设定下的表现。
经过多轮测试,结论逐渐变得明确:EEM ETF 中确实存在一定短期反转效应,也有多种策略变体可以尝试捕捉。但最终采用哪一种,还要看交易者如何权衡信号解释、复杂度、交易频率和稳健性。
所以,ChatGPT 现在能用了吗? 可以用,而且比一年前更值得用。但前提是,研究者要始终掌握边界。
在量化回测任务中,ChatGPT 已经能带来实际价值。它可以快速提出策略想法,生成和修改代码,整理参数结果,输出绩效表格,绘制权益曲线,也能帮助解释策略与基准之间的差异。
相比 6 到 12 个月前, 数据破坏、明显幻觉和代码不可用的问题已经减少 。只要底层代码可检查,关键步骤有人复核,LLM 辅助研究的效率开始变得更划算。
但风险也同样存在。 ChatGPT 很容易把研究带向“继续优化” :增加过滤器、扩大参数空间、引入更多自由度。对经验不足的使用者来说,如果一路跟着模型建议往下走,很可能得到一个回测表现漂亮、实盘却很脆弱的策略。
LLM 的能力越强,越需要研究者知道自己到底在测试什么。否则,研究很容易从稳健性检验滑向过度优化。
这也是这次测试最重要的提醒:LLM 可以参与量化研究流程,但不能替代研究者做判断。最终模型在使用或发布前,仍然需要人工复核,最好由研究者独立实现并再次验证。尤其是执行时点、交易成本、参数选择、样本外测试和经济解释这些环节,人的判断仍然不可替代。
不过,在探索阶段,它已经能显著提高效率。更快生成候选策略,更快完成第一轮回测,更快整理结果,也能把复杂的参数组合和绩效指标转化为更容易阅读的表格与图形。
过去,用 LLM 做量化研究,常常是先省下一点时间,再花更多时间纠错。现在,在合理约束和人工监督下,它开始成为一个真正有用的研究助手。
当前最合适的位置,或许就是这样:
做量化研究流程里的加速器,而不是最终决策者。
参考资料: One Year Later: Is ChatGPT Finally Worth Using for Quantitative Analysis? QuantPedia.
💬 想深入了解对冲基金策略、顶级研究员的思维框架与实战经验? 欢迎加入 LLMQuant知识星球 ,获取第一手资料与独家内容。