☰
ChatGPT辅助量化选股因子挖掘:从提示工程到策略构建的实战指南
2026/10/18 10:40:50 网站建设 项目流程

简介:这份国金证券金融工程专题报告聚焦ChatGPT在量化选股中的实战应用,面向量化研究员、因子挖掘从业者及对AI辅助投研感兴趣的进阶读者。报告系统梳理了ChatGPT的模型原理、RLHF训练流程与提示工程技巧,并重点展示因子挖掘实战:从周频价量变异系数因子到高频买卖盘力量因子,其中卖盘力量因子日频多头年化超额收益达17.29%,降至周频后仍保持9.77%至10.20%,据此构建的中证1000指数增强策略在单边千分之二费率下年化超额收益7.17%、信息比率0.57。资源为1个PDF文件,压缩包约2.16MB,完整保留模型介绍、提示公式、思维链提示、因子测试与代码输出测试等章节及图表目录。目前已有248人学习,适合希望掌握提示工程、将大语言模型落地于因子构建与策略回测的读者参考,同时需留意模型随机性与历史回测的失效风险。

1. 当量化研究员开始和AI聊天:一份报告引出的新思路

你可能听过这样一种说法:未来的量化研究员,日常工作不是写代码,而是“跟AI聊天”。听起来像玄学,但背后其实是一套正在成形的工程方法。这份资料围绕一个核心问题展开——能不能让大语言模型帮我们挖掘选股因子?它给出的答案是:可以,但需要技巧。通俗地说,ChatGPT就像一个读过海量文本的实习生,知识面极广,但不懂你所在机构的内部规矩,你得把需求拆细、把边界划清,它才能交出靠谱的活儿。这份报告用真实的因子测试数据,把“怎么问”和“问出来之后怎么验证”这两件事讲透了,对想了解AI辅助量化研究的人来说,是一份难得的实战记录。

2. 大语言模型为什么能“听懂”选股这件事

2.1 从预测下一个词到理解上下文

GPT的全称是Generative Pre-trained Transformer,直译过来就是“生成式预训练变换器”。它的基本功很简单:给它一段话,它预测下一个词最可能是什么。听起来没什么了不起,但当你用海量文本反复训练它之后,它开始“涌现”出一些意料之外的能力——能翻译、能写邮件、能写代码,甚至能根据你的描述给出一个选股因子的构建思路。

这背后的关键转折发生在2017年。在此之前,处理文本序列的主流模型是LSTM,它有两个硬伤:一是没法区分一句话里哪些词更重要,二是记不住长距离的信息,读到后面忘了前面。打个比方,LSTM像一个逐字阅读的人,读到第100个字时,前50个字讲了什么已经模糊了。而Transformer引入了自注意力机制,相当于给每个词发了一张“重要性打分表”,让模型在处理某个词时,能同时“看到”句子里所有其他词,并判断谁跟谁关系更近。这一下就把长距离信息丢失的问题解决了。

从GPT-1的1.17亿参数,到GPT-2的15亿,再到GPT-3的1750亿,参数量的跃升带来了能力的质变。到了GPT-4,输入不再局限于文字,还能读图,理解复杂问题的准确性和洞察力也明显上了一个台阶。这份资料里提到的ChatGPT,正是基于GPT-3.5架构的千亿参数模型,它之所以能进行连续对话、综合上下文来交流,根源就在于Transformer架构对上下文关系的捕捉能力。

2.2 RLHF:让模型学会“说人话”的关键一步

光有海量参数还不够。一个只会预测下一个词的模型,可能会生成语法正确但毫无用处的内容。ChatGPT之所以让人觉得“懂我”,是因为它额外经历了一个叫RLHF的训练阶段,全称是“基于人类反馈的强化学习”。

这个过程分三步走。第一步,聘请标注人员对大量指令进行标注,然后用这些标注数据对模型做微调,让它初步理解“什么样的回答是好的”。第二步,让模型对同一个问题生成多个不同回答,标注员对这些回答按好坏排序,再用这些排序结果训练一个“打分模型”——你可以把它理解成一个自动裁判,专门给模型的输出打分。第三步,用这个打分模型去优化主模型,让它的输出越来越贴近人类偏好的方向。

