01

自主交易的愿景

当 AI 接管华尔街的分析工作——这个项目究竟在做什么

想象一个 AI 投资团队

想象你雇了 19 位顶级投资分析师——沃伦·巴菲特、查理·芒格、迈克尔·伯里、凯西·伍德……每人有自己的投资哲学,分析同一支股票,然后一位投资组合经理综合所有意见做出最终交易决策。

ai-hedge-fund 就是这样的系统——但每个"分析师"都是一个 AI Agent,用代码模拟了传奇投资者的分析风格。

⚠️
重要免责声明

这个项目是教育和研究用途——不做真实交易,不是投资建议。它演示的是 AI Agent 协作的架构模式,不是炒股指南。

19 位 AI 分析师——每人一种哲学

系统里有 13 位模拟著名投资者的 Agent,加上 6 个专业分析 Agent:

📊

Warren Buffett Agent

寻找"美好企业以合理价格"——品牌护城河、稳定现金流、长期持有。

📉

Michael Burry Agent

反向投资者,专找被市场低估的深度价值股,有"大空头"精神。

🚀

Cathie Wood Agent

科技颠覆性增长投资——ARK Innovation 风格,押注 5-10 年后的未来。

Risk Manager Agent

不分析个股——专门计算波动率、最大回撤、相关性,控制整体风险敞口。

代码翻译:系统的主入口

整个对冲基金系统的启动代码(来自 src/main.py)展示了它如何组装所有 Agent:

CODE

def run_hedge_fund(
    tickers: list[str],
    portfolio: dict,
    selected_analysts: list[str] = [],
    model_name: str = "gpt-4.1",
):
    workflow = create_workflow(selected_analysts)
    agent = workflow.compile()
    final_state = agent.invoke({
        "messages": [HumanMessage(
            "Make trading decisions."
        )]
    })
    return final_state
            
PLAIN ENGLISH

run_hedge_fund:启动整个 AI 对冲基金分析流程

tickers:要分析的股票代码列表,比如 ["AAPL", "TSLA"]

portfolio:当前持仓情况——持有什么、多少股、多少现金

selected_analysts:选哪些 AI 分析师参与(可以只用部分)

model_name:用哪个大语言模型(GPT/Claude/DeepSeek 都可以)

创建 LangGraph 工作流——把所有选中的 Agent 串成有向图

编译工作流,生成可执行的 Agent 系统

发起运行:给整个系统一个"做交易决策"的指令

等所有 Agent 跑完,返回最终状态(包含每个分析师的信号和最终决策)

初步理解检验

你想给 ai-hedge-fund 添加一个新的"ESG 投资分析师"Agent(只投资环保公司)。你需要修改什么?

02

Agent 团队架构

基本面 / 技术面 / 情绪 / 风险——四类分析师如何分工协作

LangGraph:Agent 的交通调度员

19 个 AI Agent 需要协作——谁先跑,谁后跑,数据怎么传?ai-hedge-fund 用 LangGraph 来管理这个协作——就像交通调度员,让每辆车(Agent)在正确的时间经过正确的路口。

第一层:独立分析师(并行执行)

📋
Fundamentals
📈
Technicals
📰
Sentiment
💰
Valuation
🧠
投资者 Agents

第二层:风险控制

🛡️
Risk Manager

第三层:最终决策

👔
Portfolio Manager
点击任意 Agent 了解它的职责

代码翻译:Fundamentals Agent 的分析逻辑

以基本面分析师为例,看看一个分析 Agent 如何工作(来自 src/agents/fundamentals.py):

CODE

def fundamentals_analyst_agent(state, agent_id):
    financial_metrics = get_financial_metrics(
        ticker=ticker, end_date=end_date
    )
    return_on_equity = metrics.return_on_equity
    thresholds = [
        (return_on_equity, 0.15),
        (net_margin, 0.20),
    ]
    score = sum(m > t for m, t in thresholds)
    signal = "bullish" if score >= 2 else "bearish"
            
PLAIN ENGLISH

基本面分析师函数:分析股票的财务健康状况

调用金融数据 API,获取该股票的财务指标

(股票代码和截止日期)

提取净资产收益率(ROE)——衡量公司用股东钱赚钱的效率

设置评分标准:

ROE 超过 15% 得 1 分(说明资金使用效率高)

净利润率超过 20% 得 1 分(说明赚钱能力强)

统计总分

得分 2 以上:看多(bullish);否则:看空(bearish)

并行执行的力量

19 个分析师 Agent 分析同一支股票——如果串行执行,一个接一个,可能需要几分钟。ai-hedge-fund 利用 LangGraph 的并行执行特性,让多个 Agent 同时分析:

👔
Portfolio Mgr
🔀
LangGraph
📊
AgentState
点击"下一步"看协作流程

架构理解测验

Fundamentals Agent 分析完 AAPL 得出 bullish 信号。它如何把这个结论传给 Portfolio Manager?

03

信号聚合

19 个分析师意见不一,Portfolio Manager 如何做出最终决定

投票还是加权平均?

想象一场投资委员会会议:Buffett 说买,Burry 说卖,Cathie Wood 说强买,基本面分析说中性……Portfolio Manager 的任务是综合这 19 个声音,做出一个决定。

ai-hedge-fund 的做法是把所有信号打包交给 LLM 做最终综合——Portfolio Manager 本身也是一个 AI Agent!

AgentState:Agent 之间的公告板

所有 Agent 通过 AgentState 传递信息。这个状态对象的结构展示了系统的数据模型:

AgentState 所有 Agent 共享的状态对象
messages[]LangChain 消息历史,让 LLM 知道对话上下文
data.tickers[]要分析的股票代码列表
data.portfolio当前持仓:{AAPL: 100股, cash: $50000}
data.analyst_signals所有分析师的信号:{buffett: {AAPL: bullish, confidence: 0.9}}
data.risk_analysis风险管理器的输出:{AAPL: {max_position: 50000, volatility: 0.18}}
metadata.show_reasoning是否打印每个 Agent 的推理过程(调试用)

你是 Portfolio Manager

场景

分析完 TSLA 后,信号如下:Cathie Wood Agent: 强烈看多、Fundamentals Agent: 看空(亏损)、Risk Manager: 最大仓位 $20,000(因高波动率)、Sentiment Agent: 看多(马斯克发推)。你有 $100,000 可用资金。

基于上述信号,最合理的操作是?