ChatGPT与研报文本情绪的碰撞 ——量化研究系列报告之十一 金融工程 专题报告 报告日期:2023-08-14 主要观点: 分析师:骆昱杉 执业证书号:S0010522110001邮箱:luoyushan@hazq.com 分析师:严佳炜 执业证书号:S0010520070001邮箱:yanjw@hazq.com 相关报告 1.《股价和资金流间的引力和斥力— —量化基本面系列报告之十》2023-06-12 2.《可比公司法的量化实践:重塑价值因子——量化基本面系列报告之九》2023-03-12 3.《寻找选股策略与行业轮动策略的“舒适区”——量化基本面系列报告之八》2023-03-10 4.《个股alpha与行业beta的双剑合璧——量化基本面系列报告之七》2022-11-23 5.《震荡行情下,如何挑选估值合理、成长性强的“宝藏股”?——量化基本面系列报告之六》2021-12-07 本篇报告探讨ChatGPT在金融文本中的应用,使用ChatGPT对分析师点评标题进行情感评分,验证了其在金融文本情绪评分方面的优越性和实用价值。 使用ChatGPT对分析师点评标题进行情感评分 本文将使用ChatGPT分析卖方分析师对公司盈余公告点评标题中的情感态度,探讨其在金融文本分析领域的潜力。我们通过适当的提示、模型设置和调用策略,提升模型回复的准确性和模型使用的性价比。从ChatGPT对标题情感的评分与解释看,ChatGPT在情感分析上表现卓越,能够准确、连续地评分,并精确捕捉关键情感信息,明显优于传统模型如BERT。 GPT评分刻画的“超预期”确能带来收益增量 我们分别尝试了使用文本方式和ChatGPT评分的方式对“超预期”进行刻画。实证表明,ChatGPT对于高评分的股票确实具有良好的收益预测能力,证实了其在金融文本评分方面的优越性和实用价值。与文本分析方法相比,通过ChatGPT评分筛选出的“GPT超预期”股票池数量更多,但其整体收益表现更为出色。此外,盈余跳空因子JOR在全样本、GPT超预期和文本超预期的样本空间中的表现也表明,无论从因子本身还是优选组合的表现,GPT超预期样本空间下的JOR因子有显著收益增量,在超预期Beta本身失效的近两年尤为突出。 GPT评分因子,新型另类因子 本文基于ChatGPT评分构建了“GPT评分因子”,包括等权、指数衰减加权和GPT评分波动因子,这些因子可认为是新型另类因子。理论上,分析师对盈余的评论主要是文字描述,很少涉及具体的数值数据,构造的因子的预测能力难以达到很高的水平。但其在中证500指数域中仍然显示出了一定的选股能力,2017-2023.06.30,GPT合成因子的RankIC为3.6%,多头年化超额为9.3%,多头组合每年均为正超额,近三年超额分别为7.04%、17.09%和2.96%。 风险提示 量化模型基于历史数据,过去的回测业绩不代表未来;量化模型本身存在失效的风险。 敬请参阅末页重要声明及评级说明证券研究报告 正文目录 1CHATGPT:金融本文情绪分析的新篇章5 2如何使用CHATGPT对点评标题进行情感评分?6 2.1模型输出的一致性:系统提示与模型设置7 2.1.1“提示”是ChatGPT执行任务的起点7 2.1.2优化ChatGPT回复质量,调整输出随机性8 2.2批量请求以提升模型调用效率9 2.3CHATGPT评分的合理性与连续性10 2.4BERT情感分析较难适应“研报标题”场景10 3GPT评分视角下的“超预期”刻画12 3.1“文本超预期”的刻画13 3.2“GPT超预期”的刻画13 3.3GPT评分刻画的超预期是否能带来增量?16 3.3.1超预期样本池的表现16 3.3.2超预期样本空间下的JOR因子17 3.3.3超预期JOR因子测试19 3.3.4超预期JOR组合构建20 4透视GPT评分,挖掘新型另类因子22 4.1全域中GPT评分因子的表现23 4.2指数域中GPT评分因子的表现26 5总结27 风险提示:28 图表目录 图表1CHATGPT的训练过程5 图表2OPENAICHATCOMPLETIONS请求示例6 图表3OPENAICHATCOMPLETIONS回复示例6 图表4公司研究类的分析师研报数量6 图表5CHATGPT情绪评分的提示7 图表6OPENAI模型的TOKEN数8 图表7CHATGPTPLAYGROUND提问示例8 图表8API接口成本与耗时:逐个请求9 图表9批量请求模板9 图表10CHATGPT情绪评分示例110 图表11CHATGPT情绪评分示例210 图表12BERT研报标题情感分析流程图11 图表13BERT研报标题情感分析结果12 图表14“盈余点评”样本的年度分布情况12 图表15“盈余点评”样本的月度分布情况12 图表16“文本超预期”样本的年度分布情况13 图表17“文本超预期”样本的月度分布情况13 图表18CHATGPT对“超预期”主体判别能力较强14 图表19CHATGPT具备上下文语义理解能力和逻辑能力14 图表20CHATGPT对盈余点评评分的分布图15 图表21标题不含“超预期”的“GPT超预期”样本示例15 图表22“GPT”与“文本”超预期样本的年度分布情况16 图表23“GPT”与“文本”超预期样本的月度分布情况16 图表24超预期样本池数量16 图表25超预期样本池的收益指标17 图表26超预期样本池的分年度收益17 图表27JOR_DELAY40因子的构造逻辑举例18 图表28超预期JOR因子列表18 图表29超预期JOR因子的覆盖度(DELAY40)18 图表30超预期JOR因子的覆盖度(DELAY60)18 图表31超预期JOR因子的分组数设置19 图表32超预期JOR因子的单因子测试结果19 图表33超预期JOR因子的RANKIC序列20 图表34不同样本空间下JOR因子的分组年化收益(%)20 图表35超预期JOR因子的多空净值曲线20 图表36不同样本空间下JOR的多头分年度收益(%)20 图表37优选50等权组合的指标21 图表38优选50等权组合净值曲线21 图表39优选50等权组合分年度收益21 图表40优选100等权组合的指标21 图表41优选100等权组合净值曲线21 图表42优选100等权组合分年度收益22 图表43指数衰减加权的权重计算举例23 图表44指数衰减加权的权重示意图23 图表45GPT评分因子及释义23 图表46GPT等权因子在全A的覆盖度(%)24 图表47GPT评分因子检测结果(全A,10组)24 图表48GPT评分因子检测结果(全A,10组)25 图表49GPT_AVGRECORD的IC序列(全A)25 图表50GPT_AVGRECORD分组收益(全A,10组)25 图表51GPT因子多头分年度收益(全A,10组)25 图表52GPT因子多空净值曲线(全A,10组)25 图表53GPT评分因子(非行业市值中性化)检测结果(全A,10组)26 图表54GPT评分因子检测结果(沪深300,5组)26 图表55GPT评分因子检测结果(中证500,5组)27 图表56GPT合成因子的IC序列(中证500)27 图表57GPT合成因子分组收益(中证500,5组)27 图表58GPT合成因子多头分年度收益(中证500,5组)27 图表59GPT合成因子多空净值曲线(中证500,5组)27 1ChatGPT:金融本文情绪分析的新篇章 ChatGPT是OpenAI基于GPT3.5(GenerativePre-trainedTransformer3.5)架构推出的大语言模型,于2022年11月30日发布。该模型在大量文本数据语料库上进行深度训练,旨在深入掌握自然语言的细微结构与复杂模式,被誉为“自然语言处理史上最强的模型”。 ChatGPT3.5是目前公开免费的最新版本,问世以来,在全球范围内备受欢迎,在各个领域都有着广泛的应用,如文本翻译、摘要提取、问题回答、信息补全和情感分析等各种语言任务。相比较于GPT-3.5,GPT-4在准确性、创意文本生成、结构化写作、交互式文本生成和程序生成方面有更强的能力。 ChatGPT的关键能力来自三个方面:强大的基座大模型能力(InstructGPT), 高质量的真实数据(干净且丰富),强化学习(PPO算法)。首先,使用有监督学习 方式,基于GPT3.5微调训练一个初始模型,由标注师分别扮演用户和聊天机器人,产生人工精标的多轮对话数据。然后,收集相同上文下,根据回复质量进行排序的数据,从比较中学习可以给出相对精确的奖励值(RewardModel),使得ChatGPT从命令驱动转向了意图驱动,不断引导GPT说人类要他说的。最后,使用PPO强化学习策略来微调第一阶段的模型,随机抽取新的Prompt,用第二阶段的RewardModel对产生的回答打分,再将此reward回传,进而反向更新PPO模型参数,直到模型收敛。 图表1ChatGPT的训练过程 资料来源:腾讯技术工程,华安证券研究所 ChatGPT是基于先进的Transformer网络结构,并经历了严格的训练过程,其结果更趋近于人类的语言表达模式。与传统的情感分析模型(如Bert)相比,它能够更深入地解析语境中的语义和情境,这使得ChatGPT在情感分析上的表现较传统情感分析模型有更好的表现。然而,尽管ChatGPT在常规的文本处理任务上表现卓越,但它并没有专门为金融领域的数据和场景进行优化。因此,在预测股票收益或提供金融建议方面,它的应用仍然相对较少。为了进一步探索其在金融领域的可能性,本文利用ChatGPT对分析师研报的标题进行情感态度分析,并与其他主流的情感 分析方法进行对比,旨在深入挖掘ChatGPT在金融领域中的价值及其存在的挑战。目前OpenAI官方已公开了多个模型的API,包括gpt-3.5、gpt-4的多个参数版 本,用户可通过Python调用模型接口进行对话任务。由于在本报告撰写之时,gpt-4API并未公开,因此我们选择了目前最稳定的版本——gpt-3.5-turbo。我们只需通过PythonAPI接口调用模型(chat.completions),输入对话请求任务,接口便可返回回复。图表2和图表3是官方给出的基于gpt-3.5-turbo的对话问答示例。 图表2OpenAIchatcompletions请求示例图表3OpenAIchatcompletions回复示例 资料来源:OpenAI,华安证券研究所资料来源:OpenAI,华安证券研究所 2如何使用ChatGPT对点评标题进行情感评 分? 本文依托万得底层数据库中的“中国A股盈利预测明细(AShareEarningEst)”表,筛选了标记为“公司研究”的研报标题,进行情感打分分析。样本周期从2016.01.01–2023.06.30,累计涉及24万余条研报记录,每年的研报发布数量大约 维持在2.5万条,近两年研报记录呈现出显著增长的态势。 图表4公司研究类的分析师研报数量 资料来源:wind资讯,华安证券研究所 虽然ChatGPT模型的原始训练数据截至到了2021年9月,与我们的样本周期存在重叠,但我们的研究重点是对研报标题的情绪进行评分,并不是简单地回答特定问题,因此不会产生“应试”的问题。更重要的是,我们可以根据实际需求调整和定义自己的情感评分标准,使其更符合研究目标。所以,即使我们使用的数据部分包含在ChatGPT的训练周期内,也不会造成“泄题”的状况。 2.1模型输出的一致性:系统提示与模型设置 2.1.1“提示”是ChatGPT执行任务的起点 "提示"在ChatGPT中起到至关重要的作用,它能够帮助模型准确理解用户的需求,并为特定的任务提供恰当的答案。这就像为模型设定了一个明确的场景或上下文,使其在这个上下文中进行合适的回应。因此,正确的“提示”确实是驱动ChatGPT产生满足用户期望的答案的关键。本