您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[国金证券]:Alpha掘金系列之五:如何利用ChatGPT挖掘高频选股因子? - 发现报告
当前位置:首页/其他报告/报告详情/

Alpha掘金系列之五:如何利用ChatGPT挖掘高频选股因子?

2023-04-04高智威国金证券小***
Alpha掘金系列之五:如何利用ChatGPT挖掘高频选股因子?

GPT(GenerativePre-trainedTransformer)是一种大语言模型(LLM),能够学习大量文本数据,并推断出文本中词语之间的关系。ChatGPT能够进行连续对话,综合上下文内容进行交流,能完成翻译、撰写邮件、代码等任务。该模型相较于传统LSTM模型的改进之处在于其引用了Transformer模型,对输入数据的不同部分给予不同权重。ChatGPT之所以能够获得如此高的智能水平,参数数量提升所带来的涌现现象(ScalingLaw)和加入RLHF(人类反馈的强化学习)所带来的对于人类偏好理解的提升起到了重要作用。RLHF训练共分为3步,首先聘请40名标注员对指令进行标注,对模型进行微调。然后对模型的不同输出结果进行排序,使其更符合人类预期,并利用排序结果训练一个打分模型(RewardModel)。最终采样新的指令作为输入数据,根据打分模型进一步优化模型的输出结果。结合打分模型训练,得到最终的ChatGPT模型。 提示工程(PromptEngineering)主要用于开发和优化语言模型中的提示,有效地将ChatGPT用于各种应用和研究主题。掌握并应用好提示工程的技能,不仅能够提高使用人工智能系统的准确性和效率,也能够降低成本并提升使用体验。最基本的提示公式包括角色、任务及指令三个部分,其主要目的在于使模型对于所需要的回答类型和回答方式有一定的指向性。提示的内容越详尽、精确,模型能够给出的回答更能符合我们的预期,从而更便捷得到我们需要的结果。除标准的提示公式外,也有多种针对不同任务类型的提示方式。一种独特的提示方式为思维链提示 (Chain-of-ThoughtPrompting),其主要思路为将一个复杂问题拆分成多个步骤,引导模型逐步思考并进行纠偏,最终得到需要的结果。 ChatGPT在量化研究领域同样拥有广泛的使用前景,我们以最常见的因子挖掘作为测试场景,考察模型经过一定的提示后,能否给出符合需求的结果。在中低频领域,ChatGPT给出了价和量的变异系数因子,我们利用5日滚动数据构建因子并进行周度调仓测试。发现因子IC指标表现较好,但多头组超额收益较低,难以成功构建投资策略。 另外,我们令ChatGPT模型尝试利用高频数据构建出独特因子,并限定其数据使用范围为委托价和委托量。模型经过一定指导后给出了买卖盘力量因子,经过测试发现买卖盘力量差异因子在日频上表现优异,多头年化超额收益率达到17.29%,但因子衰减速度较快。为符合交易实际,我们针对买盘和卖盘力量因子分别降至周频进行测试,发现虽然因子整体多空单调性一般,但多头组合表现尚可,多头年化超额收益率分别为9.77%和10.20%。最终,我们利用相对表现较好的卖盘力量因子构建中证1000指数增强策略。发现在单边千分之二的手续费率下,策略的年化超额收益率为7.17%,信息比率为0.57。 此外我们对于ChatGPT代码能力进行测试,发现针对常用的量化研究所需框架、函数等能较准确的给出结果,但使用时需要注意代码细节,确保其符合实际需求。对模型所给代码进行微调可以大幅提升研究效率。 1、ChatGPT模型具有一定的随机性,在部分情况下可能回答错误,不符合用户需求与认知,并影响到用户判断。 2、以上因子测试结果通过历史数据统计、建模和测算完成,在政策、市场环境发生变化时模型存在失效的风险。 3、策略依据一定的假设通过历史数据回测得到,当交易成本提高或其他条件改变时,可能导致策略收益下降甚至出现亏损。 内容目录 一、ChatGPT模型介绍及原理解析4 1.1大语言模型与模型演进历程4 1.2ChatGPT模型表现优异背后的逻辑5 二、ChatGPT提示工程介绍及使用指南5 2.1Prompt提示公式6 2.2提示工程分类7 2.3思维链提示(Chain-of-ThoughtPrompting)8 三、ChatGPT因子挖掘实战10 3.1周频变异系数因子构建与测试结果10 3.2高频买卖盘力量因子构建与测试结果12 3.3ChatGPT代码输出测试:因子测试与组合优化15 四、总结17 风险提示18 图表目录 图表1:ChatGPT模型演进历程4 图表2:RLHF(人类反馈的强化学习)过程示意图5 图表3:ChatGPT生成因子示例16 图表4:ChatGPT生成因子示例27 图表5:ChatGPT生成因子示例37 图表6:提示工程分类示例及说明7 图表7:ChatGPT情感分析示例18 图表8:ChatGPT情感分析示例28 图表9:A因子IC指标示例18 图表10:B因子IC指标示例28 图表11:ChatGPT思维链提示示例19 图表12:ChatGPT思维链提示示例29 图表13:ChatGPT思维链提示示例39 图表14:ChatGPT思维链提示示例410 图表15:ChatGPT思维链提示示例510 图表16:ChatGPT生成因子示例410 图表17:ChatGPT变异系数因子IC指标(周频)11 图表18:ChatGPT变异系数因子多空组合净值(周频)11 图表19:ChatGPT变异系数因子多空组合指标(周频)11 图表20:ChatGPT高频因子挖掘示例112 图表21:ChatGPT高频因子挖掘示例212 图表22:ChatGPT买卖盘力量因子IC指标(日频)13 图表23:ChatGPT买卖盘力量因子多空组合净值(日频)13 图表24:ChatGPT买卖盘力量因子多空组合指标(日频)13 图表25:ChatGPT买卖盘力量因子多头组合净值(周频)14 图表26:ChatGPT买卖盘力量因子多空组合指标(周频)14 图表27:基于ChatGPT买卖盘力量因子的中证1000指数增强策略表现15 图表28:基于ChatGPT买卖盘力量因子的中证1000指数增强策略指标15 图表29:ChatGPT因子测试框架代码示例116 图表30:ChatGPT因子测试框架代码示例216 图表31:ChatGPT组合优化代码示例117 图表32:ChatGPT组合优化代码示例217 在前期系列报告中,我们利用高频数据已经构建出了一系列表现优异的选股因子。本篇报告作为Alpha掘金系列的第五篇,同时也是ChatGPT量化研究系列的第一篇,将使用ChatGPT探索其在量化研究领域的表现。经过测试,发现模型经过一定的引导能够挖掘出具有一定创新性的高频因子,最终得到了ChatGPT买卖盘力量因子。在将因子降至周频后,成功构建出了能够满足机构投资者要求的中证1000指数增强策略。 1.1大语言模型与模型演进历程 ChatGPT(全名:ChatGenerativePre-trainedTransformer)是由人工智能研究实验室OpenAI在2022年11月30日发布的一款AI聊天程序,一经发布便在全球开启了一波ChatGPT热潮,短短2个月内用户数已过亿。该模型是一款人工智能技术驱动的自然语言处理工具,使用的是GPT-3.5架构的千亿参数大语言,能够进行连续对话、综合上下文内容进行交流的自然语言处理(NLP)模型,并通过强化学习进行训练,从而理解人类的语言来进行对话,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。ChatGPT也是迄今为止AI大模型最接近商用落地的成果,输出内容非常接近人类的常识、认知、需求和价值观。这项新的科技革命正在持续升温,所覆盖的范围在新媒体、编程、教育、医疗、广告、电商平台等各行各业。然而针对二级市场投资研究领域,ChatGPT模型能带来怎样的变革,相关研究较少,本文将从量化研究领域为读者带来该模型的使用方法和效果演示。 GPT(GenerativePre-trainedTransformer)作为一种大语言模型(LLM),能够学习大量文本数据,并推断出文本中词语之间的关系。随着过去几年计算能力的不断发展,输入数据集和参数空间(parameterspace)的不断增加,LLM的能力也在不断提升。 语言模型的一项基本任务是预测一句话中的单个词,或根据上文推断下文。传统的LSTM(LongShort-TermMemory)模型在处理这类问题时存在两大缺陷: 模型对于文本中不同词无法区分出重要程度的差异,即无法让某些词比其他词的权重更高。 该模型对于长距离的信息不能有效提取和记忆,导致了大量信息丢失。 2017年论文《AttentionisAllYouNeed》中Transformer的引入有效解决了上述问题。它通过跟踪序列数据中的关系来学习上下文并学习语句的含义,利用自注意力机制(Self-attentionmechanism)给予输入数据的不同部分赋予不同权重,这一革新让LLM拥有了更大的成长空间,同时也能够处理更大的数据集。 2018年6月发布的GPT-1模型就已经开始使用Transformer模型,该模型包括了编码器和解码器结构,参数数量大约为1.17亿个。2019年2月GPT-2模型的参数数量已经达到15亿,在自然语言处理领域取得了非常显著的进展。GPT-3模型的参数数量高达1750亿,成为当时最先进的自然语言处理领域的最先进模型。2023年3月发布的GPT-4模型,将传统的文本输入拓展到了图片,同时它的理解能力也得到了显著提升,在处理复杂问题时表现出了更高的准确性和洞察力。 图表1:ChatGPT模型演进历程 来源:《OntheComparabilityofPre-trainedLanguageModels》(Matthias,2020),《EvaluatingLargeLanguageModelsTrainedonCode》(MarkChen,2021),OpenAI,BFT智能机器人研究公众号,国金证券研究所 1.2ChatGPT模型表现优异背后的逻辑 ChatGPT拥有如此高度的智能水平背后有着多重因素的共同作用,包括随着参数数量提升带来的涌现现象(scalinglaw)、加入RLHF(人类反馈的强化学习)所带来的对于人类偏好理解的提升等都给模型提供了较强的提升作用。RLHF是一种用于增强语言模型性能的技术,利用关系网络和潜在因子来增强模型的表示能力和泛化能力。这种方式可以帮助其更好地理解和学习文本中的语义关系和结构,生成更加准确和流畅的文本。其训练基本步骤如下: 从大量的包含人类真实意图的指令集合中采样,聘请40名标注人员对这些指令进行标注,标注完成后在ChatGPT 中对模型进行微调。 再次从指令集中采样作为输入数据,从ChatGPT3.5中得到多个不同结果,聘请标注员对这些输出的好坏顺序进行标注。得到输出顺序后,训练一个打分模型(rewardmodel),使得模型输出结果更能贴近人类最需要的答案。 获得打分模型后,从指令集合中采样新的指令作为输入数据,根据打分模型进一步优化模型的输出结果。结合打分模型训练,得到最终的ChatGPT模型。 图表2:RLHF(人类反馈的强化学习)过程示意图 来源:https://openai.com/blog/chatgpt,国金证券研究所 在这种训练模式下,AI逐步具备了一些“常识”。自GPT-2开始,只需给模型投喂一些示例,就能使其举一反三给出需要的结果。基本的训练模式分类包括: Zero-shotlearning指的是模型在没有经过训练数据的情况下,可以利用已有的知识和推理能力完成新任务。例如,在翻译任务中如果模型训练过英文到法语的翻译任务,它可以无需训练来处理英文到德语的翻译任务。 One-shotlearning指的是模型在只有一组训练数据的情况下,可以学习并完成任务。例如,在人脸识别中,如果只提供一张某人的照片,模型可以学习识别该人的所有照片。 Few-shotlearning指的是模型在只有少量训练数据的情况下,可以学习并完成任务。例如,在自然语言推理中,如果只提供很少的相关语料,模型可以学习理解和推理其他类似语料的能力。 因此,ChatGPT