【免费下载链接】AlphaFin
AlphaFin 是一个面向金融分析场景的开源项目,把"股票趋势预测"和"金融问答"两大任务整合进同一套 LLM 工作流中。它提供 AlphaFin 数据集、基于 ChatGLM2-6B 微调的 StockGPT-Stage1 / StockGPT-Stage2 两个模型,以及带检索增强(RAG)的 Stock-Chain 分析框架,帮助大模型少说"废话"、多引用真实金融数据。对于想入门"LLM + 金融"方向的开发者来说,这是一个非常好的学习样本。
为什么需要 AlphaFin:LLM 做金融分析的两大痛点 💡
普通大模型直接回答金融问题时,通常有两个硬伤:
- 幻觉严重:会编造不存在的财报数字和新闻事实;
- 数据过期:训练数据有截止日期,回答不了实时行情类问题。
AlphaFin 的思路是"检索增强 + 金融微调":先用 FAISS 向量库检索研报、新闻、行情等真实文档,再交给微调过的金融模型(StockGPT)基于检索内容作答,从而同时解决这两个问题。
两阶段工作流:一个框架覆盖两个任务
AlphaFin 把整个流程拆成两个可独立运行的阶段,分别对应两个脚本入口:
| 阶段 | 任务 | 入口脚本 | 核心模型 |
|---|---|---|---|
| Stage 1 | 股票趋势预测(涨/跌 + 概率) | scripts/stage1_trend_prediction.sh | StockGPT-Stage1(LoRA) |
| Stage 2 | 金融问答(RAG 检索 + 生成) | scripts/stage2_financial_qa.sh | StockGPT-Stage2 + BGE-Large-zh |
Stage 1:股票趋势预测是怎么跑的?
Stage 1 是一条"四步流水线",在 scripts/stage1_trend_prediction.sh 中串联完成:
- 准备数据:下载 K 线数据库到本地
db_file目录; - 模型推理:由 src/stage1_trend_prediction/stockgpt_inf.py 加载 ChatGLM2-6B 和 Stage1 LoRA 权重,对 src/data/stage1_testdata.json 中的研报提示词逐条预测;
- 后处理:src/stage1_trend_prediction/dataprocess_stockgpt.py 从自然语言回答中抽取"涨/跌"结论并清洗无效值;
- 策略回测:src/stage1_trend_prediction/test_strategy.py 结合 tushare 行情数据执行多空策略模拟,并计算年化收益、夏普比率、最大回撤等指标。
最终预测结果会以 Excel 形式输出到 outputs/mldl_prediction.xlsx,方便和机器学习方法对比。
Stage 2:金融问答的 RAG 实战
Stage 2 自带一个 Gradio 网页界面,核心代码在 src/stage2_financial_qa/webui/run.py。它的检索流程是:
- 内置3 个 FAISS 向量库:
研报(reports)、市场数据(prices)、新闻(news),样例数据在 src/data/database_sample/ 下(每个库包含.json原文和.faiss/.pkl索引); - 用户提问时先自动补全日期,再用 BGE-Large-zh 做向量化检索 Top-K 文档;
- 检索内容拼入提示词,交给 StockGPT-Stage2 生成答案,界面上还会同步展示"检索到的知识",方便你核对回答是否有据可依。
数据集:中英双语的金融语料全家桶
AlphaFin 数据集覆盖了 NLI、金融 QA、股票趋势预测等核心任务,英文数据偏传统金融/NLP 任务,中文数据以研报和股票预测为主:
| 数据集 | 规模 | 输入长度 | 输出长度 | 语言 |
|---|---|---|---|---|
| Research | 42K | 712.8 | 5.6 | 英文 |
| StockQA | 21K | 1313.6 | 40.8 | 中文 |
| Fin. News | 79K | 497.8 | 64.2 | 中文 |
| Fin. Reports | 120K | 2203 | 17.2 | 中文 |
| Fin. Reports CoT | 200 | 2184.8 | 407.8 | 中文 |
数据构建过程如图所示:传统研究数据集(FPB、FinQA、Headline 等)之外,还从 Eastmoney、Wall Streetcn、CCTV、Tushare 等渠道加工出金融新闻集和 StockQA,并手工标注了少量 CoT 研报数据。
快速上手:三步跑通 AlphaFin 🚀
1️⃣ 克隆并安装依赖
git clone https://gitcode.com/gh_mirrors/alp/AlphaFin cd AlphaFin pip install -r requirements.txt依赖清单见 requirements.txt,核心包括transformers、peft、langchain、faiss-cpu、gradio、tushare等。
2️⃣ 配置 Stage 1 并运行
先下载 ChatGLM2-6B 与 StockGPT-Stage1 模型权重,然后在 scripts/stage1_trend_prediction.sh 中填入tushare_token和两个本地模型路径,执行:
bash scripts/stage1_trend_prediction.sh3️⃣ 配置 Stage 2 并运行
再准备 ChatGLM2-6B、StockGPT-Stage2 与 BGE-Large-zh 的本地路径,写入 scripts/stage2_financial_qa.sh 后执行:
bash scripts/stage2_financial_qa.sh打开浏览器即可进入 WebUI 体验金融问答;Stage 2 已内置 200 条新闻、研报和股价文档样例,无需额外准备数据即可试用。
效果如何?Stock-Chain 的空头测试成绩
作者用 2020–2023 年的累计收益曲线,把 Stock-Chain 与 FinGPT、FinMA、ChatGPT、xgboost、LSTM 等 8 种方法放在同一张图上对比(多空测试):
结果显示 Stock-Chain 拥有最高的累计收益(AR)并自 2023 年起保持上行趋势,年化收益率(ARR)达到30.8%,验证了"RAG + 金融微调"组合在投资决策辅助上的有效性。
目录结构与关键文件速查
| 路径 | 说明 |
|---|---|
| scripts/stage1_trend_prediction.sh | 趋势预测四步流水线脚本 |
| scripts/stage2_financial_qa.sh | 金融问答 WebUI 启动脚本 |
| src/stage1_trend_prediction/stockgpt_inf.py | Stage1 模型推理入口 |
| src/stage1_trend_prediction/test_strategy.py | 多空策略回测与绩效指标计算 |
| src/stage2_financial_qa/webui/run.py | FAISS 检索 + Gradio 问答界面 |
| src/data/database_sample/ | 新闻/研报/行情三个向量库样例数据 |
| outputs/mldl_prediction.xlsx | ML/DL 方法预测结果样例 |
总结
AlphaFin 用一套清晰的"数据集 + 两阶段模型 + RAG 框架"回答了新手最关心的三个问题:金融 LLM 怎么训(LoRA 微调 + CoT 数据)、幻觉怎么治(FAISS 检索增强 + 有据回答)、效果怎么评(策略回测 + 多空测试)。如果你想系统学习"LLM 落地金融场景",从它的两个 Stage 脚本入手,是最短的上手路径。
⚠️ 提示:本项目内容仅用于学术研究与教育目的,模型输出不构成任何投资建议。
【免费下载链接】AlphaFin
相关推荐
GLM-4.5金融分析:市场趋势预测
GLM 4.5金融分析:市场趋势预测 引言:AI大模型如何重塑金融分析格局 在金融市场瞬息万变的今天,传统分析方法往往难以应对海量数据和复杂关联。GLM 4.5
基础模型大模型人工智能Kronos金融AI完整指南:5分钟搞定股票预测实战
Kronos金融AI完整指南:5分钟搞定股票预测实战 你是否曾经因为无法准确预测股票走势而错失良机?面对复杂的K线图和海量市场数据感到无从下手?Kronos金融
人工智能大模型基础模型预训练金融科技深度学习Kronos金融预测框架:如何在8分钟内完成千只股票精准预测?
Kronos金融预测框架:如何在8分钟内完成千只股票精准预测? 当投资组合从几十只扩展到上千只时,传统股票预测系统往往面临GPU显存告急、内存占用飙升、预测时间
人工智能大模型基础模型预训练金融科技深度学习
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考