通俗地说,RLHF就像给一个天赋极高但不懂人情世故的学霸请了一位社交教练。学霸本身知识储备足够,但不知道什么场合该说什么话,教练通过不断反馈“这个回答太生硬”“那个回答更得体”,慢慢把它调教得既聪明又得体。正是这一步,让ChatGPT的输出开始接近人类的常识和认知习惯。

2.3 提示工程:你和模型之间的翻译器

模型再强,你问得不对,它也答不好。提示工程就是研究“怎么问”的学问。最基本的提示公式包含三个要素:角色、任务、指令。格式大致是“作为一个【角色】,按照这些指示生成【任务】:【指令】”。

举个例子,如果你直接问“给我一个选股因子”,模型可能给出一个泛泛而谈的答案。但如果你说“作为一名资深的量化研究员,请给出一个你认为行之有效的选股因子,该因子必须具有原创性、有逻辑支撑、且在历史回测中有出色表现”,模型给出的答案就会具体得多。这份资料里的测试表明,经过详细限制后,模型不仅能正确使用逐笔成交数据中的字段,还能根据提示中的约束条件,给出用均值计算将因子降频的操作。

除了标准公式,还有一种叫思维链提示的方法值得注意。它的思路是让模型“一步一步想”,把复杂问题拆成多个步骤来推理。比如在改进IC指标的计算方式时,直接问模型“IC有什么改进方式”,它给不出有针对性的回答;但通过分步引导,先让它意识到IC指标在多头组合表现上的盲区,再提示A股做空受限的现实,它最终能给出“给做多组赋予更高权重”的加权IC方案。这就像教一个新人做研究,你不能指望他一步到位,但你可以引导他沿着正确的思考路径走。

3. 用ChatGPT挖因子:从对话到策略的完整链路

3.1 中低频尝试:变异系数因子的表现与局限

这份资料首先在中低频维度上做了测试,让ChatGPT基于量价数据给出原创因子。模型给出的方案是:分别计算收盘价的变异系数和成交量的变异系数,再相乘得到一个综合因子。变异系数本身不难理解,就是标准差除以均值,衡量的是相对波动程度。价格变异系数反映波动性,成交量变异系数反映流动性,两者相乘相当于把两个维度的信息揉在一起。

研究团队在此基础上做了变形,把相乘改成相除,得到一个新的因子。然后在2016年至2022年8月的中证1000成份股上做周度调仓测试。从IC指标看,四个因子的T值都大于2,IC均值从2.79%到5.36%不等,统计上是显著的。但问题出在多空组合的表现上:虽然多空净值曲线走势平稳,但多头组合的年化超额收益并不理想,最高的一个因子也只有2.75%。换句话说,因子能区分出好坏股票,但真正做多那部分赚不到什么超额收益,单调性不够明显,很难直接拿来构建投资策略。

这个结果其实挺有代表性。很多因子在IC指标上看起来不错,但一到实盘就翻车,原因就在于IC衡量的是整体排序相关性,而实际投资只关心多头组的表现。这也是后面思维链提示要解决的核心问题之一。

3.2 高频突破:买卖盘力量因子的构建逻辑

中低频效果一般,研究团队把目光转向了高频数据。高频数据里有一些中低频看不到的字段,比如委托价和委托量,这些信息反映了市场参与者的真实意图。他们限定ChatGPT只能使用委托价和委托量来构建因子,并要求有一定的原创性。

经过引导,模型给出了买卖盘力量因子的思路。具体构建方式是这样的:先计算买盘力量,用买入委托量乘以一个价格偏离因子,这个偏离因子衡量的是买入委托价相对于市场均价的位置;再计算卖盘力量,用卖出委托量乘以卖出委托价相对于均价的偏离;最后把两者结合,得到一个买卖盘力量差异因子,并做了标准化处理以保证横截面可比。

