今天在 GitHub Trending 上看到一个有意思的项目:AI Hedge Fund,一个融合了13位投资大师智慧的多智能体 AI 对冲基金系统,用 LangGraph 编排多 Agent 协作进行投资决策分析。
一、项目概述
AI Hedge Fund 是一个教育性质的概念验证项目,旨在探索 AI 在投资决策中的应用。项目的核心亮点是多智能体协作架构——系统模拟了13位传奇投资大师的投资哲学,加上估值、情绪、基本面、技术面、风险管理、投资组合管理等专业分析 Agent,共同形成投资决策。
核心特性
- 13位投资大师 Agent:包括 Warren Buffett(价值投资)、Charlie Munger(合理价格买优秀企业)、Cathie Wood(颠覆性创新)、Michael Burry(深度价值/做空)、Bill Ackman(激进投资)等
- 多维度分析信号:基本面、技术面、市场情绪、估值模型四维信号融合
- 风险管理模块:计算风险指标、设置仓位限制
- 回测框架:支持历史数据回测验证策略有效性
- Web UI:提供可视化操作界面,适合非技术用户
二、技术原理
架构设计
系统采用 LangGraph 作为多智能体编排框架,这是 LangChain 团队推出的新一代 Agent 编排工具,相比传统的链式调用,LangGraph 支持状态管理、循环、条件分支,更适合复杂的决策流程。
核心架构分为三层:
- 信号生成层:各投资大师 Agent + 技术/基本面/情绪 Agent 生成独立的买卖信号
- 风险控制层:Risk Manager 计算风险指标,设定仓位上限
- 决策执行层:Portfolio Manager 综合所有信号和风险约束,输出最终投资订单
核心技术栈
# pyproject.toml 核心依赖
[tool.poetry.dependencies]
python = "^3.11"
langchain = "^0.3.7"
langgraph = "0.2.56" # 多智能体编排核心
langchain-openai = "^0.3.5" # GPT-4o 等模型支持
langchain-anthropic = "0.3.5" # Claude 模型支持
langchain-groq = "0.2.3" # Groq 高速推理
langchain-ollama = "0.3.6" # 本地模型支持
pandas = "^2.1.0" # 数据处理
fastapi = "^0.104.0" # Web 后端
投资大师 Agent 设计
每个投资大师 Agent 都有其独特的投资哲学和行为模式。以 Ben Graham Agent 为例(价值投资之父,巴菲特的老师):
# 伪代码示意
class BenGrahamAgent:
"""
核心哲学:只买入具有「安全边际」的隐藏宝石
- 价格 < 内在价值的 2/3
- 财务稳健:流动比率 > 2,长期债务 < 净流动资产
- 持续盈利:过去 10 年无亏损
"""
def analyze(self, stock_data):
intrinsic_value = self.calculate_intrinsic_value(stock_data)
margin_of_safety = intrinsic_value * 0.67 # 安全边际线
if stock_data.price < margin_of_safety:
return Signal.BUY
elif stock_data.price > intrinsic_value * 1.1:
return Signal.SELL
return Signal.HOLD
而 Cathie Wood Agent 则完全相反,专注于颠覆性创新:
class CathieWoodAgent:
"""
核心哲学:押注颠覆性创新
- AI、基因测序、区块链、新能源等赛道
- 高增长 > 当前盈利
- 5年以上的长期视野
"""
def analyze(self, stock_data):
innovation_score = self.evaluate_disruption(stock_data)
growth_rate = stock_data.revenue_growth_5y
if innovation_score > 0.8 and growth_rate > 0.3:
return Signal.BUY # 即使当前亏损也可能买入
return Signal.HOLD
数据流分析
┌─────────────────────┐
│ Financial Data API │
│ (价格/财报/新闻) │
└──────────┬──────────┘
│
┌──────────────────────┼──────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Fundamentals │ │ Technicals │ │ Sentiment │
│ Agent │ │ Agent │ │ Agent │
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘
│ │ │
└────────────────────┼────────────────────┘
│
┌────────▼────────┐
│ Valuation Agent │
│ (DCF/相对估值) │
└────────┬────────┘
│
┌────────────────────┼────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Buffett Agent │ │ Munger Agent │ │ Wood Agent │
│ (价值) │ │ (质量) │ │ (成长) │
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘
│ │ │
└────────────────────┼────────────────────┘
│
┌────────▼────────┐
│ Risk Manager │
│ (仓位/止损控制) │
└────────┬────────┘
│
┌────────▼────────┐
│ Portfolio Mgr │
│ (最终决策) │
└─────────────────┘
三、安装与快速开始
环境要求
- Python 3.11+
- Poetry(Python 包管理器)
- API Keys:至少一个 LLM API(OpenAI / Anthropic / Groq / DeepSeek)
安装步骤
# 1. 克隆仓库
git clone https://github.com/virattt/ai-hedge-fund.git
cd ai-hedge-fund
# 2. 安装 Poetry(如未安装)
curl -sSL https://install.python-poetry.org | python3 -
# 3. 安装依赖
poetry install
# 4. 配置 API Keys
cp .env.example .env
# 编辑 .env,填入你的 API keys
.env 文件配置示例:
# LLM API(至少配置一个)
OPENAI_API_KEY=sk-xxx
ANTHROPIC_API_KEY=sk-ant-xxx
GROQ_API_KEY=gsk_xxx
DEEPSEEK_API_KEY=sk-xxx
# 金融数据 API
FINANCIAL_DATASETS_API_KEY=xxx
最简运行示例
# 命令行方式:分析 AAPL, MSFT, NVDA 三只股票
poetry run python src/main.py --ticker AAPL,MSFT,NVDA
# 指定时间范围
poetry run python src/main.py --ticker AAPL --start-date 2024-01-01 --end-date 2024-03-01
# 使用本地模型(Ollama)
poetry run python src/main.py --ticker AAPL --ollama
四、使用方法与实战
基础用法:单只股票分析
poetry run python src/main.py --ticker AAPL
输出示例:
╭─────────────────────────────────────────────────────────╮
│ AI Hedge Fund Analysis Report │
├─────────────────────────────────────────────────────────┤
│ Ticker: AAPL │
│ Date: 2026-07-14 │
├─────────────────────────────────────────────────────────┤
│ Agent Signals: │
│ • Warren Buffett: BUY (margin of safety: 15%) │
│ • Cathie Wood: HOLD (innovation score: 0.72) │
│ • Michael Burry: SELL (overvalued by 12%) │
│ • Technical Agent: BUY (RSI oversold, MACD golden) │
│ • Sentiment Agent: BUY (news sentiment: 0.68) │
├─────────────────────────────────────────────────────────┤
│ Final Decision: BUY (confidence: 0.73) │
│ Position Size: 5% of portfolio │
╰─────────────────────────────────────────────────────────╯
进阶用法:回测验证
# 回测 2024 年全年的策略表现
poetry run python src/backtester.py --ticker AAPL,MSFT,NVDA \
--start-date 2024-01-01 --end-date 2024-12-31
回测会输出:
- 策略收益率 vs 基准(如 S&P 500)
- 最大回撤
- Sharpe Ratio
- 胜率
Web UI 模式
项目提供了 FastAPI + 前端的 Web 应用:
cd app
poetry install
poetry run uvicorn main:app --reload
访问 http://localhost:8000 即可通过可视化界面操作,适合非技术用户。
五、常见问题与解决方案
Q1: API 调用超时/限流
原因:OpenAI 等 API 有速率限制,同时调用多个 Agent 容易触发。
解决方案:
- 使用 Groq API(免费且高速)
- 在代码中添加重试逻辑(项目已内置 exponential backoff)
- 减少并行 Agent 数量
# 在 .env 中配置
GROQ_API_KEY=gsk_xxx # Groq 免费且速度快
Q2: 本地 Ollama 模型效果差
原因:小参数模型(如 Llama 3 8B)推理能力有限,难以完成复杂的财务分析。
解决方案:
- 使用 Qwen2.5 72B 或 Llama 3.1 70B 等大模型
- 或者直接使用云端 API(GPT-4o 效果最佳)
# Ollama 拉取大模型
ollama pull qwen2.5:72b
ollama pull llama3.1:70b
Q3: 金融数据获取失败
原因:Financial Datasets API 免费额度有限。
解决方案:
- 申请多账号轮换
- 使用其他数据源(如 Yahoo Finance、Alpha Vantage)
- 修改代码接入你的数据源
Q4: 回测结果与实盘差异大
原因:这是教育项目,回测未考虑交易成本、滑点、流动性等实盘因素。
解决方案:
- 将此项目作为策略灵感来源,而非直接交易信号
- 结合自己的判断做最终决策
六、总结
AI Hedge Fund 是一个极具教育价值的项目,它展示了:
- 多智能体协作:如何用 LangGraph 编排多个专家 Agent 共同决策
- 投资哲学量化:将巴菲特、芒格、达摩达兰等大师的投资思想转化为可执行的算法
- 多信号融合:基本面 + 技术面 + 情绪 + 估值的综合决策框架
但务必牢记:这是教育项目,不构成投资建议。真实投资需要考虑交易成本、滑点、流动性、监管合规等诸多因素。项目作者的定位非常清晰——探索 AI 在投资中的应用,而非打造可直接用的交易系统。
项目正在向「持续运行的 AI 基金」演进,支持回测、模拟盘、实盘(可选),Agent 可插拔化。关注 Roadmap 了解最新进展。
⚠️ 免责声明:本项目仅供教育和研究目的,不构成投资建议。任何投资决策请咨询专业顾问,作者不对任何财务损失负责。