2023年量化研究系列报告之十一:ChatGPT与研报文本情绪的碰撞

  • 来源:华安证券
  • 发布时间:2023/08/17
  • 浏览次数:1040
  • 举报
相关深度报告REPORTS

量化研究系列报告之十一:ChatGPT与研报文本情绪的碰撞.pdf

量化研究系列报告之十一:ChatGPT与研报文本情绪的碰撞。本文将使用ChatGPT分析卖方分析师对公司盈余公告点评标题中的情感态度,探讨其在金融文本分析领域的潜力。我们通过适当的提示、模型设置和调用策略,提升模型回复的准确性和模型使用的性价比。从ChatGPT对标题情感的评分与解释看,ChatGPT在情感分析上表现卓越,能够准确、连续地评分,并精确捕捉关键情感信息,明显优于传统模型如BERT。GPT评分刻画的“超预期”确能带来收益增量我们分别尝试了使用文本方式和ChatGPT评分的方式对“超预期”进行刻画。实证表明,ChatGPT对于高评分的股...

1 ChatGPT:金融本文情绪分析的新篇章

ChatGPT 是 OpenAI 基于 GPT 3.5(Generative Pre-trained Transformer 3.5)架 构推出的大语言模型,于 2022 年 11 月 30 日发布。该模型在大量文本数据语料库 上进行深度训练,旨在深入掌握自然语言的细微结构与复杂模式,被誉为“自然语言 处理史上最强的模型”。 ChatGPT 3.5 是目前公开免费的最新版本,问世以来,在全球范围内备受欢迎, 在各个领域都有着广泛的应用,如文本翻译、摘要提取、问题回答、信息补全和情感 分析等各种语言任务。相比较于 GPT-3.5,GPT-4 在准确性、创意文本生成、结构 化写作、交互式文本生成和程序生成方面有更强的能力。

ChatGPT 的关键能力来自三个方面:强大的基座大模型能力(InstructGPT), 高质量的真实数据(干净且丰富),强化学习(PPO 算法)。首先,使用有监督学习 方式,基于 GPT3.5 微调训练一个初始模型,由标注师分别扮演用户和聊天机器人, 产生人工精标的多轮对话数据。然后,收集相同上文下,根据回复质量进行排序的数 据,从比较中学习可以给出相对精确的奖励值(Reward Model),使得 ChatGPT 从 命令驱动转向了意图驱动,不断引导 GPT 说人类要他说的。最后,使用 PPO 强化 学习策略来微调第一阶段的模型,随机抽取新的 Prompt,用第二阶段的 Reward Model 对产生的回答打分,再将此 reward 回传,进而反向更新 PPO 模型参数,直 到模型收敛。

ChatGPT 是基于先进的 Transformer 网络结构,并经历了严格的训练过程,其 结果更趋近于人类的语言表达模式。与传统的情感分析模型(如 Bert)相比,它能 够更深入地解析语境中的语义和情境,这使得 ChatGPT 在情感分析上的表现较传统 情感分析模型有更好的表现。然而,尽管 ChatGPT 在常规的文本处理任务上表现卓 越,但它并没有专门为金融领域的数据和场景进行优化。因此,在预测股票收益或提 供金融建议方面,它的应用仍然相对较少。为了进一步探索其在金融领域的可能性, 本文利用 ChatGPT 对分析师研报的标题进行情感态度分析,并与其他主流的情感分析方法进行对比,旨在深入挖掘 ChatGPT 在金融领域中的价值及其存在的挑战。 目前 OpenAI 官方已公开了多个模型的 API,包括 gpt-3.5、gpt-4 的多个参数版 本,用户可通过 Python 调用模型接口进行对话任务。由于在本报告撰写之时,gpt4 API 并未公开,因此我们选择了目前最稳定的版本——gpt-3.5-turbo。我们只需通 过 PythonAPI 接口调用模型(chat.completions),输入对话请求任务,接口便可返 回回复。

2 如何使用 ChatGPT 对点评标题进行情感评 分?

本文依托万得底层数据库中的“中国 A 股盈利预测明细(AShareEarningEst)” 表,筛选了标记为“公司研究”的研报标题,进行情感打分分析。样本周期从 2016.01.01 – 2023.06.30,累计涉及 24 万余条研报记录,每年的研报发布数量大约 维持在 2.5 万条,近两年研报记录呈现出显著增长的态势。

