AI4Finance-Foundation/FinRobot

FinRobot: An Open-Source AI Agent Platform for Financial Applications using Large Language Models

FinRobot – 金融领域的开源AI代理平台

是什么 – FinRobot 是三个相关代码库的集合,可让您使用大型语言模型(LLMs)构建代理式金融分析应用。该项目的哲学是:

  • 模型进行推理 – LLM 生成叙述、思维链推理,并决定调用哪个工具。
  • 软件进行计算 – 所有数值金融(DCF、DDM、LBO、蒙特卡洛等)均由纯Python函数执行,确保结果的确定性并提供完整的溯源性。
  • 代理进行协调 – 主导的“协调代理”协调一系列专业代理(数据收集、分析、建模、综合、报告)以及一组辩论代理(多头、空头、裁判),以生成可追溯的研究输出。
  • 系统进行验证 – 审计代理检查数值、记录溯源,并暴露置信度分数。

三个版本,一个金融领域层

目录 版本 目的
finrobot_desktop/ V2 – 生产级桌面应用(PydanticAI + FastAPI + React/Tauri) 功能齐全的股票研究工作站;生成13章报告、实时市场数据和确定性估值表。
finrobot_equity/ V1 – 自托管Web应用(OpenAI Agents SDK) 快速启动服务,将股票代码转换为HTML/PDF研究报告。
finrobot_autogen/ V0 – 教育用AutoGen库(pip可安装的 finrobot) 参考实现和教程;不适用于生产环境。

核心设计思想

  • 确定性计算 + LLM叙述 – 数值来自代码;LLM仅撰写围绕它们的故事。每个输出都带有其溯源信息(哪个操作符生成了该数值,使用了哪个数据源)。
  • 模块化代理栈 – 相同的金融工具可与任何新兴代理框架搭配使用(AutoGen → OpenAI Agents SDK → PydanticAI → 未来DeepSeek-Harness)。
  • 丰富的金融工具 – 内置数据提供者(Finnhub、FMP、yfinance、SEC EDGAR、新闻聚合器、外汇),32个纯Python估值操作符,56个“剧本”涵盖股票研究、投资银行、私募股权和财富管理工作流。

快速入门(概览)

  • 桌面端(V2) – 下载macOS Apple-Silicon的 .dmg 或本地运行源码:
    cd finrobot_desktop
    uv sync               # 安装后端依赖
    (cd desktop && npm install)  # 仅需安装一次前端
    ./dev.sh              # 启动FastAPI后端 + Vite开发服务器
    
    UI可通过 http://localhost:5173 访问,与原生Tauri应用一致。
  • Web应用(V1) – 复制 config.ini.example 并插入API密钥后,运行 ./finrobot_equity/deploy.sh start,在 http://127.0.0.1:8001 提供服务。
  • 教育库(V0) – 使用 pip install finrobot(或从仓库根目录运行 pip install -e .)安装。跟随 finrobot_autogen/tutorials_* 中的Jupyter笔记本,查看代理如何生成年度报告、市场预测、交易策略等。

示例命令(桌面CLI)

finrobot research AAPL          # 生成13章完整股票研究报告
finrobot dcf MSFT               # DCF估值(如适用,自动切换为DDM)
finrobot comps NVDA --peers AMD,INTC
finrobot ic-memo TSLA           # 投资委员会备忘录
finrobot ask AAPL "关税对毛利率的暴露程度如何?"

所有命令均生成包含以下内容的结构化成果:

  • 数据表格(代码计算,明确标注)
  • 叙述部分(LLM生成,引用表格)
  • 置信度分数和审计备注。

生态系统与路线图

  • FinRobot Pro – 托管SaaS版本(https://finrobot.ai/),提供与云服务相同的功能。
  • 未来V3 – 正在使用DeepSeek-Harness框架开发,旨在实现更自主的代理,同时保持验证约束。
  • 研究基础 – 仓库引用白皮书(arXiv 2405.14767),并与近期AI代理文献(如斯坦福的Generative Agents)保持一致。

谁会使用它?

  • 量化分析师 / 股票研究员:希望获得AI增强工作流,但仍确保数字由审计代码生成的人。
  • FinTech开发者:寻找可轻松切换至不同LLM后端的即用型多代理栈的人。
  • 学生和研究人员:对如何将LLM、工具调用与确定性金融结合感兴趣的人。

总结:FinRobot是一个真正的、面向生产环境的开源平台,将大型语言模型与确定性金融计算引擎结合,打包为桌面应用、Web服务和教育库。它牢牢扎根于金融AI代理领域。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目