正在打开工具详情…
正在打开工具详情…
把交易流程拆成分析师、研究员、交易员、风控与组合经理的多代理框架,产出带 HTML 报告的决策链。只适合做策略研究与回测——官方明确声明它不是投资建议,实盘盈亏自负。
做多代理决策与量化策略研究的人:想看 LLM 分工协作在金融任务上能做到什么程度,或者要一个带前视偏差防护的回测骨架。
想拿它实盘赚钱的人——官方明确声明不是投资建议;也不适合对金融数据严谨性要求不高的玩具项目,它为了 point-in-time 完整性引入了额外复杂度。
TradingAgents 模拟真实交易公司的分工:基本面分析师、情绪分析师、新闻分析师、技术分析师各出报告(并行跑、各用各的工具),多空研究员就这些报告做结构化辩论,交易员汇总决定时机与仓位,风控团队评估波动率与流动性后把评估报告交给组合经理拍板,通过才发到模拟交易所。
工程上它做得比多数同类认真:v0.5.0 之后强调 point-in-time integrity——回测时每个分析日期只能看到那天之前已发布的数据,SEC EDGAR 的财报按「申报时」提供,FRED 宏观与社交情绪也都做了前视偏差过滤。这一点是量化回测里最容易自欺的地方。输出是一份报告,v0.6.0 起还带 complete_report.html 单页版。
模型端很开放:OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen、GLM、MiniMax、OpenRouter、Mistral、Moonshot、Groq、NVIDIA NIM、Bedrock、Azure OpenAI,本地可以接 Ollama,任何 OpenAI 兼容服务(vLLM、LM Studio、llama.cpp)用 openai_compatible 加 backend_url 即可。
必须说清楚:这是研究框架,不是赚钱工具。README 顶部就写着结果取决于骨干模型、温度、交易时段、数据质量等不确定因素,且明确不是财务、投资或交易建议。装它需要 Python 3.11+ 和至少一个模型 Key,跑一次完整分析的花费也要先算清楚。
上手步骤之外的具体做法:常见场景怎么配、命令怎么写、报错怎么处理。
按第一次跑会卡在哪讲:环境与依赖、Key 怎么配、CLI 交互与免交互两种跑法、ticker 后缀怎么填、以及为什么它的回测强调 point-in-time。
bashgit clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents需要 Python 3.11 或更高。两种建法:
bashconda create -n tradingagents python=3.13
conda activate tradingagents
pip install .bashuv venv --python 3.13
source .venv/bin/activate
uv pip install .Docker 也行,但要先填 Key:
bashcp .env.example .env # 填你的 API keys
docker compose run --rm tradingagents改完仓库记得 docker compose build 重建镜像。
至少配一个模型 Key,README 列了长长的清单:OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen(国际 dashscope-intl 与国内 dashscope 分开)、GLM(Z.AI 与 BigModel 分开)、MiniMax、OpenRouter、Mistral、Moonshot、Groq、NVIDIA NIM。
bashexport OPENAI_API_KEY=...
export FRED_API_KEY=... # FRED 宏观数据,免费、可选
export ALPHA_VANTAGE_API_KEY=...几个特殊情况:
.env.enterprise.example 到 .env.enterprise 填凭证。pip install ".[bedrock]",设 llm_provider: "bedrock",配好 AWS 凭证与 AWS_DEFAULT_REGION。llm_provider: "ollama",默认端点 http://localhost:11434/v1,远程就改 OLLAMA_BASE_URL。llm_provider: "openai_compatible",用 backend_url 指过去(vLLM 常是 http://localhost:8000/v1,LM Studio 是 http://localhost:1234/v1)。本地服务不需要 Key。交互式:
bashtradingagents # 或直接 python -m cli.main屏幕让你选 ticker、分析日期、provider、研究深度等。上一轮的答案会作为默认值,一路回车就是重复上次的配置。
免交互(给定时任务或脚本):
bashexport TRADINGAGENTS_LLM_PROVIDER=openai TRADINGAGENTS_QUICK_THINK_LLM=gpt-6-luna TRADINGAGENTS_DEEP_THINK_LLM=gpt-6-sol
export TRADINGAGENTS_OUTPUT_LANGUAGE=English TRADINGAGENTS_MAX_DEBATE_ROUNDS=1 TRADINGAGENTS_MAX_RISK_ROUNDS=1
tradingagents --ticker NVDA --date 2026-09-23 --analysts market,news,fundamentals --save --no-show每个 flag 只跳过它自己那一问。跑在没有终端的环境里,缺任何一问的答案会在开始前就停下并告诉你缺哪个 flag 或变量——这点比静默用默认值强。
它支持 Yahoo Finance 覆盖的任何市场,公司身份与 alpha 基准按市场自动解析:
textUS : AAPL, SPY
香港 : 0700.HK 东京: 7203.T 伦敦: AZN.L
印度 : RELIANCE.NS / .BO 加拿大: .TO 澳洲: .AX
A 股 : 600519.SS(沪) / .SZ(深)
加密 : BTC-USD, ETH-USD--save 之后会多出 complete_report.html:整份报告做成单页,章节列在正文旁边,浏览器、手机、打印都能看。脚本里用 ta.save_reports(state, "NVDA", html=False) 可以不要这一页。
它是这个框架最值得学的地方。v0.5.0 之后的每条 dated path 都做了 point-in-time 处理:
早期版本(v0.3.1 起)陆续修过 Alpha Vantage 的前视问题。如果你自己在上面加数据源,这条约束要自己守住——否则回测结果会漂亮得没有意义。
README 顶部有一句加粗:本框架为研究用途设计,交易表现取决于骨干模型、温度、交易时段、数据质量等不确定因素,不构成财务、投资或交易建议。
跑出来的结论当研究素材看,别当信号下单。