虽然 ChatGPT 模型的原始训练数据截至到了 2021 年 9 月,与我们的样本周期 存在重叠,但我们的研究重点是对研报标题的情绪进行评分,并不是简单地回答特 定问题,因此不会产生“应试”的问题。更重要的是,我们可以根据实际需求调整和定 义自己的情感评分标准,使其更符合研究目标。所以,即使我们使用的数据部分包含 在 ChatGPT 的训练周期内,也不会造成“泄题”的状况。

2.1 模型输出的一致性:系统提示与模型设置

2.1.1 “提示”是 ChatGPT 执行任务的起点

"提示"在 ChatGPT 中起到至关重要的作用,它能够帮助模型准确理解用户的需 求,并为特定的任务提供恰当的答案。这就像为模型设定了一个明确的场景或上下 文,使其在这个上下文中进行合适的回应。因此,正确的“提示”确实是驱动 ChatGPT 产生满足用户期望的答案的关键。本研究尝试将 ChatGPT 应用于金融领域,我们 的目标是让模型根据输入的大量的研报点评标题输出相应的情感得分,因此,需要 根据该场景设置提示内容。这里,我们增加了情绪评分的难度,要求 ChatGPT 给出 1-10 连续的分数,而非积极(+1)、消极(-1)、中性(0)这三种离散的结果。一方 面,分析师在撰写研报标题时,以中性乐观为主,很少在标题表露出消极的情绪,因 此如果只用+1、-1 和 0 很难具有区分性;另一方面,ChatGPT 基于真实数据训练, 对细微情感的差别的识别能力优于传统情感分析模型,能更精确的识别积极的程度。 特别说明:“5 分为中性” 与 “若业绩为不及预期、低于预期或类似明显消极的 词汇,应得低分(1-7)”,由于有的标题虽然有“不及预期”类似的消极词汇,但可能也 会有很积极的词汇,因此评分可能中性之上。整体看,分析师较少直接在标题直接写 “不及预期”类似的词汇,且 ChatGPT 对“不及预期”的标题评分整体较低。

然而,使用 OpenAI 模型时,模型对单次请求的单次输入问题和返回答案的总 长度有限制,以 TOKENS 形式计算。例如,gpt-3.5-turbo 的最大 token 数为 4096, 而 gpt-4 的限制则扩大到了 8192 个 tokens。值得注意的是,OpenAI 的 token 计数 并不等同于常规的单词数。对于英文,一个 token 基本上等同于一个单词,但对于 中文,情况就略有不同。模型可能会将单个中文字符或其拼音视为一个或多个 tokens, 因此中文文本的 token 数量往往高于其实际的字数。

2.1.2 优化 ChatGPT 回复质量,调整输出随机性

除此之外,很多人反馈,ChatGPT 在回复请求时,容易“一本正经的胡说八道”, 为了解决这个问题,除了上述“系统提示”之外,我们还可以通过设置模型的 “Temperature”指令,这个指令,用于控制 ChatGPT 生成文本的创造性和随机性, 当 Temperature 值很低时,模型会更加保守、稳定,并且生成的文本更加可预测。 反之,模型则会更加创新、大胆,并且生成的文本更加随机和多样。默认情况, Temperature 值为 1,本文,我们保守的将 Temperature 值设置为 0.5。

2.2 批量请求以提升模型调用效率

除了限制单次请求和回复的总 tokens 数外,OpenAI 还限定了 API 访问的 tokens-per-minute(TPM)和 requests-per-minute(RPM),gpt-3.5-turbo 的 TPM 为 90,000,RPM 为 3,500。成本上,gpt-3.5-turbo 的输入为$0.0015/1k tokens,输 出为$0.002/1k tokens。我们在 2.2 中设定的系统信息的 tokens 长度约为 600,标 题 tokens 范围为 20~60,回复的评分和理由的总 tokens 长度约 103,在我们的样 本期间,标题的总数量约 24 万条。 如果我们按照标题逐个循环进行请求,一个标题通过一条系统信息和标题作为 输入,回复评分和简要理由,理想情况,完成全部 24 万条的成本为¥2635 元,耗 时 3~6 天。