用公式表示就是:

# 买盘力量:委托量越大、委托价越高于均价,买盘力量越强 BForce = BVol * (1 - price_bid / price_avg) # 卖盘力量:委托量越大、委托价越低于均价,卖盘力量越强 SForce = SVol * (price_ask / price_avg - 1) # 买卖盘力量差异:标准化后衡量买卖双方力量失衡程度 BSForce = (BForce - SForce) / (BForce + SForce)

这里的逻辑很直观:如果买盘委托量很大,而且委托价普遍高于市场均价,说明买方愿意出更高的价格来成交,买盘力量强;反过来,如果卖盘委托量很大且委托价低于均价,说明卖方急于出手,卖盘力量强。两者相减再除以总和,就得到了一个标准化的力量差异指标。

日频测试的结果相当亮眼。买卖盘力量差异因子的IC均值为1.13%,T统计量达到7.00,多空组合的年化收益率37%,夏普比率4.51,多头年化超额收益率17.29%。这个表现比中低频的变异系数因子好了一个量级。但有一个致命问题:因子衰减太快,到第二天基本就失效了。日频调仓意味着每天都要换仓,交易成本会吃掉大部分收益,实际投资中很难落地。

3.3 降频与策略构建:从日频到周频的取舍

为了符合交易实际,研究团队把因子降到周频来测试。降频之后,买卖盘力量差异因子因为衰减太快,基本没什么效果了,所以只保留了买盘力量因子和卖盘力量因子。周频测试的结果是:因子整体多空单调性一般,但多头组合表现尚可,买盘力量因子和卖盘力量因子的多头年化超额收益率分别为9.77%和10.20%。

最终,他们用表现相对较好的卖盘力量因子构建了中证1000指数增强策略。在单边千分之二的手续费率下,策略的年化超额收益率为7.17%,信息比率0.57。这个结果算不上惊艳,但考虑到这是模型在有限提示下自主给出的因子,而且经过了从日频到周频的降频调整,已经展示出了一定的实用价值。

值得注意的是,这份资料还测试了ChatGPT的代码能力。对于常用的量化研究框架和函数,模型能比较准确地给出结果,但使用时需要注意代码细节,确保符合实际需求。对模型给出的代码进行微调,可以大幅提升研究效率。这其实点出了一个关键:AI给的是草稿,不是成品,人的判断和修正仍然是不可或缺的环节。

4. 提示工程里的常见误区:别把AI当搜索引擎用

4.1 误区一:提示越短越好,让模型自由发挥

很多人第一次用ChatGPT时,习惯像搜引擎一样丢几个关键词进去,期待它给出完美答案。但在因子挖掘这类专业任务上,提示越短,模型越容易给出泛泛而谈的内容。这份资料里的对比很明显:直接问“给我一个选股因子”,得到的回答缺乏针对性;而把角色限定为“资深量化研究员”,把任务细化为“具有原创性、有逻辑支撑、有出色业绩表现”,再进一步限定数据范围和使用字段,模型给出的因子才真正可用。

区分方法很简单:如果你问完一个问题,得到的答案放到任何行业都说得通,那说明提示太泛了。好的提示应该让模型只能给出你想要的答案类型,而不是让它猜。

4.2 误区二:思维链提示就是让模型多写几步

思维链提示的核心不是“写得多”,而是“想得对”。它的价值在于引导模型把推理过程展开,让你能看到它在哪一步跑偏了,然后及时纠正。这份资料里改进IC指标的案例很典型:模型一开始给出的方案是“每组内分别计算IC再求均值”,逻辑上有漏洞;直接指出后,它才给出加权平均IC的方案;再提示A股做空受限,它才最终给出“给做多组更高权重”的正确答案。

如果你只是让模型“多写几步”,但没有在关键节点给予反馈和纠正,它可能会在错误的思路上越走越远。思维链提示更像是一种对话式的引导,而不是一次性指令。

4.3 误区三:模型给出的因子可以直接用

