今天在 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 支持状态管理、循环、条件分支,更适合复杂的决策流程。

核心架构分为三层:

  1. 信号生成层:各投资大师 Agent + 技术/基本面/情绪 Agent 生成独立的买卖信号
  2. 风险控制层:Risk Manager 计算风险指标,设定仓位上限
  3. 决策执行层: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 容易触发。

解决方案:

  1. 使用 Groq API(免费且高速)
  2. 在代码中添加重试逻辑(项目已内置 exponential backoff)
  3. 减少并行 Agent 数量
# 在 .env 中配置
GROQ_API_KEY=gsk_xxx  # Groq 免费且速度快

Q2: 本地 Ollama 模型效果差

原因:小参数模型(如 Llama 3 8B)推理能力有限,难以完成复杂的财务分析。

解决方案:

  1. 使用 Qwen2.5 72B 或 Llama 3.1 70B 等大模型
  2. 或者直接使用云端 API(GPT-4o 效果最佳)
# Ollama 拉取大模型
ollama pull qwen2.5:72b
ollama pull llama3.1:70b

Q3: 金融数据获取失败

原因:Financial Datasets API 免费额度有限。

解决方案:

  1. 申请多账号轮换
  2. 使用其他数据源(如 Yahoo Finance、Alpha Vantage)
  3. 修改代码接入你的数据源

Q4: 回测结果与实盘差异大

原因:这是教育项目,回测未考虑交易成本、滑点、流动性等实盘因素。

解决方案:

  • 将此项目作为策略灵感来源,而非直接交易信号
  • 结合自己的判断做最终决策

六、总结

AI Hedge Fund 是一个极具教育价值的项目,它展示了:

  1. 多智能体协作:如何用 LangGraph 编排多个专家 Agent 共同决策
  2. 投资哲学量化:将巴菲特、芒格、达摩达兰等大师的投资思想转化为可执行的算法
  3. 多信号融合:基本面 + 技术面 + 情绪 + 估值的综合决策框架

但务必牢记:这是教育项目,不构成投资建议。真实投资需要考虑交易成本、滑点、流动性、监管合规等诸多因素。项目作者的定位非常清晰——探索 AI 在投资中的应用,而非打造可直接用的交易系统。

项目正在向「持续运行的 AI 基金」演进,支持回测、模拟盘、实盘(可选),Agent 可插拔化。关注 Roadmap 了解最新进展。

⚠️ 免责声明:本项目仅供教育和研究目的,不构成投资建议。任何投资决策请咨询专业顾问,作者不对任何财务损失负责。