然而,在执行的时候会发现,存在以下问题: (1) 频繁访问接口,访问易被阻拦; (2) 由于总标题数量较多,而我们只需要评分的数值结果,对评分的解释的利 用率较低; (3) “系统提示”的内容较长,每次标题评分请求都输入系统提示耗时且存在 浪费。 综合上述问题,我们通过多次尝试,最后采用“批量请求+只返回评分结果”的 组合方式,经过多次试验发现,每次请求 15~20 条标题最优。具体而言, 每次输入为 1 条系统信息+20 条标题,输入标题的形式为“标题 N: 标题内容”,返 回为“标题 N:评分”。采用这种方式后,理想情况下,成本下降了 4/5,约 15 个小 时便能完成全部标题评分。 需要注意的是,在请求时,标题内容为“公司:标题内容”,需在标题前加上公 司名称,因为有少量标题内容中会提到其他公司,为了避免混淆,我们在标题内容前 加上公司名称;同时,为了避免“偷看”,我们在输入中并未输入点评日期。

2.3 ChatGPT 评分的合理性与连续性

总体上,ChatGPT 所提供 的情感评分及其解释与人类的直观感受高度一致,进一步强化了其可信度和说服力。 对于“长春高新:2019 年业绩预告大超预期,制药业务驱动未来高增长”的评分为 9.8 分,整体情绪非常积极,给出的理由也很符合直观理解;“威孚高科:高壁垒高 分红,四季度业绩有望扭转”的评分为 7.5,前半句偏积极,后半句识别出了“有望” 和“扭转”这种对未来预期的词;“长安汽车:拟转让长安 PSA 资产,减少亏损聚焦 主业”,整体评分为 6 分,精准提炼出了“拟”、“亏损”等词的情感态度,给了轻度 积极的评分。

2.4 BERT 情感分析较难适应“研报标题”场景

除了ChatGPT, BERT (Bidirectional Encoder Representations fromTransformers) 也是当下炙手可热的语言模型之一。理论上,由于 BERT 采用了双 向 Transformer 结构,使其能够同时考虑上下文信息,这种特性预期使其在情感分 析或自然语言理解 (NLU) 任务中表现更佳。因此,我们也尝试利用 BERT 模型对分 析师研究报告的标题进行情感评分。 然而,一大挑战在于许多高效的 BERT 模型是基于英文语料库进行训练的,这 导致它们在处理中文内容时的性能可能并不理想。例如,对于标题“新产能释放符合 预期,产业整合协同值得期待”,BERT 模型的输出结果错误地判断为负面情感,置 信度高达 0.9116。为了解决这一问题,我们首先将中文标题翻译为英文。接着,利 用 Hugging Face 平台上的预训练 BERT 模型对英文标题进行情感评估。BERT 模 型的输出结果为三种可能的情感:积极(+1)、消极(-1)和中性(0),并返回对应 的置信度(范围为 0~1)。

结果表明,当应用 BERT 模型于分析师研究报告标题的情感分析时,存在以下 挑战: (1) 离散情感值的局限性:与传统的情感分析模型相似,BERT 返回的是离散 的情感值,这限制了其能力在评估细微情感差异上的精度。 (2) 对细微情感表达的不敏感性:BERT 难以捕捉分析师使用的微妙、含蓄的 表达方式。例如,虽然“再超预期”和“大超预期”在直觉上显然比“超预期”和 “略超预期”更为积极,但模型的评分并不反映出这种差异。 对于“一季报业绩大超预期,5G 算力龙头持续发力”的标题,模型竟然返回 了负面情感。虽然,中文到英文的翻译过程中可能有细微差异,但对于明 显的情感态度,中译英出现错误的概率极低。 (3) 情感评估的逻辑不一致性:有时,模型给出的评分与我们的直观判断存在 冲突。以平安银行为例,尽管标题“净利润维持高增”明显带有正面情感, 但模型给出的置信度只有 0.5416。另外,“业绩超预期,零售业务利润率提 升”的标题得到的置信度竟然低于另一个标题,这进一步暴露了模型的不足。 总体来说,尽管 BERT 在许多 NLP 任务中展现了出色的性能,但在处理特定领 域,如分析师报告标题的情感分析时,它还是面临着一些挑战。

