LLM应用剖析: AI对冲基金

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_agent


def create_workflow(selected_analysts=None):
    """利用选择的分析师Agent创建工作流"""
    workflow = StateGraph(AgentState)
    workflow.add_node("start_node", start)

    # 从配置文件中获取分析师Agent节点
    analyst_nodes = get_analyst_nodes()

    # 如果未选择,则默认是所有的分析师Agent
    if 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. 参考

微信

posted @ 2025-11-19 14:56  mengrennwpu  阅读(16)  评论(0)    收藏  举报