这份资料里有一个细节值得注意:模型给出的买卖盘力量因子,研究团队在构建时做了修正,对因子进行了标准化处理以保证横截面可比。模型给的原始公式在逻辑上合理,但直接拿来用会有问题。类似地,模型给出的代码也需要微调才能符合实际需求。

把AI当成一个能快速给出草稿的助手,而不是一个能直接交付成品的工具。它能在几秒钟内给你一个因子构建思路,但验证这个思路是否合理、是否需要修正、在实盘中是否有效,仍然需要人的判断。

4.4 误区四:IC高就等于因子好

这是量化研究里一个经典陷阱,也是这份资料用思维链提示专门讨论的问题。两个因子IC值分别为0.22和0.25,看起来后者更好,但分组看收益,IC低的那个因子多头表现反而更好,IC高的那个因子多头组表现最差。原因在于IC衡量的是整体排序相关性,它假设因子值和收益率在所有区间都是单调关系,但现实中可能只在某些区间有效。

区分方法就是看分组收益的单调性,尤其是多头组的表现。如果IC高但多头组收益不行,这个因子在实际投资中可能还不如IC低但多头组表现好的因子。这也是为什么研究团队最终选择用卖盘力量因子而不是买卖盘力量差异因子来构建策略——虽然后者日频IC更高,但衰减太快,降频后效果大打折扣。

4.5 误区五:模型回答有随机性,所以不可靠

ChatGPT确实有随机性,同样的提示可能给出不同的回答。这份资料在情感分析测试中也提到,当输入文本没有特别明确的情感词时,模型给出的结果会有一定的不确定性。但这不意味着它不可用,而是意味着你需要用正确的方式使用它。

应对随机性的方法不是弃用,而是交叉验证。同一个问题换几种问法,看模型给出的核心逻辑是否一致;对模型给出的因子构建方式,用历史数据做回测验证;对模型给出的代码,逐行检查关键逻辑。把AI的输出当作一个需要验证的假设,而不是一个可以直接采信的事实。

5. 什么时候该用AI挖因子,什么时候别碰

聊到这里,你可能已经对AI辅助因子挖掘有了一个基本判断。它不是一个万能工具,但在特定场景下确实能帮上忙。关键是要分清边界。

适合用的场景:当你需要快速生成因子构建的初始思路时,AI能在几秒内给出几个方向,帮你打开思路;当你需要把某个逻辑用代码实现时,AI能给出框架和函数,省去查文档的时间;当你需要检查自己的研究逻辑是否有漏洞时,用思维链提示引导AI逐步推理,能帮你发现自己忽略的细节。这份资料里的买卖盘力量因子就是一个典型例子:模型在限定数据范围后给出了一个原创性不错的构建方式,研究团队在此基础上修正和测试,最终做出了一个可用的策略。

不适合用的场景:当你需要保证因子在实盘中的稳定性时,不能直接采信模型给出的回测结果,因为模型本身不执行回测,它只是给出构建思路,真正的测试需要你自己用历史数据跑;当你需要处理复杂的多因子组合优化时,模型的输出需要大量人工调整,直接拿来用容易翻车;当你对某个因子的经济学逻辑没有把握时,不要因为模型说它“有逻辑支撑”就信了,模型的逻辑支撑可能只是文本上的自洽,和真实市场逻辑是两回事。

这份资料里有一个细节我印象很深:研究团队在用思维链提示改进IC指标时,模型一开始给出的方案有漏洞,直接指出后才得到正确答案。这说明AI更像一个反应快但需要监督的助手,它能帮你省去大量试错时间,但最终的判断责任仍然在你身上。

从那以后我每次用AI辅助研究,都强制走一遍“生成-质疑-验证”的流程:先让模型给出方案,然后自己找逻辑漏洞,最后用数据验证。这套流程走下来,效率确实比纯手工高,但省掉的只是体力活,脑力活一点没少。希望这份资料里的思路和案例,能帮你在自己的研究里找到合适的用法。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询