为什么会出现上述结果?我们猜想,可能是因为我们采用的 Bert 模型没有被精 细地调整过,没有充分发挥出模型的潜力,导致其输出的结果并不尽如人意。为验证 这一点,我们在多个精调版本的 Bert 模型上进行了试验,包括基于中文进行训练的 Bert 模型(如 hw2942/bert-base-chinese-finetuning-financial-news-sentiment)。结 果表明,不论使用哪一个版本的 Bert 模型,都难以完全避免我们在之前的结果中发 现的问题,且上述的 Bert 模型的整体性能已经相当出色。

3 GPT 评分视角下的“超预期”刻画

在前边,我们已经对所有分析师研报的公司研究类的标题进行了评分,记作 gpt_score。本章,我们将从实践出发,讨论通过_识别“超预期”个股和直 接使用文本的方式识别“超预期”个股的效果。 考虑分析师撰写盈余点评报告的时效性,我们仅纳入在 3 类盈余(预告、快报、 正式报告)公告 5 个交易日内的点评研报样本,称为“盈余点评”样本。整个样本 期间(2016-2023.6.30),约 25 万份分析师盈余点评样本,分布在 4、8、10 月份的 分数较多,也就是说在正式报告集中公布的月份的点评样本数较多。

3.1 “文本超预期”的刻画

文本形式的“超预期”是指分析师对公司盈余公告的点评标题中含有“超预期” 含义的样本,包含“略超预期”的样本。 一般而言,如果公司公告的盈余超过了分析师预期或者市场预期,点评的研报 标题往往会带有“超预期”字样。因此,我们定义如下规则来筛选“文本超预期”样 本: (1) 先对标题进行 jieba 分词,如“苏博特:业绩超预期,外加剂龙头高增长序 幕拉开”的 jieba 分词结果为“ '苏博特、:、业绩、超、预期、,、外加剂、 龙头、高、增长、序幕、拉开”。 (2) 设置必选词组限定“超预期”的样本,也就是说点评标题中需含有“超预 期”及类似含义的词组,如“超预计”、“超预期”、“超承诺”、“超预告上 限”、“由于预期”、“好于预期”、“高于预期”等等。必选词组 1 和 必选词 组 2 的“and”的关系。 必选词组 1 :预期、预计、承诺、预告上限、一致预期 ;必选词组 2 :超、超出、高于、好于、优于; (3) 设置屏蔽词组以排除期许未来超预期而非当下超预期的样本,如“料超预 期”、“有望超预期”、“或超预期”等。 屏蔽词组 :料、或、将、望、有望、可能、待。

3.2 “GPT 超预期”的刻画

在上一小节,我们通过文本本身是否含有超预期含义的关键词筛选出了“文本 超预期”样本,这是结合分析师撰写盈余点评报告的标题的特点,提炼出的很直观的 表述公司业绩是否超预期的一种方式。我们本意是想找出业绩超预期的公司,选择 分析师情绪为积极的公司,然而,分析师在写超预期的点评标题时描述方式多样,很 难有统一的规则去识别,导致会筛选出一些不符合我们需求甚至背道而驰得样本, 出现“存伪”错误。

场景 1:传统的文本识别法对“超预期”的主体把握不够精准。标题中均含有“超预期”字样,但描述的主体并非业绩或营收。标题 1、标题 2、标题 5 和标题 6 的超预期主体分别为“非经常损益”、“成本”、“自营下行”和就“价格竞 争”,都偏负面,如果采用传统的方法刻画,很容易划入“文本超预期”样本,然而, ChatGPT 都正确的识别出了,并给了较低的分数。标题 3 和标题 4 的超预期主体偏 正面,因此也给了较高的分数,并由于并非业绩超预期,分数低于 9 分,与前边的 系统提示相符。

场景 2:很多传统 NLP 方法对上下文语义的理解存在一定的局限性,如词袋模 型(Bow)仅仅考虑了词频,没有考虑上下文信息,因此会丢失大量语义,ChatGPT 基于真实数据训练,具备上下文语义理解能力和逻辑能力。标题都含有 “超预期”关键词,但结合整个句子看,全句的语义是积极+消极,违背“选择分析 师情绪为积极的公司”的大原则。文本刻画方法有失偏颇,分析 ChatGPT 的评分发 现,“消极+积极”组合的评分综合了两边的情绪,结果为中性偏积极,而并非给出 非常积极(>=9)的评分。

