这种“不太对劲”的直觉,大多数时候是对的。
AI写量化交易策略靠谱吗?这件事值得我们暂时放下兴奋,从头慢慢看一遍。不是去寻找一个能让人兴奋的答案,而是去理解这把工具真正能做什么、不能做什么,以及我们和它相处时,自己必须守住的边界。
量化研究最容易让人误判的地方在于:代码可以运行,回测可以出图,参数可以自动搜索,策略就仿佛已经具备了某种“真实性”。但市场并不承认这些表面上的完成。一个策略从想法走到实盘,中间隔着数据质量、交易成本、执行约束、风险暴露、样本外检验,以及研究者本人对漂亮曲线的执念。大模型可以缩短其中一些环节,却不能替我们跳过它们。
从代码助手到策略大脑:大模型在量化工作流中的真实定位
先放下情绪,把事情落到地面上。
大模型在量化交易里真正擅长的,是那些重复、繁琐、需要耐心的“体力活”。具体来说,它能在几个维度上替我们把工作流往前推一截。
第一,代码层面的辅助。
它写得一手比较工整的 Python,能帮我们把一个因子的实现逻辑从思路翻译成可运行的函数,能排查 Pandas 那种折磨人的索引对齐错误,也能把常用的数据处理模板——比如滚动窗口、因子标准化、截面去极值——打包成可以直接调用的工具。
在这些场景里,它确实像一个不会疲倦的初级研究员,把过去要花大半天敲出来的东西压缩到几十分钟,把研究人员从重复劳动里解放出来。这部分提升是真实的、可验证的,而且风险相对可控。前提是,我们仍然要逐行理解它写出的代码,而不是因为代码结构看起来漂亮,就默认它已经正确。
量化代码里有许多错误不会立刻报错。一个滚动窗口如果不小心包含了当前时点之后的数据,程序可能照样顺利运行;一个合并操作如果把未来日期的信息拼到了过去,净值曲线甚至可能因此变得更加平滑。大模型能帮我们发现这类问题,也可能在没有被明确提醒时,把同样的错误写得更完整、更像一个正规的研究框架。
第二,非结构化数据的处理。
新闻、研报、公告、电话会纪要、社交媒体讨论,这些文本在过去很难系统地纳入量化模型。大模型在情绪打分、主题抽取、事件分类、关键词结构化方面,给了我们一条相对低成本的路子。
比如,我们可以让它把一批公司公告拆成“业绩变化”“管理层变动”“资产重组”“监管风险”等事件标签,再将这些标签与公告发布时间、证券代码、行业分类关联起来。也可以让它对新闻文本进行方向判断,然后进一步检查这个判断在不同主题、不同市场环境中是否具有稳定性。
这里真正有价值的地方,不在于大模型能不能给每条新闻打出一个看似精确的分数,而在于它降低了文本数据进入研究流程的门槛。过去需要大量人工阅读和整理的资料,现在可以先由模型完成初筛,研究人员再把时间用在定义事件、检验因果关系和处理异常样本上。
第三,研究框架的搭建。
当我们脑子里有一个模糊的策略轮廓时,可以让大模型先把骨架搭起来:数据怎么取,信号怎么生成,持仓怎么调整,风险怎么控制,净值怎么画,回测报告怎么出。我们再在这个骨架里填血肉、调试参数、做样本外验证,效率的提升是实实在在的。
但“搭骨架”与“提出有价值的研究假设”并不是一回事。
大模型特别容易生成一种完整而顺滑的研究流程:先计算动量,再加入波动率过滤,最后用均线确认趋势;或者先对多个因子进行标准化,再按照综合得分排序,最后设置一个止损条件。这样的流程读起来很像量化研究,代码也可能没有明显错误,但它并不因此自动拥有经济逻辑。
策略真正需要回答的是:为什么这个信号应该存在?它反映的是风险补偿、行为偏差、市场制度,还是某种交易约束?如果越来越多的人使用它,它会不会被套利?它在不同品种上的表现,究竟来自共同的风险暴露,还是来自数据处理方式的巧合?
这些问题不能靠代码整洁来回答,也不能靠提示词写得更长来回答。
大模型之于量化,更像一位耐心的副驾驶,而不是接管方向盘的车主。
从实际工作流看,大模型更适合被放在以下位置:
- 把研究想法拆成清晰的变量、函数和测试步骤;
- 为数据清洗、特征计算和报告生成提供初稿;
- 帮助检查边界条件、异常值和可能遗漏的测试;
- 对已有研究进行反向提问,寻找逻辑跳跃;
- 将分散的研究笔记、代码说明和实验结果整理成可复用的文档。
它不适合被直接放在“最后决定买什么、卖什么”的位置。一个工具能帮我们更快地把想法变成代码,并不等于它能替我们想出更好的想法;一个工具能替我们扫一遍新闻的情绪,也不等于它能替我们判断市场。
这两者之间的距离,比我们想象的要远得多。
为什么AI生成的交易信号难以直接盈利:基准策略与手续费的博弈
很多朋友第一次尝试让大模型“写策略”,流程大致是这样的:丢一段提示词进去,让它输出一个买卖逻辑,比如“过去二十日动量为正就买入、为负就卖出”,然后跑回测。
一跑,发现收益率还不错;但一旦把策略放到更接近实盘的环境里,或者把手续费、滑点、冲击成本这些真实摩擦力加进去,曲线就开始走样了。
这不是某个模型不够聪明的缘故,而是几个结构性原因叠加在一起的结果。
公共知识的重新组合,不等于信息优势
当提示词只包含“动量”“均线”“海龟法则”这类公开的、教科书级别的概念时,模型能给出的,本质上是这些概念在训练语料里出现频率较高的组合方式。
它可能把趋势过滤、波动率调整和仓位管理拼在一起,也可能从各种公开策略中抽取一个看起来更复杂的版本。但复杂不等于新颖,新颖也不等于有效。只要这些规则没有带来新的信息来源,或者没有更好地解决交易约束,它们就很难凭空创造超额收益。
换句话说,大模型可能替我们更快地完成了“从公开知识里抽取一个策略模板”这件事,但市场并不会因为这个模板是模型写出来的,就给它额外奖励。
一个策略的优势,通常来自某种尚未被充分定价的现象,或者来自对交易成本、市场结构、执行方式的更细致理解。把均线周期从一个改成另一个,把三个指标换成五个指标,更多时候只是改变了策略的外观。
基准策略并没有想象中那么容易被击败
动量、均值反转、双均线、突破策略,这些逻辑看起来朴素,甚至有点过时,但它们有一个经常被忽略的优点:研究者知道自己在测试什么。
基准策略的规则通常比较透明,参数数量有限,行为也容易解释。它们未必总能赚钱,更不可能在所有市场环境里有效,但至少可以作为一把尺子,帮助我们判断一个新策略究竟带来了什么。
如果一个大模型生成的策略跑不赢简单的动量基准,我们首先应该问的,不是“模型是不是还不够强”,而是:
- 它是否真的使用了不同于基准的信息?
- 它是否只是把相同的趋势暴露包装成了更复杂的形式?
- 它的收益是否集中在少数几个交易日或少数几个品种?
- 加入成本后,原本的优势是否已经消失?
- 它是否只是因为调参次数更多,才在某段历史上显得更漂亮?
扣除手续费之后,许多未经筛选的提示词生成信号难以跑赢朴素基准,是经验上的常态,不是哪一家模型的特殊失败。
更现实的问题是,交易成本并不是回测报告末尾的一行数字。对于高换手策略,手续费只是第一层成本。买卖价差、订单冲击、成交不完整、延迟、涨跌停限制、期货换月、不同交易所的合约规则,都可能改变策略实际获得的收益。
尤其是当大模型喜欢把多个条件叠加到一起时,策略往往会变得更加敏感。一个信号稍微变化,持仓就频繁调整;回测里的每次成交都恰好发生在理想价格,实盘却需要等待、排队和承担滑点。曲线在纸面上很灵活,资金在市场里却没有那么灵活。
心理偏差会把回测包装成“证据”
我们看到一个漂亮的回测数字,第一反应往往是“也许这次不一样”。这正是典型的锚定效应:我们被那个数字锚住了,把后续的怀疑放低。
接下来,研究过程很容易变成一种不易察觉的来回修补:
先让模型写一个策略,发现表现一般;再要求它加入波动率过滤;表现变好了,于是继续调整持仓周期;曲线出现回撤,就再增加一个止损条件。每次修改看起来都很有理由,整个过程也确实充满了代码和图表,但研究者可能已经在历史数据上反复试错了很多次。
沉没成本也会悄悄加入进来。我们已经为这个“AI策略”投入了时间和情感,就更容易说服自己它只是“差一点就成了”。于是,策略从研究对象变成了需要被证明的信念。
| 比较维度 | 由简单提示词直接生成的信号 | 经过雕琢的简单基准策略 |
|---|---|---|
| 实现成本 | 低,较快即可上手 | 低,规则通常清晰 |
| 信息优势 | 多数只是公共知识的组合 | 通常没有额外信息优势,但逻辑透明 |
| 参数依赖 | 容易在生成过程中不断增加 | 参数较少,行为相对稳定 |
| 扣除交易成本后的表现 | 可能明显恶化 | 结果通常更容易解释 |
| 心理吸引力 | 高,有“AI生成”的光环 | 低,显得朴素、不够性感 |
| 复盘难度 | 规则可能复杂,责任边界模糊 | 较低,失败原因更容易定位 |
| 对市场风格的适应性 | 取决于设计方式,未必稳健 | 已被长期观察,但仍依赖市场周期 |
这张表不是为了贬低大模型的能力,而是想替我们做一次温和的提醒:把一个工具的包装当成它的能力,是我们最常犯的一种误判。
基准策略看起来“土”,恰恰是因为它把光环剥掉了。大模型生成信号的漂亮,常常有一部分是光环的功劳,而不是策略本身的功劳。
回测中的隐形杀手:大模型训练数据带来的“时间污染”风险
如果说“跑不赢基准”是表层的失望,那么“时间污染”则是更深一层、也更隐蔽的失望来源。
“时间污染”这个词听起来有点学术,但它的含义并不复杂:研究者在构造历史测试时,使用了当时不可能获得的信息,或者让模型以某种方式接触到了未来结果。这样得到的策略,即使回测过程看起来非常严谨,也不再是一场真正的历史模拟。
这里需要把问题说得准确一些。并不是大模型天然拥有精确的行情数据库,也不是它一定记住了每一个历史价格。更常见的风险是,模型在公开语料中接触过后来发生的重大事件、市场叙事和结果,而研究者又要求它站在较早的时间点上解释这些信息,或者根据历史事件直接筛选出“哪些信号更有效”。
如果模型的知识、外部检索内容和测试数据没有严格按照时间隔离,过去与未来就会在研究流程里混在一起。
污染可能发生在什么地方
第一种污染来自文本标签的生成。
假设我们想构造一个“新闻情绪因子”,让模型为历史新闻打分。如果模型在判断一条新闻时,能够看到后续报道、事件结果,或者它的输入文本已经被研究者事后整理成带有结果暗示的摘要,那么这个情绪分数就不再代表当时的信息。
第二种污染来自因子假设的反向筛选。
研究者先观察一段历史行情的特点,再让模型解释“哪些文本主题、哪些行业叙事或哪些指标可能捕捉到了这段上涨”。模型当然能够给出一套听起来合理的解释,但这套解释是站在结果已经发生之后生成的。它适合帮助我们提出研究假设,却不能直接被当成已经验证的交易信号。
第三种污染来自数据处理流程本身。
例如,使用了包含未来修订值的基本面数据,使用了事后调整过的成分股名单,或者用完整样本计算了标准化参数。即使大模型完全没有参与,这些流程也会泄露未来信息。模型的加入,只是让研究者更容易快速生成一套复杂流程,因此错误更可能被隐藏在代码的完整性里。
第四种污染来自研究者反复查看测试结果。
这可能是最容易被忽略的一种。我们把一段数据称为“样本外”,但如果研究者已经多次看过这段曲线,并根据它修改过策略,那么它在心理意义上就不再是样本外。模型可以自动化调参,人也可以通过提示词反复调试。只要测试结果参与了决策,它就已经影响了研究。
怎样把时间顺序真正放回研究里
时间切片不是简单地把数据表按日期切成两半。更完整的做法,是为每一个变量确认三个时间点:
- 这条信息什么时候产生;
- 研究者什么时候能够看到它;
- 它什么时候真正进入交易系统并形成订单。
公告的发布日期、网页抓取时间、数据供应商的入库时间和交易执行时间,可能并不相同。基本面数据还可能存在后续修订;指数成分会发生变化;期货合约也有换月和主力合约切换的问题。如果只看数据表里的日期,而不追踪信息当时是否可用,所谓样本外检验很容易只是形式上的切分。
在股票策略中,还要注意幸存者偏差。只拿今天仍然存在的公司去回看过去,会让历史样本比当时真实可交易的股票池更“干净”。在期货策略中,则要注意连续合约的拼接方式、换月收益的处理和不同合约流动性的差异。大模型可以帮我们写这些处理代码,但它不会自动知道我们手上的数据是否符合点时数据原则。
时间污染之所以值得格外警惕,还有一个原因:它产生的结果往往非常“合理”。污染不一定会让曲线突然出现夸张的尖峰,更多时候,它只是让策略在拐点附近做得更好,让回撤显得更容易解释,让因子排序与后来发生的行情恰好吻合。
这类结果不会主动提醒我们“我偷看了未来”。它只会让研究者更相信自己的方向。
一个在样本内无可挑剔的策略,未必是好的策略;它更可能只是一次被时间污染温柔包装过的巧合。
因此,验证大模型辅助策略时,至少需要把以下几层分开:
1. 模型知识与研究数据隔离:涉及历史事件和文本资料时,尽量使用按时间截断的知识库,避免将未来材料一并交给模型。
2. 特征生成与标签生成隔离:不能让模型根据未来收益倒推当前文本的情绪或事件类别,再把这个标签用于历史交易。
3. 研究区间与最终测试区间隔离:最终测试数据不参与提示词修改、参数选择和策略取舍。
4. 代码复核与结果复核并行:既要检查有没有未来函数,也要检查每个字段在当时是否真的可获得。
5. 保存实验记录:记录每次提示词、数据版本、参数和测试结果,避免在大量试验之后只保留“最好看”的那一版。
量化机构的进阶玩法:多智能体与检索增强在因子挖掘中的应用
说到这里,可能有朋友会想:那是不是大模型这条路其实没什么用?
并不是。关键在于怎么用。
在公开材料里可以看到,成熟的量化机构并不会轻易把大模型当成“价格预测器”。更合理的做法,是把它放在研究流程中,用来加速假设生成、资料检索、代码实现和相互审查,而不是让它直接决定风险敞口。
多智能体不是让几个模型一起猜涨跌
多智能体框架听起来很容易被包装成新的神话:让多个模型分别扮演研究员、程序员、风控员和交易员,然后让它们共同寻找一个能赚钱的策略。
但真正有价值的地方,不是“模型数量更多”,而是任务边界更清楚。
可以让一个角色负责把研究想法拆解成可量化的因子假设;另一个角色负责检查这些假设是否存在未来数据、幸存者偏差或重复计算;第三个角色负责实现代码并设计单元测试;第四个角色专门做反例分析,寻找策略在哪些市场状态下会失效;最后再由一个角色把实验过程整理成研究报告。
这种分工模拟的是研究团队里的相互制约,而不是简单地让几个模型投票。
单个模型最容易犯的错误包括胡编、过度自信、忽略边界条件和把相关性说成因果关系。多角色结构可以让这些错误更早暴露出来。但它也有明显限制:如果所有角色使用同一批有问题的数据,或者共享同一个未经审查的错误假设,那么多个模型只会把同一个错误重复得更加完整。
所以,多智能体的核心不是“让模型互相说服”,而是让它们承担不同的审查责任。一个好的流程应该允许某个角色明确提出否定意见,也应该保留人工推翻模型结论的权力。
检索增强的价值,在于让模型面对可追溯的材料
检索增强,也就是常说的 RAG,通常被描述为给模型接入一个外部知识库。对于量化研究来说,这个知识库可以包括公司内部的研究笔记、因子定义、历史实验记录、数据字典、行情事件库和风险规则。
它的意义并不是让模型“知道更多”,而是让模型的回答尽量建立在可以追溯的材料上。
当研究者询问某个因子是否已经被测试过时,模型可以先检索已有实验记录,而不是重新生成一个听起来合理的答案。当研究者提出一个新因子时,模型可以检查它与已有因子是否高度重复,是否只是在换一种命名方式。对于大型研究团队来说,这种能力可能比“生成一个新策略”更有价值,因为大量研究资源其实浪费在重复劳动、文档缺失和知识无法复用上。
当然,检索增强并不会自动消除时间污染。知识库必须保留文档的生效时间和可用时间,检索过程也要根据研究时点进行截断。如果把完整的历史研究报告交给模型,再让它模拟更早时期的研究决策,未来信息仍然会通过知识库进入测试。
生成数据可以扩展场景,但不能制造事实
在历史样本不足的极端行情或新品种上,研究者有时会使用生成模型构造模拟数据,用来测试策略在压力场景下的表现。
这类数据的价值,更接近于压力测试,而不是事实补充。它可以帮助我们提出一些问题:如果波动突然扩大,策略是否会频繁换仓?如果相关性在短时间内上升,组合风险是否会集中?如果流动性下降,原本的执行假设是否还成立?
但模拟数据不能证明真实市场一定会按照某种方式运行。它来自模型对历史分布的学习,也继承了建模者对市场的假设。生成出来的极端行情可能过于温和,也可能只是重复了已有样本里的模式。尤其当我们用生成数据训练策略、再用相似的生成数据测试策略时,结果会比真实市场更加乐观。
因此,模拟数据适合用来发现脆弱点,不适合用来替代真实历史。它能告诉我们“策略可能在哪里坏掉”,却不能告诉我们“策略未来一定有效”。
这三个方向的共同特点是:大模型没有被赋予“做决定”的权力,它始终在做“提建议”和“做苦力”的事。
最终的判断权、风险敞口的开关、是否上实盘的最后一道门,仍然在人手里。这是一种对工具的清醒使用方式——不神化它,也不浪费它。
防范过拟合与 Alpha 衰减:构建AI辅助策略的实盘验证逻辑
哪怕有了上面这些工程化的辅助,有一个老问题依然不会消失:过拟合。
一个因子、一个策略,只要参数足够多、调得足够细,几乎可以在任何一段历史数据上跑出漂亮的曲线。大模型的加入,让这种“在历史里挖金子”的效率变得更高,但同时也让过拟合变得更隐蔽、更体面。
它可以快速提出几十种因子组合,自动替换窗口长度、阈值和过滤条件,还能把每次调整都写成一段听起来合理的解释。研究者面对的就不再是“有没有办法让曲线变好”,而是“我们究竟尝试过多少种曲线,最后只看中了这一条”。
一个由大模型生成的复杂因子组合,可能比我们自己手写的因子更好看,但并不一定比手写的因子更真。
先定义研究边界,再让模型开始搜索
使用大模型做策略研究时,最容易犯的错误,是一开始就让它“尽可能寻找高收益方案”。这种目标会把模型和研究者一起推向复杂化:加入更多指标、更多过滤条件、更灵活的仓位规则,直到历史曲线满意为止。
更稳妥的做法,是先限定研究空间:
- 允许使用哪些数据,哪些数据明确禁止使用;
- 信号的形成频率是什么,交易能否在下一个可交易时点完成;
- 策略最多允许多少个核心参数;
- 是否允许做空,是否允许使用杠杆;
- 单个品种、单个行业和整个组合的风险上限如何定义;
- 交易成本采用什么假设,哪些极端情况必须单独测试;
- 什么结果会导致研究直接停止,而不是继续调参。
这些限制看起来像是在降低模型的发挥空间,实际上是在保护研究过程。没有边界的搜索,很容易把偶然性误认为创造力。
样本外不是报告里的一个栏目
永远留出独立的样本外区间,是最基本也最容易被破坏的一步。在研究阶段,可以把一部分历史数据用于构建和调整模型,另一部分数据只用于最终验证。关键不在于具体切成什么比例,而在于最终验证数据是否真正没有参与决策。
只要研究者看过最终曲线,并据此修改了参数、替换了因子或改变了策略取舍,这部分数据就已经失去了独立性。把它重新命名为“最终样本外”,并不能恢复它原来的意义。
滚动训练与跨周期检验也同样重要。把研究期切成多个连续区间,每一段用前面的数据训练或选择参数,再在后面的区间验证,能够帮助我们观察策略是否只在某一种市场环境中有效。
一个只在单边上涨阶段表现良好的因子,可能只是趋势暴露;一个只在高波动阶段有效的策略,可能只是承担了流动性或尾部风险。我们不一定要求策略在所有周期里都赚钱,但至少要知道它依赖什么,又会在什么地方失效。
成本假设要接近不舒服,而不是接近好看
回测中的手续费、滑点和冲击成本,不能只是为了让报告更完整而填进去的数字。
不同品种、不同交易时段、不同订单规模和不同市场状态下,实际成交条件并不相同。高换手策略尤其容易受到成本影响:当信号本身的优势很薄时,成本不是扣掉一点利润,而是可能直接改变策略的方向。
因此,成本测试至少应该包含多种情景。除了一个相对中性的假设,还可以加入更不利的成交条件,观察策略是否会迅速失去全部优势。对期货策略,还要单独检查换月方式、合约流动性和交易时段;对股票策略,则要注意涨跌停、停牌、复权处理和无法按回测价格成交的情况。
如果一个策略只有在最理想的成交假设下才成立,那么它成立的可能性通常比回测报告暗示的要低。
观察策略行为,而不只是观察收益曲线
收益、波动和最大回撤当然重要,但它们不足以说明一个策略是否可靠。我们还需要观察策略是如何赚钱的。
例如,收益是否集中在少数几笔交易?主要利润来自某一个行业或某一类品种吗?换手率是否会在波动扩大时突然失控?策略的持仓是否经常集中在同一种风险暴露上?当市场跳空或流动性下降时,止损规则是否仍然可以执行?
可以把策略拆成不同的市场状态来观察:上涨、下跌、震荡,高波动、低波动,流动性充足和流动性收缩。这样做并不是为了让策略在每一个状态里都表现完美,而是为了知道它的收益从哪里来,风险又会在哪些地方聚集。
大模型很适合帮助我们自动生成这些分析报告,但报告本身不是结论。它只是把问题摆得更整齐,最后仍然需要研究者判断哪些现象是稳定特征,哪些只是偶然。
实盘验证是研究的一部分,不是最后的庆功仪式
从回测直接跳到大规模实盘,是最危险的一步。更稳妥的过程应该包含模拟交易、影子运行和小规模资金验证。
在不承担真实资金风险的情况下,先让策略按照真实时间接收数据、生成信号并记录本应发生的成交,可以暴露许多回测里看不到的问题:数据是否按时到达,信号是否重复计算,订单是否因为价格限制无法成交,策略是否在换月或停牌时出现异常。
随后,即使进入实盘,也不代表策略已经被证明。实盘初期更像是工程验收和行为观察,需要确认实际成交、延迟、换手和风险暴露是否与研究阶段的假设一致。资金规模也应该与策略的流动性和个人能够承受的损失相匹配,而不是因为回测漂亮就迅速放大。
我想分享几条在和大模型协作时反复有用的习惯:
1. 让模型先写测试,再写策略代码。
例如明确检查滚动窗口是否使用未来数据、输入为空时如何处理、停牌或缺失行情如何处理、信号在交易日切换时是否重复触发。先写测试,会迫使研究者把隐含假设说清楚。
2. 要求模型列出策略不成立的条件。
不要只让它解释为什么有效,也要让它主动寻找失效场景。一个只会为策略辩护的助手,越聪明越危险。
3. 限制参数数量和试验次数。
每增加一个参数,就增加了一次把噪声解释成规律的机会。把实验记录保存下来,不能只保留最终表现最好的一版。
4. 把手续费、滑点和冲击成本做偏悲观假设。
如果在较差的交易条件下仍然能够保持合理的风险收益特征,策略才有进一步验证的价值。
5. 记录每一次决策时的心理状态。
我们什么时候因为焦虑而多调了一次参数?什么时候因为一个漂亮回测而舍不得推翻?这部分日记,可能比回测报告本身更能保护我们。
最后一条看起来不像“量化”,但它可能是最容易被忽略、也最关键的一条。工具越聪明,我们越要花时间照看自己内心的边界。过拟合不只是模型的问题,也是研究者自己的问题——我们对一个漂亮数字的执念,本身就是一种需要被识别的过拟合。
Alpha会衰减,真正要管理的是策略的生命周期
即便一个策略没有严重过拟合,它也会随着时间推移而衰减。
原因可能是因子拥挤:当一个有效因子被越来越多的资金发现和使用,它的超额收益会被竞争削弱。也可能是市场制度、参与者结构和交易成本发生变化,使过去成立的逻辑不再处于同样的环境里。还有一些策略只是依赖某种特殊时期的宏观背景,当背景消失之后,策略的表现自然会回归。
大模型可以帮助我们监控策略的变化,但不能替我们定义“衰减”意味着什么。
一个策略短期回撤,并不一定说明它已经失效;一个策略短期继续盈利,也不一定说明它仍然拥有原来的优势。更值得观察的是:
- 信号与未来收益之间的关系是否持续减弱;
- 换手和成交成本是否逐渐上升;
- 收益是否越来越集中在少数交易或少数资产;
- 原本分散的因子暴露是否开始趋同;
- 实盘表现与回测假设之间的偏差是否持续扩大。
如果研究者只盯着净值曲线,很容易在策略已经发生结构变化之后才意识到问题。相反,持续监控信号质量、风险暴露和执行差异,才能更早发现 Alpha 衰减的迹象。
这里也有一个容易被模型放大的误区:一旦策略表现变差,我们会本能地让大模型重新优化。它很快就能找到一套新参数,让历史曲线重新变好。但这可能只是又一次把旧策略的衰减,包装成新策略的诞生。
有时候,正确的动作不是修复策略,而是承认它已经完成了自己的生命周期。
边界感,是这一代人做量化的底色
大模型很强大,但它的强大是“延伸我们”的那种强大,而不是“替代我们”的那种强大。
它能帮我们更快地写一段代码,更广地扫一遍文本,更系统地搭一个研究框架;它能把散落在笔记、数据和实验记录里的信息重新组织起来,也能在我们忽略某个边界条件时提醒一句。
但它没办法替我们承担亏损后的失眠,没办法替我们在深夜里和自己和解,更没办法替我们识别出“这次不一样”背后,其实藏着我们对“这次能不一样”的渴望。
回到最初那个问题——AI写量化交易策略靠谱吗?
我的回答是:把它当成一位耐心的、博学的、但终究只是工具的朋友,是靠谱的;把它当成一位能预知市场的预言家,是不靠谱的。
这两者之间的距离,就是我们要守住的边界。
如果把大模型用在代码实现、资料整理、假设拆解、风险审查和实验复盘上,它会让量化研究变得更快,也可能让一些原本没有足够工程能力的人更容易开始。但“更容易开始”不等于“更容易盈利”。门槛下降之后,公开知识的重复也会变得更多,策略同质化和过拟合的风险反而可能上升。
真正值得花时间修炼的,从来不是某个模型的提示词技巧,而是我们自己面对不确定市场时,那份愿意承认“我不知道”、愿意为每一次决策负责、愿意在亏损之后重新检查假设的力量。
工具可以替我们减少重复劳动,却不能替我们承担判断的后果。代码可以自动生成,研究流程可以自动编排,报告可以自动写成,但从数据是否真实可用,到策略是否值得进入下一阶段,最后那一次停下来、重新问一句“这是不是我想看到的答案”,仍然需要人来完成。
愿我们都能在夜盘的灯火里,慢慢长出这份力量。
Related reading: 量化策略的终极博弈:为什么高质量数据比复杂算法更决定成败.
