| 序号 | 学生 | 所属学院 | 专业 | 年级 | 项目中的分工 | 成员类型 |
|---|---|---|---|---|---|---|
|
|
潘宇辰 | 信息科学与工程学院 | 计算机金融双学位 | 2023 | 项目进程安排,辅助文书、技术工作 |
|
|
|
徐子涵 | 信息科学与工程学院 | 计算机金融双学位 | 2023 | 主要完成文书,辅助技术工作 |
|
|
|
吴天宇 | 信息科学与工程学院 | 机器人工程 | 2023 | 主要完成技术及答辩,辅助文书工作 |
|
|
|
韩天予 | 信息科学与工程学院 | 信息工程 | 2022 | 主要完成文书,辅助技术工作 |
|
| 序号 | 教师姓名 | 教师账号 | 所属学院 | 是否企业导师 | 教师类型 |
|---|---|---|---|---|---|
|
|
翟洁 | 06231 | 信息科学与工程学院 | 否 |
|
基于大模型的金融数据分析系统具有广泛的应用价值,促进了金融行业的智能化发展和可持续发展。
本课题将使用金融领域语料对通用大模型进行微调,提升大模型在金融领域的能力。大型语言模型的引入将为金融数据分析领域带来革命性的变革和重大的机遇。传统的统计学方法和机器学习方法在处理复杂的金融数据时已经显露出一定的局限性,而大型语言模型的出现提供了一种全新的、高效的数据分析方法。通过金融领域语料的微调,这些模型能够从大规模的金融文本数据中学习到丰富的金融知识和语义信息,不仅提高了数据分析的效率和准确性,还拓展了数据分析的应用范围,为金融决策和风险管理提供了更为可靠的支持。
本课题将设计多种类型的Prompt,并将检索增强生成(RAG)技术应用于财务报表分析功能,以提升分析的准确性和深度。除此之外,本课题还将提出基于Agent实现的股票风险评估、市场分析功能的框架。Agent技术模块包括任务规划器、记忆、代码编写与执行、反思等部分,能够实现对金融数据的动态分析和深度挖掘。通过这些功能的设计和实现,系统能够更智能地理解用户需求,并根据不同的任务和场景动态调整分析策略和方法。例如,在股票风险评估中,Agent 可以结合市场趋势和历史数据,对风险进行定量或定性分析;在市场分析中,Agent可以分析和评估特定事件对市场的影响,并提供相应的分析功能。这些基于Agent的功能模块使系统更具智能化和灵活性,能够更好地应对金融领域的数据分析挑战,为用户提供更全面、准确的数据分析和决策支持。
1、基于人工智能的金融数据分析方法
传统的金融数据分析方法主要为基于时间序列的方法,但传统方法的局限性主要在于其数据来源较为单一,主要来源于股票价格、财务报表等,这些信息也存在滞后性,无法保证及时更新;同时模型假设具有一定的局限性,然而在实际市场中,这些假设可能不完全成立,导致模型的适用性和预测能力受到限制。而对于基于人工智能的金融数据分析方法而言,可以将机器学习算法中的聚类分析应用于金融数据分析中,对金融投资中的股票收益性和成长性进行分析,建立指标体系,帮助投资者确定投资范围和价值,以准确了解股票特性和做出最佳投资决策,也可以将遗传算法和神经网络相结合,对股票价格进行预测。实验结果表明,该方法能在保持预测精度的同时有效减少变量个数,解决神经网络模型中变量选择的难题。
2、大模型微调
在大模型的微调过程中,本研究使用了LoRA技术。LoRA(Low-Rank Adaptation ofLarge Language Models,大型语言模型的低秩适应)是一种针对大型语言模型(LLMs)的训练与微调技术。这种方法旨在通过对模型的一部分参数进行高效的微调,来实现在不牺牲性能的前提下降低计算成本和存储需求。LoRA的核心思想是在模型的特定层中引入低秩矩阵,通过调整这些矩阵来实现对原始模型的微调,而不是直接对所有参数进基于大模型的金融数据分析系统进行更新。
在传统的大模型微调过程中,通常需要对整个模型的所有参数进行更新,这不仅计算成本高,而且需要大量的存储空间。LoRA通过在模型的关键部分引入低秩矩阵,仅对这些矩阵中的参数进行更新,从而实现了更加高效的微调。具体来说,LoRA技术会选择模型中的一些权重矩阵,用两个低秩矩阵的乘积来近似这些权重矩阵的更新,这样就可以用更少的参数来表达权重的变化,达到降低微调成本的目的。
LoRA技术的优势如下:
降低计算成本: 通过将参数矩阵分解为低秩矩阵,LoRA可以显著减少模型的计算需求,从而降低了模型的计算成本。这使得大型语言模型可以更容易地部署到资源受限的设备上,例如移动端设备或嵌入式系统。
减少存储空间: 由于低秩矩阵需要的存储空间更少,LoRA可以显著减少模型的存储需求。这对于需要在设备上存储模型的应用场景尤其有益,例如在智能手机或物联网设备上运行的语言模型。
保持模型性能: 尽管LoRA通过降低模型的复杂度来减少计算和存储需求,但它仍然可以保持模型的性能。这意味着使用LoRA压缩的模型仍然可以在各种自然语言处理任务上取得良好的性能,如语言理解、生成和机器翻译等。
3、数据收集与处理
本系统数据集主要来自开源数据集与爬虫获得的数据,数据内容主要有财务报表、财经新闻、公司公告、财经论坛帖子等。
在面对这一数据集时,首先面临的是数据收集与处理的巨大工作量。团队不仅需要从多个开源数据集和爬虫中获取数据,还需要对这些数据进行全面的处理。数据处理的过程主要包括数据格式转换、数据清洗、数据整合、数据存储的步骤,各步骤具体内容如下:
数据格式转换:由于数据来源于不同的平台,格式各异,团队需要利用pypdf库以及正则表达式等工具,将PDF、HTML等格式的数据转换为纯文本格式,以便后续处理。这一过程需要细致的操作和大量的计算资源。
数据清洗:爬虫获取的数据往往包含大量噪声,如太短或无意义的评论、重复数据、缺失值等。团队需要对这些数据进行深度清洗,以确保数据的准确性和可用性
数据整合:团队需要将同一类别的数据转换为统一的JSON格式,并进行整合。在整合过程中,考虑数据结构的设计和字段的映射,确保整合后的数据能够满足后续分析和应用的需求。
数据存储:对于整合完成的数据,团队需要按照不同的数据类别进行分类存储,保存在不同的jsonl文件中。
在收集处理数据的过程中,团队投入了漫长的时间:由于数据需要定期更新,团队需要持续不断地从各个来源收集数据,这需要耗费大量的时间;数据格式转换和清洗是一个耗时的过程,尤其是当数据量巨大时,团队需要花费大量时间进行细致的操作和验证;数据整合过程中,团队需要不断调整和优化数据结构,以确保数据的准确性和一致性,这一过程往往需要多次迭代和测试。
4、检索增强生成(RAG)
检索增强生成(Retrieval-Augmented Generation,RAG)是一种结合了信息检索和文本生成的先进自然语言处理方法。它通过利用预先检索到的相关文本信息来增强文本生成的质量和效果。
RAG分为三个阶段,检索阶段、生成阶段和结合阶段。在检索阶段,系统使用信息检索技术从大规模的文本语料库中检索出与给定输入条件相关的文本片段或段落。这通常涉及到使用检索引擎(如Elasticsearch)或类似的技术来执行全文搜索,并根据输入条件匹配最相关的文本。在生成阶段,检索到的相关文本被作为输入条件提供给生成模型。生成模型可以是预训练的语言模型(如GPT、BERT等),它们接受输入条件并生成与之相关的输出文本。生成模型可以使用所提供的文本片段来获取更多的上下文信息,并相应地生成更具适应性和质量的文本。在结合阶段,系统将生成的文本与检索到的文本片段结合起来,以产生最终的输出。这可能涉及到将生成的文本与检索到的文本进行融合、组合或选择,以确保生成的文本既包含了必要的信息,又具有流畅的语言表达和合理的结构。
RAG的优势在于可以帮助大模型处理长文本和复杂任务,减少了幻觉的产生,从而生成更准确和合理的文本。
5、Agent智能代理
Agent是指一种能够感知环境、通过推理与决策作出响应并执行动作的程序或实体。Agent通常由记忆模块、感知模块、推理与决策模块、执行模块、通信与协作模块以及学习与适应模块等组成部分构成,通过这些组成部分的协同工作,Agent能够在特定环境中实现各种任务和目标,具有智能行为的特征。下面将对组成Agent智能体的这些模块进行详细讲解。
(1)感知模块(Perception):感知模块负责感知Agent所处的环境,并获取环境中的信息和数据。这些信息可以是来自传感器、摄像头等设备的原始数据,也可以是通过网络或其他方式获取的外部信息。感知模块通过对这些信息进行处理和分析,提取出有用的特征和模式,为Agent的推理和决策提供输入。
(2)推理决策模块(Reasoning and Decision-making):推理决策模块负责分析感知到的信息、推理环境状态,并基于推理结果做出相应的决策和行动计划。推理决策模块可以采用各种算法和技术,如规则系统、逻辑推理、机器学习、强化学习等,以实现 Agent的智能行为和决策能力。
(3)执行模块(Action):执行模块负责执行推理决策模块生成的行动计划,并将结果反馈给环境。执行模块可以通过执行动作、调整参数或发送消息等方式与环境进行交互,并根据环境的反馈更新Agent的状态和行为。执行模块的效率和准确性直接影响着Agent的行动执行能力和任务完成质量。
(4)通信模块(Communication):通信模块负责与其他Agent进行通信和信息交换,以实现协同工作和合作。通信模块可以通过消息传递、共享状态、远程调用等方式进行通信,并根据通信内容和目的实现不同形式的信息交流和协作。通信模块的稳定性和可靠性对于Agent系统的整体效率和性能具有重要影响。
(5)反思模块(Reflection):反思模块负责对Agent的行为和决策进行评估和反思,以调整和改进Agent的行为策略和学习方法。反思模块可以通过监控和分析Agent的行为、收集和整理反馈信息,识别和解决问题,并根据经验和反馈不断改进Agent的性能和表现。反思模块的功能和效果直接影响着Agent的学习和适应能力,决定着Agent 的发展和进步方向。
(6)知识库模块(Knowledge):Agent的知识库模块是指用于存储、组织和管理知识的组件,为Agent系统提供了丰富的背景知识和语境信息。这个模块在Agent系统中起着至关重要的作用,能够帮助Agent理解并适应不同的任务和环境。
6、FastAPI 后端框架
FastAPI是一个基于Python的现代Web框架,专注于构建高性能的API。它由Sebastián Ramírez在Starlette和 Pydantic 的基础上开发而成,并在Python社区中迅速崭露头角。
FastAPI的设计目标是提供一种简单、快速、高性能的方式来构建Web API。为了实现这一目标,FastAPI继承了Starlette框架的异步请求处理机制,同时利用Pydantic 的数据验证机制和类型注解特性,使得开发者能够以声明式的方式编写API,从而提高了代码的可读性和可维护性。
FastAPI极大地提升了API的开发效率。它采用了异步IO操作和基于Python 3.7+中引入的asyncio和async/await语法的异步请求处理方式,充分利用了Python语言的异步编程特性,从而实现了高性能的请求处理和并发处理能力。这使得FastAPI能够处理大规模并发请求,保持API的稳定性和高可用性。
FastAPI是一个基于Python的现代Web框架,具有如下特点:
声明式API设计:FastAPI支持以声明式的方式编写API,通过Python的类型注解和Pydantic模块的数据验证机制,能够自动进行请求参数、请求体和响应数据的验证。开发者只需编写简单的Python函数,并声明输入参数的类型和输出数据的结构,FastAPI 就能自动进行类型检查和数据验证,从而提高了代码的可读性和可维护性。
(1)自动生成API文档:FastAPI能够自动生成详细的API文档,包括交互式 API文档(Swagger UI和ReDoc)和OpenAPI规范。开发者无需手动编写文档,只需编写API 代码,FastAPI就能自动根据代码生成详细的API文档,包括路由、请求参数、请求体、响应模型等信息,极大地提升了文档的维护效率。
(2)安全性特性:FastAPI提供了多种安全性特性,包括请求验证、认证和授权机制。开发者可以轻松地集成第三方认证库(如OAuth2、JWT),实现对API的访问权限控制和用户身份验证,从而保护API免受恶意攻击和非法访问。
(3)高性能的请求处理:FastAPI的异步IO支持和基于Starlette的请求处理机制,使得 API 能够处理大规模并发请求,并保持稳定的性能表现。FastAPI充分利用了 Python语言的异步编程特性,通过异步IO操作,实现了高效的请求处理和响应处理,提高了API 的性能和吞吐量。
(4)轻量级和可扩展性:FastAPI是一个轻量级的框架,无需依赖大量的第三方库,部署和维护成本较低。同时,FastAPI提供了丰富的扩展插件和中间件,使得开发者能够根据需求灵活地扩展和定制框架功能,满足不同项目的需求。
7、前端应用技术
A. Vue.js前端框架
Vue.js是一种流行的前端JavaScript框架,由前Google工程师尤雨溪(Evan You)于2014年创建。作为一款开源的JavaScript框架,Vue.js的设计目标是提供一种简洁、高效的方式来构建交互式的用户界面。该框架采用了现代化的响应式数据绑定和组件化的架构,使得开发者能够轻松地构建可维护、可扩展的应用程序。
Vue.js作为一种流行的前端JavaScript框架,具有以下几个显著的优点:
(1)简洁易用的API设计:Vue.js提供了简洁明了的API,使得开发者能够以简单的方式构建交互式的用户界面。其API设计符合直觉,易于上手,无论是初学者还是有经验的开发者都能够快速掌握和应用。
(2)响应式数据绑定:Vue.js采用了一种称为"响应式数据绑定"的机制,使得数据与视图之间保持同步。当数据发生变化时,相关的视图会自动更新,无需手动操作 DOM。这种响应式数据绑定机制简化了开发过程,提高了代码的可维护性和可读性。
(3)组件化开发:Vue.js支持组件化的开发方式,将UI界面拆分为多个独立的组件,每个组件都包含自己的模板、逻辑和样式。这种组件化的开发方式使得代码更加模块化和可复用,提高了代码的灵活性和可维护性。
(4)灵活性和可扩展性:Vue.js具有很高的灵活性和可扩展性,可以与其他库和框架灵活地进行整合。它提供了丰富的插件和生态系统,包括路由、状态管理、构建工具等,可以满足各种不同项目的需求。
(5)性能优化:Vue.js具有良好的性能表现,它采用了虚拟DOM和异步更新的策略,使得页面渲染效率更高。此外,Vue.js还提供了一些性能优化的技巧和工具,如懒加载、代码拆分、服务端渲染等,可以进一步提升应用程序的性能表现。
B. ElementUI前端UI组件库
Element UI是一套基于Vue.js的桌面端组件库,旨在帮助开发者快速搭建企业级的后台产品。由饿了么前端团队开发并维护,于2016年发布第一个版本。自发布以来,Element UI 在Vue.js社区中广受欢迎,成为了最受欢迎的Vue.js UI框架之一。它经历了多个版本的迭代,不断更新优化,以适应不断发展的前端开发需求。其特点有:
(1)丰富的组件库:Element UI提供了丰富而完善的组件库,包括按钮、表单、表格、对话框、菜单等各种常用组件,覆盖了大部分后台管理系统的需求。
(2)灵活的定制化:Element UI具有灵活的定制化能力,开发者可以根据项目需求轻松修改组件的样式和行为,并且支持按需加载,减小项目体积。
(3)响应式设计:Element UI的组件均采用响应式设计,能够自适应不同屏幕尺寸,保证了在不同设备上的良好用户体验。
(4)清晰的文档和社区支持:Element UI提供了清晰详细的文档和示例,使开发者可以快速上手和使用组件。同时,Element UI拥有庞大的社区支持,开发者可以在社区中获取到丰富的资源和技术支持。
作为 Vue.js的一部分,Element UI充分发挥了Vue.js的优势,提供了一套完整的UI组件解决方案,与Vue.js深度整合,使得开发者可以更加高效地开发应用。经过了长时间的发展和优化,Element UI具有较高的稳定性和可靠性,被广泛应用于各种项目中。其设计风格和组件库适用于企业级项目的后台管理系统开发,满足了企业级项目对于稳定性、可靠性和可定制性的要求。
8、数据库应用技术
A. MySQL数据库
MySQL是一种流行的关系型数据库管理系统(RDBMS),它在当今的信息技术领域扮演着重要的角色。MySQL由瑞典MySQL AB公司开发,目前由Oracle公司进行维护和支持。作为一种开源软件,MySQL社区版的源代码对用户免费开放,使得它成为了许多企业和个人的首选数据库之一。
MySQL的架构主要包括以下几个组件:
(1)连接器(Connection Manager):连接器负责与客户端建立连接,并处理客户端发来的请求。它负责认证用户身份、分配会话资源,并将请求传递给后端的处理器进行处理。
(2)分析器(Parser):分析器负责解析客户端发来的SQL语句,并生成查询执行计划。它会对 SQL 语句进行语法分析和语义分析,并将其转换成内部数据结构以供执行器使用。
(3)优化器(Optimizer):优化器负责对查询执行计划进行优化,以提高查询的性能和效率。它会根据查询的条件、索引、表的统计信息等因素,选择最优的执行计划,并生成执行计划指令。
(4)执行器(Executor):执行器负责执行优化器生成的执行计划,并将结果返回给客户端。它会根据执行计划指令,访问数据库中的数据,并进行数据过滤、排序和聚合等操作,最终生成查询结果。
(5)存储引擎(Storage Engine):存储引擎负责管理数据的存储和检索。MySQL 支持多种存储引擎,如 InnoDB、MyISAM、Memory等,每种存储引擎都具有不同的特性和优势,用户可以根据实际需求选择最合适的存储引擎。
MySQL数据库具有如下优势:
(1)开源性质:MySQL是一种开源的数据库系统,其源代码对用户免费开放。用户可以自由获取、使用和修改 MySQL,而无需支付任何费用。
(2)跨平台支持:MySQL可以在多种操作系统上运行,包括 Windows、Linux、macOS等。这使得用户可以根据自身的硬件和软件环境选择最适合的平台进行部署和使用。
(3)关系型数据库:MySQL是一种关系型数据库管理系统(RDBMS),它采用了关系模型来组织数据,并支持SQL(Structured Query Language)作为数据查询和操作的标准语言。
(4)高性能和稳定性:MySQL经过多年的发展和优化,具有良好的性能和稳定性。它采用了多种优化技术,如索引、缓存、查询优化等,能够快速响应大规模数据的查询和操作。
(5)安全性: MySQL提供了多种安全性功能,包括密码加密、访问控制、权限管理等,能够保护数据库系统免受未经授权的访问和恶意攻击。
(6)可扩展性:MySQL支持水平和垂直两种扩展方式。水平扩展通过增加更多的服务器节点来增加数据库的容量和吞吐量,而垂直扩展则通过提升单个服务器的性能和配置来增强数据库的处理能力。
(7)灵活的存储引擎:MySQL 支持多种存储引擎,如 InnoDB、MyISAM、Memory等,每种存储引擎都具有不同的特性和优势,用户可以根据实际需求选择最合适的存储
引擎。
(8)丰富的功能和工具:MySQL提供了丰富的数据库功能和管理工具,如数据备份和恢复、性能监控和优化、数据迁移和复制等。此外,MySQL还有一个活跃的社区,用户可以在社区中获取技术支持、交流经验和分享资源。
B. Redis数据库
Redis是一个NoSQL数据库。它支持多种数据结构,包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。Redis通常被用作缓存、消息队列、会话存储等。
Redis主要有如下特点:
(1)其在内存中缓存数据的架构可实现低延迟和快速访问;
(2)提供RDB和AOF等持久性功能来存储数据;
(3)具有事务、pub/sub和Lua脚本等高级功能;
(4)可通过主从复制实现高可用性配置;
(5)开放源代码,拥有大量社区支持。
国外研究起步较早。从上个世纪50年代第一台神经网络计算机诞生开始,到1990年,增强学习雏形、深度学习雏形、搜索式推理、自然语言等知识被提出,符号智能时代的科学家以人工构建起知识库,专家系统被广泛应用。1990年到2018年,摩尔定律下计算机性能不断突破,为专业智能带来新一轮高潮,云计算、大数据、机器学习、自然语言、机器视觉等领域飞速发展,“深度学习”提出后,知识被储存于小模型中。2017年Google在一篇论文中首次提Transformer,成为大模型背后的基础架构,基于强大的算力,人工智能进入通用智能新阶段,而ChatGPT的诞生标志了大模型商业化应用的落地。当前已有多个金融领域的垂直大模型落地。2023年3月,Bloomberg(彭博)发布首个利用各类金融数据进行训练,全方位支持金融领域的大模型BloombergGPT,是一个有500亿参数、基于BLOOM模型的金融大语言模型。Morgan Stanley(摩根士丹利)则与 OpenAl合作推出一款基于GPT-4技术的聊天机器人,被列入GPT-4发布时公布的6个使用案例之一。
国内这方面起步较晚,但互联网公司、科技公司、软硬件厂商等也在进行相关研究。2023年3月,百度发布“文心一言";4月,阿里巴巴发布通义千问大模型,商汤科技发布日日新SenseNova大模型体系;7月,华为发布”盘古大模型3.0",早在2021年4月就曾对外发布盘古预训练大模型。从国内的布局情况来看,交通银行组建GPT大模型专项研究团队,中国太保基于大模型技术的数字化员工投入应用等,金融机构对于大模型的应用和布局仍在进行。
(1)大模型在金融领域的适应性提升
重点:通过构建特定的金融数据集对大模型进行微调,增强了模型在金融领域的适用性。
创新点:创建了基于金融数据集的Prompt-based微调方法,显著提高了大模型在金融领域的理解和应用能力。
(2)Agent智能代理的应用
重点:设计了专用的Agent架构,能够动态处理和响应金融数据分析任务。
创新点:提出了引入反思和记忆模块的智能代理架构,能够根据不同任务调整分析策略,提升了系统的智能化和适应性。
(3)RAG技术在财务分析中的应用
重点:在财报分析模块中结合RAG技术,将用户上传的财务报表转换为向量格式,通过信息检索提升文本生成的质量和准确性。
创新点:创建结合RAG技术与Prompt模板的方法,能够从用户上传的财务报表中提取关键信息,提升了分析的深度和准确性。
(4)多模块功能整合的系统实现
重点:系统涵盖情感分析、风险评估、市场预测等多模块功能,为用户提供从市场趋势到企业财务状况的全面分析。
创新点:将提出一个多功能金融数据分析系统,整合情感分析、风险评估、市场预测等多模块,为用户提供全面的决策支持。
一、技术路线
1、数据构建
通过API(如Tushare和AkShare)获取金融市场和舆情数据,进行数据清洗和标准化处理,以确保数据的完整性和准确性。
2、模型训练
使用大型语言模型(如FinBERT)进行预训练,随后利用领域特定数据进行微调,以增强其在金融分析中的表现和适应性。大模型技术的突破源于自然语言处理领域的Transformer架构。该架构使得模型参数量突破了1个亿,随后一系列大模型被推出。基于Transformer架构的模型可以分为编码器、解码器。
当前,基于Transformer解码器结构训练的大模型成为了自然语言处理领域的主流方案。在此影响下,语音、视觉以及跨模态等领域的大模型也尝试应用类似模型架构,并取得了较好效果,比如语音领域的OpenAIwhisper和DaLL-E等,图像生成领域的Stable Diffusion开源模型等。
3、模型压缩加速
通过技术手段来减小机器学习模型的大小、复杂度和计算量,加速推理过程并减少内存使用,以便在资源受限的设备上部署和运行,如移动设备、边缘设备等。目前,模型压缩技术主要包括知识蒸馏、剪枝和量化等解决方案。
4、信号模拟
结合经典交易策略(如动量策略和配对交易),对模型输出的交易信号进行模拟测试,分析其在实际投资决策中的有效性。
5、智能代理框架开发
构建基于大型语言模型的智能代理系统(如AutoGen),实现多任务对话功能,支持用户在金融领域的复杂查询和决策支持。
二、拟解决的问题
(1)金融数据的复杂性与多样性处理:金融领域产生的数据量庞大且类型多样,通过构建大模型和采用先进的算法,能够更有效地处理这些复杂数据,提取有价值的信息。
(2)金融市场的动态性与不确定性分析:金融市场受多种因素影响,价格波动大且难以预测。此项目旨在通过深度学习技术,捕捉市场动态和趋势,提高预测的准确性,为投资者提供科学的决策依据。
(3)投资者对金融数据理解的局限性:许多投资者在面对海量金融数据时感到无所适从。此项目通过开发一个直观的金融数据分析系统,帮助投资者更好地理解和分析数据,降低投资风险。
(4)金融数据分析的效率与准确性:传统的人工分析方法耗时耗力且易出错。此项目通过自动化处理和智能分析,提高了金融数据分析的效率和准确性,为投资者节省了时间和精力。
三、预期成果
(1)在中文学术期刊或国际会议上发表1篇学术论文;
(2)参加上海市应用技术比赛、“互联网+”创新创业大赛;
(3)实现基于Prompt设计、RAG设计、Agent设计的金融大模型建立;
(4)开发基于Vue+FastAPI+MySQL框架的金融数据分析系统;
(5)创建基于大模型的金融数据分析系统;
(6)申请相关软著;
(7)推广基于大模型的金融数据分析系统。
前期(2024.10.20—2024.11.8)
任务分配、查阅资料、数据收集、问卷调查、结果统计、方案设计
中期(2024.11.9—2025.5.31)
数据整合、结果分析、理论研究、算法设计、跑通试验、系统搭建、中期检查
后期(2025.6.1—2025.11.31)
进行调试、算法优化、外观美化、撰写论文、总结报告、成果推广、参加答辩
1、金融数据分析方法
(1)传统金融数据分析方法
传统的金融数据分析方法主要为基于时间序列的方法,通过使用ARMA模型和GARCH模型对上海证券交易所的上证综合指数进行时间序列分析和预测。采用滚动预测方式,比较了不同步长的模型,并发现步长为1时平均误差率不超过0.5%,而步长为3时平均误差率在0.5%到0.6%之间,但可以直接向前预测3天的收盘价。同时对国内两大证券交易所的其他6种股票指数进行了类似的分析。
传统方法的局限性主要在于其数据来源较为单一,主要来源于股票价格、财务报表等,这些信息也存在滞后性,无法保证及时更新;同时模型假设具有一定的局限性,然而在实际市场中,这些假设可能不完全成立,导致模型的适用性和预测能力受到限制。
(2)基于人工智能的金融数据分析方法
随着金融信息化的发展,金融行业产生的数据呈现指数级增长,洪永淼等人从经济学和方法论视角探讨了大数据对经济学实证研究的范式和方法的变革,例如从模型驱动到数据驱动、从低维建模到高维建模、从结构化数据到非结构化数据的变革。
传统的基于时间序列的方法已经不能满足金融大数据的需要。将机器学习算法中的聚类分析应用于金融数据分析中,对金融投资中的股票收益性和成长性进行了分析,建立了指标体系,帮助投资者确定投资范围和价值,以准确了解股票特性和做出最佳投资决策;将遗传算法和神经网络相结合,对股票价格进行预测,实验结果表明,该方法能在保持预测精度的同时有效减少变量个数,解决了神经网络模型中变量选择的难题。
Goodell等人对于人工智能在金融领域中的应用进行了分析,结果表明,金融学领域中存在人工智能应用的主要为三个方向:投资组合构建、估值和投资者行为;金融欺诈和困境分析;以及情绪推断、预测和规划。
孙艳华等人基于Python平台构建了金融数据分析系统,主要包括数据获取、清洗、处理和可视化等步骤。利用Tushare获取股票信息和AkShare获取微博舆情信息,应用均线策略、动量策略、配对交易等经典交易策略进行模拟,并生成交易信号和进行风险评估,最终将结果可视化呈现。蔡俊杰等人开发了一套网络金融数据挖掘与分析决策系统,结合最新技术包括大数据、云计算和人工智能,利用全局数据监控、高频金融数据建模和智能模型匹配优化等技术对市场进行监控预测,同时采用网络爬虫、文本挖掘和链接排序算法等技术来实现对金融市场动态的分析和热点信息的追踪。
2、大模型及其训练
(1)金融大模型
随着人工智能技术的不断进步,大型语言模型(如ChatGPT)在自然语言处理领域取得了巨大成功。这些模型利用深度学习技术和大规模数据集,在各种语言任务上展现出了强大的性能。ChatGPT作为其中的代表,具有处理自然语言的能力,能够生成流畅、连贯的文本,被广泛应用于对话系统、语言生成等领域。金融领域作为一个重要的应用领域,也开始关注并尝试应用大型语言模型。金融数据分析作为金融领域的核心任务之一,对于大型语言模型的应用需求尤为迫切。
在通用大模型应用于金融领域的研究中,LAKKARAJU等人测试了基于大型语言模型(LLM)的聊天机器人在个人理财领域的表现并与基于规则的聊天机器人 SafeFinance进行比较,实验结果表明尽管基于 LLM 的聊天机器人在某些方面表现出色,但在提供一致可靠的金融信息方面仍存在重要差距。
因此,在金融领域,越来越多的学者开始使用专业领域语料库训练金融大模型,例如 FinBERT[9]、InvestLM[10]、BloombergGPT[11],这些大模型在金融领域的表现尤为出色,LI 等人回顾了当前在金融领域中利用LLMs的方法,包括通过零样本或少样本学习利用预训练模型,对领域特定数据进行微调,以及从头开始训练自定义LLMs,并总结评估了在金融领域自然语言处理任务上的改进,为应用LLMs推进金融人工智能提供了路线图。
(2)大模型微调
在优化大模型微调技术方面,DETTMERS等人提出了QLoRA,一种高效的微调方法,通过一个冻结的、4位量化的预训练语言模型将梯度反向传播到低秩适配器(LoRA)。其可以在单个48GB GPU上减少内存使用量,从而在保持完整的16位微调任务性能的同时,对一个65B参数模型进行微调。
TEIXEIRA等人提出了一种新颖的提示工程方法,名为标签指导提示(LGP),用于增强大型语言模型(LLMs)生成可靠的信用风险报告的能力。LGP向LLM提供带有注释的少样本示例以及描述用于信用风险评估的贝叶斯网络中变量之间方向、路径和交互的文本,从而促进推理。实验结果证明,标签指导提示可以提高LLMs在复杂问题解决任务中的性能,达到或超过人类专家的水平。
DENG等人采用了半监督学习方法,利用大型语言模型(LLM)生成Reddit帖子的弱金融情绪标签,并用这些数据训练了一个可用于生产环境的小型模型。研究发现,通过引导 LLM 生成思维链总结并迫使其经过多个推理路径,可以生成更稳定和准确的标签,同时使用回归损失进一步提高了蒸馏质量。最终模型仅需少量提示即可与现有监督模型相媲美。
CHU等人提出了一种数据中心的方法,以使大型语言模型更好地处理金融任务,核心观点是与其一次性将所有内容都加载到LLM中,不如预处理和预理解数据更为有效。其使用多任务提示为基础的微调来创建一个金融LLM(FLLM),以实现数据预处理和预理解。然而,每个任务的标记数据都很少。实验证明,FLLM明显优于设计用于原始文本的基线金融LLM,在金融分析和解释任务上实现了最先进的水平。
3、Agent智能代理
YANG等人对于大型语言模型的智能代理能力进行分析,得出了将代码整合到预训练数据中有如下优势:(1)释放LLMs的推理能力,使它们能够应用于更复杂的自然语言任务;(2)引导LLMs生成结构化和精确的中间步骤,然后通过函数调用将其连接到外部执行端点;以及(3)利用代码编译和执行环境,这也为模型改进提供了多样化的反馈的结论。
Wu等人提出了一个基于大型语言模型的Agent框架——AutoGen。AutoGen是一个开源框架,允许开发者通过多个代理进行对话来完成任务。AutoGen代理是可定制的、可对话的,并且可以在使用LLMs、人类输入和工具的各种模式下运行。AutoGen作为一个通用基础设施,可用于构建各种复杂度和LLMs规模参数的不同应用程序。实证研究证明了该框架在许多示例应用中的有效性,涵盖的领域包括数学、编码、问答、运筹学、在线决策、娱乐等。
4、系统设计
4.1 首页模块设计
用户可以在首页获取最新的新闻、热门股票、指数等信息。系统调用爬虫和API获取这些信息并保存到Redis数据库中,每小时自动更新一次数据库,如图3-4所示。
4.2 数据分析模块
数据分析模块分为情感分析、财报分析、文本总结、市场预测、风险评估、事件分析以及行业研究等功能模块。其中财报分析功能依靠RAG技术实现,市场预测、风险评估、事件分析、行业研究功能依靠Agent技术实现,如图3-5所示。
4.3 用户管理模块
用户管理包括启用/禁用用户以及用户权限管理功能。具体实现方法将为修改数据库用户表中的disabled字段和role字段。系统在接收到用户管理请求时,首先判断用户是否具有对应的权限,否则返回 HTTP 403错误,其中用户管理需要管理员及以上权限,权限管理需要超级管理员权限。
4.4 用户注册、登陆模块
用户注册和登录模块依赖数据库的写入和查询操作。在注册时,系统将在前端会对密码强度进行校验;在后端,系统将会对邮箱的唯一性进行校验,且对密码进行Bcrypt加密。在登陆时,系统将会校验用户输入的密码的哈希值是否与数据库中的哈希值匹配,如果匹配则生成 JWT Token,前端接收到JWT Token后会进行存储。在之后用户的每一个操作中,前端会在HTTP请求的Headers里面加入AccessToken字段,其值为JWT Token,后端接收到AccessToken 之后可以解码获取用户身份。
4.5 历史记录、审计日志模块
用户在每一次登陆/数据分析的操作后,系统将会在历史记录/操作日志表里面插入对应的记录。
科研或教学实验基地:自然语言处理与大数据实验室、奉贤信息楼四楼
实验仪器设备的配置:电脑、服务器、手机
图书资料(查询了高水平的论文):
[1] 陈颖. 基于时间序列分析方法的金融数据研究[D].大连理工大学,2020.
[2] 洪永淼,汪寿阳.大数据如何改变经济学研究范式?[J].管理世界,2021,37(10):40-55+72+56.
[3] 冯伟. 聚类分析在金融数据分析中的应用研究[D].辽宁师范大学,2011.
[4] 黄霞. 基于神经网络和遗传算法的金融数据分析方法研究[D].广东财经大学,2018.
[5] GOODELL J W, KUMAR S, LIM W M, et al. Artificial intelligence and machine
learning in finance: Identifying foundations, themes, and research clusters from bibliometric analysis [J]. J Behav Exp Financ, 2021, 32: 19.
[6] 孙艳华,冯妍,李宏然.基于 Python 平台的金融数据分析技术研究[J].信息与电脑(理论版),2020,32(15):155-159.
[7] 蔡俊杰,王昂青,邹金言等.基于大数据与人工智能下的金融分析决策系统的设计与实现[J].现代工业经济和信息化,2016,6(11):86-88+97.DOI:10.16525/j.cnki.14-1362/n.2016.11.36.
[8] LAKKARAJU K, JONES S E, VURUMA S K R, et al. LLMs for Financial Advisement: A Fairness and Efficacy Study in Personal Decision Making; proceedings of the4th ACM International Conference on AI in Finance (ICAIF), Brooklyn, NY, F Nov 27-29, 2023 [C]. Assoc Computing Machinery: NEW YORK, 2023.
[9] HUANG A H, WANG H, YANG Y. FinBERT: A large language model for extractinginformation from financial text[J]. Contemporary Accounting Research, 2023, 40(2): 806-841.
[10]YANG Y, TANG Y, TAM K Y. Investlm: A large language model for investment using financial domain instruction tuning[J]. arXiv preprint arXiv:2309.13064, 2023.
[11]LI Y H, WANG S F, DING H, et al. Large Language Models in Finance: A Survey;proceedings of the 4th ACM International Conference on AI in Finance(ICAIF), Brooklyn, NY, F Nov 27-29, 2023 [C]. Assoc Computing Machinery: NEW YORK, 2023.
[12]WU S, IRSOY O, LU S, et al. Bloomberggpt: A large language model for finance[J]. arXiv preprint arXiv:2303.17564, 2023.
[13]岳增营,叶霞,刘睿珩.基于语言模型的预训练技术研究综述[J].中文信息学报,2021,35(09):15-29.
[14]HU Z, LAN Y, WANG L, et al. LLM-Adapters: An Adapter Family for ParameterEfficient Fine-Tuning of Large Language Models[J]. arXiv preprint arXiv:2304.01933, 2023.
[15]DETTMERS T, PAGNONI A, HOLTZMAN A, et al. QLoRA: Efficient Finetuning of Quantized LLMs[C/OL]//OH A, NEUMANN T, GLOBERSON A, et al. Advances in Neural 基于大模型的金融数据分析系统 42Information Processing Systems: 36. Curran Associates, Inc., 2023: 10088-10115.https://proceedings.neurips.cc/paper_files/paper/2023/file/1feb87871436031bdc0f2beaa62a049b-Paper-Conference.pdf.
[16]TEIXEIRA A C, MARAR V, YAZDANPANAH H, et al. Enhancing Credit Risk Reports Generation using LLMs: An Integration of Bayesian Networks and Labeled Guide Prompting; proceedings of the 4th ACM International Conference on AI in Finance (ICAIF), Brooklyn, NY, F Nov 27-29, 2023 [C]. Assoc Computing Machinery: NEW YORK, 2023.
[17]DENG X, BASHLOVKINA V, HAN F, et al. What do LLMs Know about FinancialMarkets? A Case Study on Reddit Market Sentiment Analysis; proceedings of the 32nd World Wide Web Conference (WWW), Austin, TX, F Apr 30-May 04, 2023 [C]. Assoc Computing Machinery: NEW YORK, 2023.
[18]CHU Z, GUO H, ZHOU X, et al. Data-centric financial large language models[J]. arXiv preprint arXiv:2310.17784, 2023.
[19]YANG K, LIU J, WU J, et al. If llm is the wizard, then code is the wand: A survey on how code empowers large language models to serve as intelligent agents[J]. arXiv preprint arXiv:2401.00812, 2024.
[20]Wu Q, Bansal G, Zhang J, et al. Autogen: enabling next-gen llm applications via multiagent conversation framework[J]. arXiv preprint arXiv:2308.08155, 2023.
[21]ZHANG B Y, YANG H Y, ZHOU T Y, et al. Enhancing Financial Sentiment Analysis via Retrieval Augmented Large Language Models; proceedings of the 4th ACM International Conference on AI in Finance (ICAIF), Brooklyn, NY, F Nov 27-29, 2023 [C]. Assoc Computing Machinery: NEW YORK, 2023.
[22]SEZER O B, GUDELEK M U, OZBAYOGLU A M. Financial time series forecastingwith deep learning : A systematic literature review: 2005-2019 [J]. Appl Soft Comput, 2020, 90: 32.
[23]JING Z, SU Y, HAN Y, et al. When Large Language Models Meet Vector Databases: A Survey[J]. arXiv preprint arXiv:2402.01763, 2024.
[24]LEWIS P, PEREZ E, PIKTUS A, et al. Retrieval-augmented generation forknowledge-intensive nlp tasks[J]. Advances in Neural Information Processing Systems, 2020, 33: 9459-9474.
[25]WEI J, WANG X, SCHUURMANS D, et al. Chain-of-thought prompting elicits
reasoning in large language models[J]. Advances in neural information processing systems, 2022, 35: 24824-24837.
[26]DONG Q, LI L, DAI D, et al. A survey on in-context learning[J]. arXiv preprint arXiv:2301.00234, 2022.
[27]HUANG Y, CHEN Y, YU Z, et al. In-context learning distillation: Transferring fewshot learning ability of pre-trained language models[J]. arXiv preprint arXiv:2212.10670, 2022.基于大模型的金融数据分析系统 43
[28]RUAN J, CHEN Y, ZHANG B, et al. Tptu: Task planning and tool usage of large language model-based ai agents[J]. arXiv preprint arXiv:2308.03427, 2023.
[29]WU K, WU E, ZOU J. How faithful are RAG models? Quantifying the tug-of-warbetween RAG and LLMs’ internal prior[J]. arXiv preprint arXiv:2404.10198, 2024.
[30]ZHONG W, GUO L, GAO Q, et al. Memorybank: Enhancing large language modelswith long-term memory[C]//Proceedings of the AAAI Conference on Artificial Intelligence: 38. 2024: 19724-19731.
[31]WANG Z, MAO S, WU W, et al. Unleashing the emergent cognitive synergy in large language models: A task-solving agent through multi-persona self-collaboration[J]. arXiv preprint arXiv:2307.05300, 2023.
[32]HUANG Y, HUANG J. A Survey on Retrieval-Augmented Text Generation for Large Language Models[J]. arXiv preprint arXiv:2404.10981, 2024.
实验或实践场地:自然语言处理与大数据实验室、奉贤信息楼四楼等。
| 开支科目 | 预算经费(元) | 主要用途 | 阶段下达经费计划(元) | |
|---|---|---|---|---|
| 前半阶段 | 后半阶段 | |||
| 预算经费总额 | 10000.00 | 材料、设备及文献等 | 4500.00 | 5500.00 |
| 1. 业务费 | 7000.00 | 论文出版、文献检索、计算分析等 | 2500.00 | 4500.00 |
| (1)计算、分析、测试费 | 2500.00 | 计算、测试 | 1000.00 | 1500.00 |
| (2)能源动力费 | 0.00 | 无 | 0.00 | 0.00 |
| (3)会议、差旅费 | 1000.00 | 会议及差旅 | 500.00 | 500.00 |
| (4)文献检索费 | 1000.00 | 检索文献 | 1000.00 | 0.00 |
| (5)论文出版费 | 2500.00 | 发表论文 | 0.00 | 2500.00 |
| 2. 仪器设备购置费 | 2000.00 | 计算机备用件,需要的软件及硬件材料等 | 1500.00 | 500.00 |
| 3. 实验装置试制费 | 0.00 | 无 | 0.00 | 0.00 |
| 4. 材料费 | 1000.00 | 打印、复印费及购买文具等 | 500.00 | 500.00 |