总结而言,在处理分析师盈余点评标题时,ChatGPT 在识别评价主体和对上下 文语义的理解较传统的文本方法更灵活可靠。从 ChatGPT 评分的分布图看,高分段 (9~10 分)的比例为 14%,超过 50%的标题的评分在 8~9 分之间,小于 5 分的比 例仅不到 6%,与分析师撰写报告标题的用词中性偏乐观相符。

最终,根据我们前边设定的“系统提示”,我们选择 GPT 评分大于 9 分的样本, 认为是“GPT 超预期”样本。观察筛选出的“GPT 超预期”样本,我们发现,含有 “超预期”类似词语且标题整体为较积极的样本基本被纳入了,但也选出了一些标 题并未出现“超预期”类似关键词的样本。

我们觉得,一方面,从主观逻辑看,这类词确实表明了分析师对公司业绩或未来 发展的看法非常积极,符合我们筛选“超预期”样本的初衷;另一方面,有可能是分 析师对公司营收的预期较高或者预测准确度高,虽然未超预期,但符合预期已经表 明了公司的投资价值。因此,我们统一将 GPT 评分大于 9 分的样本纳入“GPT 超 预期”样本。 观察期间,“GPT 超预期”样本共有 3 万份左右,超过“文本超预期”样本(约 2 万份),文本超预期样本/GPT 超预期样本的值为 2/3,即 67%,GPT 超预期样本 包含了 85%的文本超预期样本。分年度看,在绝大多数年份,文本超预期/GPT 超预 期的比值维持在 60%左右,年均值为 67%;分月度看,在超预期样本较多的月份, 文本超预期样本/GPT 超预期样本的比值为 60%+,样本较少月份两者的重合度较高。

3.3 GPT 评分刻画的超预期是否能带来增量?

前边从时序维度筛选出了“GPT 超预期”和“文本超预期”样本,接下来从截 面维度构造超预期样本池,并基于超预期样本池测试盈余跳空因子(JOR 因子)及 JOR 优选组合的表现。测试区间为 20170126 – 20230630,分别测试了以下 3 种情 况: (1) “GPT 超预期”样本池和“文本超预期”样本池的表现 (2) 基于超预期样本池的 JOR 因子的表现 (3) 基于超预期样本池构建的 JOR 优选组合的表现

3.3.1 超预期样本池的表现

从截面维度,我们分别筛选了近 6 个月有 GPT 超预期和文本超预期事件的个 股构成“GPT 超预期样本池”和“文本超预期样本池”。月度看,文本超预期样本池 的数量为 GPT 超预期样本池的 70%。

3.3.2 超预期样本空间下的 JOR 因子

JOR(Jump of Report Date Factor)因子是从技术面来构建的盈余公告跳空 因子,通过对盈余公告后次日()的最低价与盈余公告当日( − )的收盘价作为股价 的跳空,同时剔除掉市场的因素,作为股价跳空的幅度,进而用来度量超预期的幅 度。

每个月末,对于每只个股,分别使用过去 2 个月(40 日)和过去 3 个月(60 日)的最新的一个跳空 JOR 因子值,从而构建月频截面的 JOR 因子,JOR_delay40 和 JOR_delay60。以 JOR_delay40 因子的构造逻辑为例,假如股票 1 分别在 2021/2/5 和 3/31 为盈余公告次日,则在 4/10 时的 JOR 因子为 3/31 的 JOR 因子;股票 2 在 2/11 为盈余公告次日,则在 4/10 时的 JOR 因子为 2/11 的 JOR 因 子;股票 3 在 2/5 为盈余公告次日,但 4/10 距离 2/5 超过了 40 日,则此时的 JOR 因子为空值。

3.3.3 超预期 JOR 因子测试

由于 JOR 全部、JOR_txtsue 和 JOR_gptsue 三类因子的覆盖度不一样,为了 分组收益有一定的可参考性,我们在单因子测试时,设定不同的分组数。如未特殊说 明,所有因子均进行 MAD 去极值、行业市值中性化、z-score 标准化。

