1. 背景
-
上周发表了一篇LLM应用--微舆的应用剖析,收到一位读者的留言,想要了解基于LangGraph构建的多Agent应用,因此想起来了几个月前深入研究的LLM应用AI对冲基金(ai-hedge-fund),遂将以前的内容整理整理。
-
AI Hedge Fund是一个基于AI对冲基金的概念验证项目,github星标已达42K+, 探索如何利用人工智能进行交易决策。仅用于教育目的,不用于实操。
2. 核心特色
2.1 内置18+投资Agent
该项目基于LangGraph构建了多Agent的协作机制,包括18个投资领域的Agent,且每个Agent关注各自主题相关的投资指标进行评判,分组如下:
(1) 价值投资Agent
-
1)阿斯沃思·达莫达兰【估值院长】
通过严格的估值分析,关注内在价值和财务指标来评估投资机会。 -
2) 本杰明·格雷厄姆【价值投资之父】
通过系统价值分析,强调安全边际,投资于基本面强劲但被低估的公司。 -
3) 查理·芒格【理性思想家】
倡导价值投资,专注于优质企业和通过理性决策实现长期增长。 -
4) 沃伦·巴菲特【奥马哈先知】
通过价值投资和长期持有,寻找基本面强劲且具有竞争优势的公司。 -
5) 莫尼斯·帕伯莱【丹霍投资者】
通过基本面分析和安全边际,专注于价值投资和长期增长。 -
6) 迈克尔·伯里【大空头逆向投资者】
进行逆向押注,通常做空被高估的市场,并通过深入的基本面分析投资于被低估的资产。 -
7) 基本面分析【财务报表专家】
通过基本面分析,深入研读财务报表和经济指标,评估公司的内在价值。 -
8) 估值分析【公司估值专家】
专长于确定公司的公平价值,使用各种估值模型和财务指标进行投资决策。
(2) 成长投资Agent
-
1) 凯茜·伍德【增长投资女王】
关注颠覆性创新和增长,投资于引领技术进步和市场颠覆的公司。 -
2) 彼得·林奇【十倍股投资者】
使用“买你所知”策略,投资于业务模式易懂且增长潜力强劲的公司。 -
3) 菲利普·费雪【小道消息投资者】
强调投资于管理强大和产品创新的公司,通过小道消息研究专注于长期增长。 -
4) 成长分析【增长专家】
通过增长分析,分析增长趋势和估值,以识别增长机会。
(3) 宏观投资Agent
-
1) 斯坦利·朱肯米勒【宏观投资者】
关注宏观经济趋势,通过自上而下分析,对货币、商品和利率进行大额押注。 -
2) 雷卡·拉凯什·朱朱瓦拉【印度大牛】
利用宏观经济洞察,投资于高增长行业,特别是在新兴市场和国内机会。
(4) 技术分析Agent
- 1) 技术分析【图表模式专家】
关注图表模式和市场趋势来做出投资决策,通常使用技术指标和价格行为分析。
(5) 情感分析Agent
-
1) 新闻情感分析【新闻情绪专家】
通过新闻分析,分析新闻情绪来预测市场动向并识别机会。 -
2) 市场情感分析【市场情绪专家】
通过行为分析,评估市场情绪和投资者行为,以预测市场动向并识别机会。
(6) 活动投资Agent
- 1) 比尔·阿克曼【行动主义投资者】
通过战略行动主义和逆向投资头寸,寻求影响管理层并释放价值。
2.2 集成回溯测试
- 股票数据源是财经数据集,默认美股,且其中AAPL, GOOGL, MSFT, NVDA, and TSLA这5家的数据是免费的,可以输入指定的模型、指定股票名称、回溯测试的起止时间开展测试。
2.3 多模型接入
- 项目适配了第三方大模型以及ollama,其中第三方包括Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.1, DeepSeek R1, DeepSeek V3, Gemini 2.5 Pro, GLM-4.5 Air, Qwen 3 (235B) Thinking, GigaChat-2-Max等。
3. 总体架构

-
整体流程如下:
-
(1) 输入股票名称及起止日期,选择指定模型和指定投资Agent。
-
(2) 每个Agent内部会从financialdatasets中拉取股票的相关数据并缓存在内存中,然后按照指定投资主题逻辑评估股票的投资价值。
-
(3) 每个Agent的内容汇总后,再经过风险管理Risk Manager,输出风险分析。
-
(4) 最后经过组合管理Portfolio Manager,决定最终的投资行为,包括买入、卖出、持有、看多、看空。
4. 核心源码
- 基于LangGraph创建对冲基金多Agent交互的工作流。
from langgraph.graph import END, StateGraph
from src.utils.analysts import get_analyst_nodes
from src.agents.portfolio_manager import portfolio_management_agent
from src.agents.risk_manager import risk_management_agentdef create_workflow(selected_analysts=None):"""利用选择的分析师Agent创建工作流"""workflow = StateGraph(AgentState)workflow.add_node("start_node", start)# 从配置文件中获取分析师Agent节点analyst_nodes = get_analyst_nodes()# 如果未选择,则默认是所有的分析师Agentif selected_analysts is None:selected_analysts = list(analyst_nodes.keys())# 将节点和边加入工作流for analyst_key in selected_analysts:node_name, node_func = analyst_nodes[analyst_key]workflow.add_node(node_name, node_func)workflow.add_edge("start_node", node_name)# 增加风险管理、投资组合管理节点workflow.add_node("risk_management_agent", risk_management_agent)workflow.add_node("portfolio_manager", portfolio_management_agent)# 分析师Agent连接到风险节点for analyst_key in selected_analysts:node_name = analyst_nodes[analyst_key][0]workflow.add_edge(node_name, "risk_management_agent")workflow.add_edge("risk_management_agent", "portfolio_manager")workflow.add_edge("portfolio_manager", END)workflow.set_entry_point("start_node")return workflow
5. 总结与思考
- (1) 该项目重点并不在于LangGraph,而是基于LangGraph上层构建的诸多Agent。能够将投资领域大师们的核心理念简化为逻辑代码,虽不完美,但能略窥一二,对于投资领域小白的我,也是受益匪浅。
- (2) 回溯测试的功能,对于投资来说,是很重要的,一个策略、一种技术对于投资的影响力,需要通过针对历史股票数据的回溯测试,才能验证其准确性与稳定性。
- (3) 虽然项目以美股为主,但如果接入A股数据(比如通过akshare),也可以成功运行,只需要适配数据采集点即可。本人也花费了少许时间简单集成了下。
- (4) 项目目前支持了系统部署,可以在系统页面进行操作。
6. 参考
- (1) 项目地址: https://github.com/virattt/ai-hedge-fund
- (2) 美国财经数据集: https://financialdatasets.ai/
- (3) 国内开源财经数据: https://akshare.akfamily.xyz/

本文主要介绍AI对冲基金的项目架构,以及核心代码