开源金融AI Agent平台,利用大语言模型实现自动化股票分析、研报生成与交易策略开发。由AI4Finance Foundation开发,基于AutoGen框架构建多Agent协作能力。
项目概述#
FinRobot是由AI4Finance Foundation开发的开源AI Agent平台,专门为金融应用量身定制。它超越了FinGPT的单模型方法,统一了多种AI技术——包括LLM、强化学习和量化分析——为投资研究自动化、算法交易策略和风险评估提供动力。
四层架构体系#
Financial AI Agents Layer(金融AI Agent层):包含Financial Chain-of-Thought (CoT)提示、市场预测Agent、文档分析Agent、交易策略Agent。
Financial LLMs Algorithms Layer(金融LLM算法层):配置和使用专门针对特定领域调优的模型,支持全球市场分析。
LLMOps and DataOps Layers:实施多源集成策略,为特定金融任务选择最合适的LLM。
Multi-source LLM Foundation Models Layer:支持各种通用和专用LLM的即插即用功能。
Agent认知架构#
Perception(感知):捕获和解释来自市场数据源、新闻和经济指标的多模态金融数据。
Brain(大脑):使用LLM处理数据,利用Financial CoT过程生成结构化指令。
Action(行动):执行Brain模块的指令,将分析洞察转化为可操作的结果。
核心应用场景#
- 自动化投资研究:自动生成专业的股票研究报告
- 算法交易策略:开发和优化交易策略
- 风险评估:综合投资风险评估
- 市场预测:预测股票价格走势方向
- 财务分析:深入分析损益表、资产负债表和现金流量表
Agent工作流示例#
市场预测Agent:基于公司股票代码、最近基本财务数据和市场新闻预测股票走势,分析正面发展和潜在担忧因素,预测未来一周的股价变动。
财务报告生成Agent:基于公司的10-K表格、财务数据和市场数据生成股票研究报告,输出专业PDF格式。
交易策略Agent:具有多模态能力的交易策略制定,支持图表分析、技术指标优化。
Smart Scheduler智能调度器#
- Director Agent:编排任务分配过程
- Agent Registration:管理Agent注册和可用性跟踪
- Agent Adaptor:为特定任务定制Agent功能
- Task Manager:管理和存储不同的基于LLM的Agent
安装与配置#
# 创建虚拟环境
conda create --name finrobot python=3.10
conda activate finrobot
# PyPI安装
pip install -U finrobot
# 或源码安装
git clone https://github.com/AI4Finance-Foundation/FinRobot.git
cd FinRobot
pip install -e .
配置需设置OAI_CONFIG_LIST(OpenAI API密钥)和config_api_keys(金融数据API:FINNHUB、FMP、SEC_API)。
数据源集成#
- Finnhub:实时金融数据
- Financial Modeling Prep (FMP):财务报表与宏观经济数据
- SEC API:美股官方监管文件(10-K, 10-Q)
- Yahoo Finance:通用行情数据
核心依赖#
Agent框架基于pyautogen>=0.2.19,支持OpenAI GPT-4等模型。数据分析使用pandas、numpy、scikit-learn,可视化使用matplotlib、mplfinance,报告生成使用reportlab、pyPDF2,交易回测使用backtrader。