GPT 超预期空间下的 JOR 因子较文本超预期 JOR 有更强的稳定性 (ICIR、IC 胜率)、更高的收益和月胜率(多头、多空组合),收益较 JOR 全体显著 增强,再次验证了 GPT 给出高分的部分未超预期样本确实存在明显的超额收益潜 力。无论是哪个样本空间下,delay60 的表现都好于 delay40,即缺失值填充幅度越 大,因子的表现越好,因此,我们选用 delay60 因子。 (1) 从 RankIC 维度,全区间 GPT 评分相对文本评分并没有明显的增量,但近 3 年表现更好;GPT 超预期空间下的 JOR 因子的 IC 月胜率和 ICIR 有明 显的提升, ICIR 从 2.37 提升至了 2.94; (2) 从收益维度看,GPT 评分的多头年化较 JOR 全部和文本超预期 JOR 提升 明显,多头年化达 17.1%,较全体等权的年化超额 15.2%; (3) 从胜率看,GPT 超预期样本空间下 JOR 的多头胜率为 65.8%,文本为 64.5%,JOR 全体为 61.8%; (4) JOR 全体的空头贡献明显,但在文本或 GPT 超预期空间下收益的多头效 应明显,且具有显著分组能力。 (5) 分年度看,除了 2017 年“GPT 超预期 JOR”多头跑输了“文本超预期 JOR”,其余年份均有超额。

3.3.4 超预期 JOR 组合构建

从单因子测试结果看,GPT 超预期样本池相对文本超预期样本池有一定的收益 增量,但由于 JOR 全部、JOR_txtsue 和 JOR_gptsue 三类因子的覆盖度不一样, 我们前边单因子测试时,通过设置不同的分组使得分组收益有一定的可比性,但该 方法并不严格。因此,我们下面尝试构建超预期 JOR 组合,每期筛选 JOR 值靠前 的股票构成组合,在盈余公告较多、因子覆盖度较高的 1、4、7、8、10 月底进行调 仓。策略的回测参数为: (1) 样本池:全 A,剔除 ST、*ST、上市 3 个月内、全 A 市值靠后的 20%, 以及北交所上市的个股。 (2) 回测时间:2017.01.26-2023.06.30 (3) 手续费:双边千 3 (4) 基准:中证 500 (5) 组合数量:50 只、100 只;组合内个股权重:等权 (6) 交易规则:调仓次日以成交均价买入,考虑涨跌停等不可交易因素。

以 delay60 为例,2017.01.26-2023.06.30,GPT 超预期 JOR 组合较文本超预期和 JOR 全体的收益指标、风险指标和风险收益指标 均有明显提升。 (1) GPT 超预期 JOR 50 等权组合年化收益 26.4%,较文本超预期年化收益提 升了近2%,较JOR全体等权提升了10.7%,相对中证500年化超额27.2%;(2) 相对文本超预期 JOR,GPT 超预期 JOR 组合的夏普由 0.98 提升至 1.04, 信息比由 2.3 提升至 2.5,调仓胜率由 78.1%提升至 84.4%,调仓超额均 值提升了 0.3%。 (3) 分年度看,GPT 超预期 JOR 组合在超预期本身明显失效的 22 和 23 年表 现优秀。2022 年 GPT 超预期 JOR 组合相对中证 500 的超额收益 4.8%, 而文本超预期和 JOR 全体组合超额为负;今年截止 6.30,组合收益 11.8%, 相对文本超预期 JOR 超额 5.8%,相对中证 500 超额 9.5%。

优选 100 等权组合的表现整体比优选 50 等权组合差,但 GPT 超预期 JOR 组 合较文本超预期和 JOR 全体的表现仍然有明显提升。

总结而言,ChatGPT 在情感判断方面展现出了高度的准确性和对文本中的细节 差异的敏锐捕捉能力。与传统的文本分析方法相比,通过 ChatGPT 评分筛选出的 “GPT 超预期”股票池数量更多,且其整体收益表现更为出色。此外,盈余跳空因子 JOR 在全样本、GPT 超预期和文本超预期的样本空间中的表现也表明,无论从因子 本身还是优选组合的表现,GPT 超预期样本空间下的 JOR 因子较文本超预期 JOR 有显著收益增量,这一点在超预期 Beta 本身失效的近两年尤为突出。总的来说, ChatGPT 对于高评分的股票确实具有良好的收益预测能力,证实了 ChatGPT 在股 票评分方面的优越性和实用价值。

4 透视 GPT 评分,挖掘新型另类因子

