- 金融科技
- 示例工程
【免费下载链接】ai_quant_trade
Stock AI Trader: 1-stop platform for learning, sim & live trading. Covers: stock basics, strategies, LLMs, factor mining, ML/DL/RL, graph nets, HFT, C++ deploy & JoinQuant code. 股票AI操盘手:一站式学习、模拟、实盘平台。涵盖:股票基础、策略、大模型、因子挖掘、机器学习/深度学习/强化学习、图网络、高频交易、C++部署及聚宽代码。
导读
FinGPT 是 AI4Finance 基金会推出的开源金融大语言模型(FinLLM)项目,采用"数据中心(Data-centric)"的方法,为金融报表解读、数据分析、股票与量化交易等场景提供从数据采集、模型微调到应用构建的完整资源栈。本文基于 ai_quant_trade 仓库中的 FinGPT 资源笔记,结合仓库内egs_llm大模型训练实践与相关论文笔记,系统讲解 FinGPT 的五层全栈框架、FinGPT-Forecaster 预测应用的使用方式、轻量微调(LoRA)方法,以及情感因子在量化交易中的落地思路,帮助读者理解"无需从零训练大模型、调用 API 加轻量微调即可构建金融 AI 应用"的核心方法论。
1. 项目资源概览与现状
FinGPT 由 AI4Finance-Foundation 维护,围绕金融大语言模型提供三类核心资产:
- 开源代码仓库(GitHub 上约 15.9k stars),提供 FinLLM 全栈框架的实现;
- 官方网站与在线文档,其中 FinNLP 文档站以中文/英文双语介绍框架设计,便于中文开发者快速上手;
- Hugging Face 模型与数据集(FinGPT 组织主页),是目前最直接的资产来源:
- 11 个微调模型:对 Qwen、ChatGLM、Llama、Falcon、InternLM 等主流开源基座均做了金融领域微调,可直接下载使用;
- 14 个数据集:覆盖股价预测、文本分类、情感分析、实体抽取等金融 NLP 任务,兼顾训练与评测需求。
需要特别说明的现状约束:FinGPT 代码已于 2023 年 11 月停止更新。这意味着其框架设计、模型与数据资产仍然可用,但后续不再获得官方维护,读者在二次开发时需自行承担兼容性与依赖维护工作。
该资源笔记还附带了明确的免责声明:文章仅用于教育和研究目的,不用于真实交易或投资,不提供任何保证或担保,过去的表现并不代表未来的结果。使用相关软件即表示同意仅将其用于学习目的——这一边界同样适用于本文引用的所有实践。
2. 核心方法论:数据中心(Data-centric)路线
FinGPT 最核心的设计理念是:在数据中心的 NLP 领域,我们不需要从头开始训练模型,只需要调用 API 和进行轻量级的微调。
这一理念直击金融大模型的两大痛点:
- 数据是稀缺资源:金融领域的高质量标注数据难以获取,从头预训练一个金融大模型成本极高;
- 金融数据高度动态:市场信息时效性极强,模型需要持续适配新数据,频繁全量重训不现实。
因此 FinGPT 选择"通用大模型 + 金融数据轻量微调"的路线:左侧调用现成的 LLM API(如 GPT 系列等商用服务),中间使用开源基座模型(Llama、Qwen、ChatGLM、Falcon、InternLM 等),右侧采用 LoRA 等轻量微调方法适配金融语料。据项目说明,每次微调成本不到 300 美元,使个人研究者和中小团队也能负担得起金融大模型的定制。
3. FinGPT 五层全栈框架
FinGPT 将 FinLLM 的开发拆解为五个层次,从数据到应用逐层递进,这也是其"全栈"定位的骨架:
| 层次 | 定位与职责 |
|---|---|
| 数据源层 | 确保全面的市场覆盖,通过实时信息捕获解决金融数据的时间敏感性问题 |
| 数据工程层 | 专为实时 NLP 数据处理设计,解决金融数据高时间敏感度、低信噪比的固有挑战 |
| LLM 层 | 聚焦 LoRA 等微调方法,减轻金融数据高度动态性带来的模型漂移,确保相关性和准确性 |
| 任务层 | 执行基础任务,是 FinLLM 领域性能评估与交叉比较的基准 |
| 应用层 | 展示实际应用和演示,突出 FinGPT 在金融领域的潜在能力 |
整个项目由 4 个部分组成,构成完整的数据-模型-应用闭环:
- 数据源部分:从互联网收集历史和流媒体数据;
- 数据工程部分:对数据进行清洗、标记化(tokenization)处理和提示工程(prompt engineering);
- 大语言模型(LLMs)部分:以不同方式使用 LLM——既可以用收集到的数据训练轻量级微调模型,也可以使用数据配合现成模型或 LLM API 支撑上层应用;
- 应用程序部分:使用数据和 LLM 构建丰富的金融应用。
值得强调的是,数据工程层中的"提示工程"与"标记化"是 FinGPT 将原始新闻、财报等非结构化文本转化为模型可学习样本的关键环节,这与仓库内egs_llm/a01_train/a01_unsloth_stock_forcaster/a03_data_process中将指令数据重组为对话格式的处理思路一脉相承(详见下文第 6 节)。
4. 数据层:多样化的合规数据获取
FinGPT 的数据层通过API、网络抓取工具和数据库访问三类手段,从金融新闻、社交媒体、报告文件、趋势数据和学术数据集中获取多样化数据,目的是"确保合法和合规的实时更新和数据处理"。
具体可归纳为四类数据来源:
- 金融新闻:市场动态、公司公告的一手信息来源,是情绪分析和事件驱动的原料;
- 社交媒体:如 Twitter/X 上的散户情绪与讨论热点,构成另类情感因子;
- 报告文件:财报、研报等结构化程度较高的长文本,用于摘要与基本面解读;
- 趋势数据与学术数据集:为基准测试与复现提供规范化的公共数据。
这一数据分层思想在仓库中有直接呼应:egs_data目录收录了 akshare、tushare、eastmoney、baostock 等股票数据源,以及 finnhub、gdelt、news 等新闻数据源的使用示例,可作为 FinGPT 数据工程层的本地数据补充;而 Unsloth 股价预测模型的数据下载脚本 中直接使用huggingface-cli download --repo-type dataset拉取FinGPT/fingpt-forecaster-sz50-20230201-20240101、FinGPT/fingpt-forecaster-dow30-202305-202405等 FinGPT 官方数据集,注释明确说明"finGPT 提供数据,覆盖预训练、微调、DPO、推理训练"——即 FinGPT 的数据资产在仓库实践中被作为训练数据的首选来源之一。
5. 模型层:FinGPT-Benchmark 与轻量微调
5.1 FinGPT-Benchmark 的指令调优范式
FinGPT-Benchmark 引入了一种针对金融领域 LLM 优化的新型指令调优范式,目标是:
- 增强开源大模型对各种金融数据集的适应性;
- 促进对特定任务、多任务和零样本指令调优任务的成本效益、系统化基准测试。
其核心思想是让金融模型的能力可以通过标准化数据集被反复验证和横向对比,而非各自为战。
5.2 微调方法:LoRA 与模型组合
模型层的具体形态是"左边 LLM APIs + 中间微调模型 + 右边微调方法"的组合:
- LLM API:可直接调用的商用模型服务,适合快速原型验证;
- 微调基座:Hugging Face 上的 11 个 FinGPT 微调模型,覆盖 Qwen、ChatGLM、Llama、Falcon、InternLM 五类开源基座;
- 微调方法:以LoRA(Low-Rank Adaptation)为代表的参数高效微调技术,只更新少量低秩适配参数,显著降低显存与训练成本。
LoRA 路线的工程价值在仓库的 Unsloth 推理型股价预测模型训练教程 中有完整的实证:该实践采用Unsloth-Qwen3-0.6B-bnb-4bit基座 + 4-bit LoRA(r=32、lora_alpha=32、target_modules覆盖 q/k/v/o 与门控投影矩阵),单卡 8 分钟即可完成训练,在 500 条测试集上微调模型准确率(49%)超过原版基座(47.4%)与蒸馏数据来源 DeepSeek-R1(45.6%)。这印证了 FinGPT"轻量微调即可获得金融领域适配能力"的方法论。
6. FinGPT-Forecaster:新闻驱动的股价预测应用
FinGPT 最具代表性的应用是FinGPT-Forecaster,一个基于新闻输入预测股价走势的演示应用。其使用方式如下:
输入参数:
- 股票代码:例如 AAPL、MSFT、NVDA(也可覆盖 A 股代码,如仓库下载脚本中的 sz50 数据集);
- 希望预测发生的日期(格式
yyyy-mm-dd); - 过去几周检索市场新闻的次数:控制新闻窗口大小与数据量;
- 是否添加最新的基本财务信息作为附加信息:决定是否融合基本面数据。
输出结果:
点击提交后,应用返回对该公司的全面分析以及对下周股价走势的预测。
该应用的"新闻窗口 + 股价预测"模式,正是仓库内 Self-Reflective Predict 论文笔记 中FinGPT-Forecaster 被列为基准模型的原因——该笔记研究的 Summarize-Explain-Predict(SEP)框架在实验设置中明确将 FinGPT-Forecaster 与 VAE+Attention、GRU+Attention、Transformer、GPT-3.5-turbo、Vicuna 等一起作为对比基线,说明 FinGPT-Forecaster 已成为学术界衡量可解释股票预测模型的标准参照之一。
从工程落地的角度,仓库给出了完整的"下载数据 → 处理 → 训练 → 测试"链路:
- 数据下载:通过 hf_mirror_download_data.sh 拉取 FinGPT 官方 forecaster 数据集(sz50、dow30 等);
- 数据格式处理:将"新闻输入 + 指令 + 推理过程 + 涨跌标签"重组为多轮对话格式(见
a03_data_process/process_fin_gpt_forecaster.py),输入模板形如:
###新闻### 新闻:Date:2021-06-28, Stock:药明康德,过去五日的新闻为: ... ###任务### 请根据过去五个交易日内关于该股票的新闻,预测下一个交易日该股票的涨跌, 如果预测下一个交易日该股票会涨,请输出[上涨],如果预测下一个交易日该股票会跌,请输出[下跌]- 模型训练:使用 Unsloth + 4-bit LoRA 微调 Qwen3 系列基座,通过
<think>推理标签引导模型先分析新闻再输出涨跌判断; - 推理测试:提取输出中的
[上涨]/[下跌]标签计算准确率,并支持 Ollama 部署。
这条链路本质上是 FinGPT "数据工程(提示工程/标记化)→ LLM 层(LoRA 微调)→ 应用层(预测推理)"的本地化复现,可作为读者理解 FinGPT 框架的实战样例。
7. 应用场景:智能投顾、量化交易与策略开发
FinGPT 的应用层展示了三个典型场景:
7.1 智能投顾
FinGPT 演示了 ChatGPT 类模型可以像专业人士一样给出投资建议。项目举例显示:苹果股价的上涨与 ChatGPT 分析新闻后的预测相符,即基于新闻解读的 LLM 分析具备捕捉股价走向的能力。
7.2 量化交易:情感因子信号
这是 FinGPT 强调的最具实操价值的场景:通过结合新闻、社交媒体推文和公司公告的情感因子可以显著提升交易结果。关键结论包括:
- 仅靠Twitter 推文情感因子交易也能取得良好收益;
- 结合ChatGPT 信号可进一步优化结果;
- 在情感因子基础上结合价格因素,交易效果将进一步改善。
这一结论与仓库内情感分析实践相互印证:StructBERT 市场情绪分析 展示了如何用预训练语言模型对金融文本做情感分类,为量化策略提供文本情感特征;而 Unsloth 股价预测模型 则将新闻文本直接作为输入预测涨跌,是"文本信号 → 交易信号"的端到端实现。
7.3 策略开发:自动开发策略
FinGPT 还展示了基于 LLM 自动开发交易策略的能力,即由模型根据市场信息生成或优化策略逻辑,降低策略研发的人工门槛。这一方向与仓库a_全网优秀资源/05_交易策略中各类策略资源、以及10_大模型/06_Agent目录下的 TradingAgents、FinRobot 等多代理策略开发实践形成互补。
8. 在 ai_quant_trade 仓库中的定位与关联资源
在 ai_quant_trade 的资源体系中,FinGPT 笔记位于 a_全网优秀资源/10_大模型/01_通用平台/01_FinGPT.md,属于"大模型通用平台"类目。与之形成知识网络的仓库资源包括:
- Unsloth 推理型股价预测大模型训练:使用 FinGPT 官方数据集做新闻→涨跌推理训练的完整工程实现,含下载脚本、数据处理、训练与测试代码;
- Self-Reflective Predict 论文笔记:以 FinGPT-Forecaster 为基线的可解释股价预测研究;
- 中文金融大模型 CFGPT 训练笔记:在训练流程中明确将 FinGPT 作为金融评测参考基准,并沿用了"预训练数据 + SFT 指令数据 + 任务分解"的数据组织方式;
- egs_llm 大模型应用目录:存放本仓库的金融大模型落地代码。
综上,FinGPT 在仓库中扮演着"金融大模型方法论参照 + 公开模型/数据集供应方 + 评测基准"的三重角色,是连接论文研究(10_大模型/02_交易策略、04_金融大模型)与工程实战(egs_llm)的关键枢纽。
9. 使用注意事项与适用前提
最后,结合项目现状给出使用建议:
- 版本与时效:FinGPT 代码自 2023 年 11 月起停止更新,模型与数据集资产可继续使用,但无官方维护;基于其二次开发时应锁定依赖版本,并留意与新版框架(如 Transformers、PEFT)的兼容性;
- 微调成本:项目宣称每次微调不到 300 美元,前提是采用 LoRA 等参数高效微调方法并以现有开源基座为起点;实际成本取决于基座大小、数据量与训练时长,仓库的 Unsloth 实践(0.6B 模型单卡 8 分钟)给出了一个低成本参考;
- 数据合规:数据源层强调"合法和合规的实时更新",自建数据管道时应同样遵守各数据源的授权条款;
- 使用边界:FinGPT 及其衍生应用仅适用于学习与研究,不构成投资建议,任何基于情感因子或新闻预测的交易决策都存在风险。
参考文档
- FinGPT 资源笔记
- Unsloth 推理型股价预测大模型训练教程
- FinGPT 数据集下载脚本
- Self-Reflective Predict 论文笔记
- 中文金融大模型 CFGPT 训练笔记
- 金融科技
- 示例工程
【免费下载链接】ai_quant_trade
Stock AI Trader: 1-stop platform for learning, sim & live trading. Covers: stock basics, strategies, LLMs, factor mining, ML/DL/RL, graph nets, HFT, C++ deploy & JoinQuant code. 股票AI操盘手:一站式学习、模拟、实盘平台。涵盖:股票基础、策略、大模型、因子挖掘、机器学习/深度学习/强化学习、图网络、高频交易、C++部署及聚宽代码。
相关推荐
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考