在之前的研究中,我们利用 ChatGPT 的评分通过截断方法筛选出了“GPT 超预 期”样本,并针对这部分样本,检验了其整体的表现以及盈余跳空因子 JOR 的效果。 接下来,我们充分挖掘每一条具体评分所带来的深度信息,并进一步将其转化为实 际应用的因子。 理论上讲,基于 ChatGPT 评分构建的因子应被视为另类因子,其与传统的大类 因子的相关性应该相对较低。如果这个基于 GPT 评分的另类因子能够为投资组合管 理带来额外的收益,那么它就具有很高的投资价值。 因此,接下来我们打算构建一个“GPT 评分因子”,目的是将 ChatGPT 的评分 直接转化为一个可以量化操作的投资因子,探索这一因子在股票市场中的预测能力, 验证其在实际投资决策中的应用潜力。

我们依然仅纳入在 3 类盈余(预告、快报、正式报告)公告 5 个交易日内的点 评研报样本,称为“盈余点评”样本。构建以下 GPT 评分因子:

(1) GPT 等权评分因子(gpt_avgRecord):滚动窗口期内所有有效记录的简单 等权,并非先计算日均评分再日间等权。如近 3 日有 10 个有效的评分记 录,则直接计算 10 个记录的均值,反映了分析师的整体看法,预期为正向 因子,即高的均匀评分与较高的未来收益有关。

(2) 指数衰减加权因子(gpt_ewaRecord):根据时间对评分进行加权,使最近 的评分得到更大的权重。这种加权方式能够确保因子更加关注近期的市场 情绪或分析师的看法,认为最近的评价更能反映股票的当前或未来表现。 理论上,时间衰减评分因子也是正向因子。

(3) GPT 评分波动因子(gpt_stdRecord):滚动窗口期内所有有效评分记录的 标准差。理论上,分析师对某公司的评分波动越大,意味着对该公司的看 法存在更大的分歧。当评分的分歧增加时,这可能导致对该公司的未来收 益预期更加不确定,从而影响其后续的超额收益表现。因此,该因子预期 为负向因子,即评分的不稳定性可能与较低的未来收益有关。

4.1 全域中 GPT 评分因子的表现

在全 A 中, 基于 GPT 评分构建的因子在全 A 表现一般,这与我们的预期是相符的。主要原因在于,分析师对盈余的评论主要是文字描述,很少涉及具体的数值数据。因此,从 因子角度看,其预测能力难以达到很高的水平。 具体而言,等权评分因子(avgRecord)的 RankIC、ICIR 和 IC 月胜率略好于指 数衰减评分因子(ewaRecord),但指数加权的十分组的多头收益高于等权因子;评 分波动因子(stdRecord)的表现最差,无明显的收益预测属性。使用近 3 个月的 GPT 评分构建的因子表现明显不如近 1、2 个月的,因此我们用近 1 个月和近 2 个月的因 子构造等权因子,gpt_avgRecord、gpt_ewaRecord 和 gpt_stdRecord。 合成因子在全 A 的覆盖度约 50%,gpt_avgRecord 与传统大类因子的相关性较 低,与分析师因子的相关性仅 0.3,与成长因子的相关性 0.2,可认为是新型另类因 子。

从合成因子的表现看,等权合成因子(gpt_avgRecord)对收益的预测能力强于 其余两个因子: (1) gpt_avgRecord 的 RankIC 为 2.8%,ICIR 为 1.6,IC 月胜率 75.3%,RankIC 有衰减趋势,与超预期因子类似,在 2021-2022 年表现较差;多头年化收 益 6.9%,较全体等权的超额 5.2%,多空年化超额 12.7%。 (2) 分组收益:十分组严格单调,多空贡献幅度相当,多头年化 6.90%,空头 年化 6.85%。 (3) 分年度看:等权因子 gpt_avgRecord 的多头分年度收益中,除了 2021 年 多头超额为负,其余年份均为正超额。

4.2 指数域中 GPT 评分因子的表现

在沪深 300 指数域中,行业市值中性化后的 GPT 评分因子整体表现不尽人意。

在中证 500 指数域中,GPT 评分因子具有一定的选股能力,采用等权因子 (avgRecord)、指数加权因子(ewaRecord)和波动因子(stdRecord)等权合成的 GPT 大类因子 gpt_score,合成因子对中证 500 成分股的覆盖度为约 70%。合成因 子的表现如下: (1) RankIC 为 3.6%,ICIR 1.53,IC 月胜率 74%,多头年化超额 9.3%,多头 月胜率 73.7%。 (2) 分年度看,多头组合在所有年份均取得了正的超额,近 3 年的超 额收益分别为 7.04%、17.09%、2.96%。 (3) 从分组收益看,五分组并非严格单调,但多头(8.81%)贡献高于空头 (5.15%),属于多头因子。

5 总结

ChatGPT 基于 OpenAI 的 GPT-3.5 架构,是目前被誉为“自然语言处理史上最 强模型”。通过利用 InstructGPT、真实高质量数据及 PPO 强化学习进行训练,使其 在语言理解与生成上超越了众多传统模型。虽然其在情感分析上表现出色,但它并 没有专门为金融领域的数据和场景进行优化,尚未得到广泛应用。本文将使用 ChatGPT 分析金融文本,并探讨其在该领域的潜力。本研究使用 gpt-3.5-turbo 版本进行实验,通过 Python API 完成分析任务。 模型数据与调用策略:本文使用了“中国 A 股盈利预测明细”表中的“公司研究” 研报标题进行情感打分分析,涵盖了 2016 年至 2023 年的 24 万条研报点评记录。 我们根据该场景设置提示内容,以帮助模型准确理解需求并为任务提供恰当答案, 并通过模型参数设置以保证回复的稳定性。与传统的离散情感评分方式不同,本研 究选择使用 1-10 的连续分数进行评分。另外,考虑到 token 数、访问频率和单词请 求长度限制,我们采取“批量请求+只返回评分”的策略以提升模型的调用效率和使 用成本。

ChatGPT 与传统情感分析模型:从 ChatGPT 对标题情感的评分与解释看, ChatGPT 所提供的情感评分及其解释与人类的直观感受高度一致,且在评分时具有 连续性,能精确识别句子中的关键信息和其情感倾向。这一点,超越了传统的情感分 析模型,如 BERT,尽管 BERT 在 NLP 上有优势,但在分析师报告标题的情感分析 中存在局限性。 “超预期”的刻画:我们分别尝试了使用文本方式和 ChatGPT 评分的方式对“超 预期”进行刻画,我们发现在处理分析师盈余点评标题时,ChatGPT 在识别评价主 体和对上下文语义的理解较传统的文本方法更灵活可靠。最终,根据我们前边设定 的“系统提示”,我们选择 GPT 评分大于 9 分的样本,认为是“GPT 超预期”样本。

GPT 评分刻画的超预期能带来增量:实证表明,ChatGPT 对于高评分的股票确 实具有良好的收益预测能力,证实了 ChatGPT 在金融文本情绪评分方面的优越性和 实用价值。与传统的文本分析方法相比,通过 ChatGPT 评分筛选出的“GPT 超预期” 股票池数量更多,且其整体收益表现更为出色。此外,盈余跳空因子 JOR 在全样本、 GPT 超预期和文本超预期的样本空间中的表现也表明,无论从因子本身还是优选组 合的表现,GPT超预期样本空间下的JOR因子较文本超预期JOR有显著收益增量, 这一点在超预期 Beta 本身失效的近两年尤为突出。 GPT 评分,新型另类因子:本文基于 ChatGPT 评分构建了“GPT 评分因子”, 等权评分因子、指数衰减加权因子和 GPT 评分波动因子,这些因子与传统大类因子 的相关性较低,可认为是新型另类因子。总体而言,基于 GPT 评分构建的因子在绩 效上表现一般,主要原因在于,分析师对盈余的评论主要是文字描述,很少涉及具 体的数值数据。因此,从因子角度看,其预测能力难以达到很高的水平。在全 A 中, 等权评分因子在绩效上表现较好,2017-2023.06.30,RankIC 为 2.8%,ICIR 为 1.6, IC 月胜率 75.3%,多头年化超额 5.2%,多空年化超额 12.7%。在中证 500 指数中, GPT评分因子显示出一定的选股能力,GPT合成因子gpt_score的RankIC为3.6%, 多头年化超额为9.3%,多头组合每年均为正超额,近三年超额分别为7.04%、17.09% 和 2.96%。

编辑:火腿肠
  • 相关标签
  • 热门文档
  • 热门文章
  • 本年热门
  • 本季热门
  • 本月热门
  • 本年热门
  • 本季热门
  • 本月热门
分享至