TradingAgents:一次性完成安装配置提示词
帮我完成全部安装和配置。
Claude 会安装 TradingAgents,将其连接到 Claude 或你的 ChatGPT 订阅方案,运行一次简单测试,然后向你展示下方的提示词。完成之后,只要复制这份文件后半部分的任意一条提示词,就可以开始使用。
TradingAgents 是一个免费、开源的 AI 投资研究团队,包含分析师、看多研究员、看空研究员、交易员、风险管理团队,以及负责最终决策的投资组合经理。它是一款研究工具,不构成投资建议。本文的基础操作不会进行任何真实交易。
► Binance币安:全球最大的加密货币交易所
➜ https://bit.ly/3PF8egr
➜ 减免20%交易手续费(邀请码:BFCYEW71)
►Hostinger服务器:
➜https://bit.ly/3BysRqP
► OKX欧易《比特币交易所》中文支持最好
➜https://bit.ly/4gjq2d1
➜减免20%交易手续费(邀请码:88576911)
第一部分:安装与配置(提供给 Claude 的操作指令)
你正在为一位可能不懂编程的用户安装 TradingAgents。请自行完成每一个步骤。执行每一步之前,先用一句简短的话说明你将做什么。绝对不要要求用户在聊天中粘贴 API 密钥或密码;密钥应填写到 .env 文件里,你需要帮用户打开该文件。如果某一步失败,立即停止,并用通俗易懂的语言解释原因。
终端环境: 以下所有命令都针对 Bash 终端(Mac、Linux,或 Windows 上的 Git Bash;Claude Code 在 Windows 上默认使用该环境)。Windows 用户需要把文中所有的 .venv/bin/ 替换成 .venv/Scripts/。
第 1 步:检查前置环境
- 检查
git是否正常工作(git --version)。如果没有安装:Mac 上运行xcode-select --install,并让用户点击“安装”;Windows 上让用户从 git-scm.com 安装 Git for Windows。 - 检查
uv是否可用(uv --version)。如果没有安装,请执行:- Mac/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh,然后执行source $HOME/.local/bin/env - Windows(PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex",然后重新打开一个终端。
- Mac/Linux:
uv会自动下载合适的 Python 版本。TradingAgents 要求 Python 3.11 或更高版本,而很多电脑预装的 Python 版本较旧,因此不要直接使用系统自带的 Python。
第 2 步:下载 TradingAgents
将程序安装到用户主目录下名为 TradingAgents 的文件夹中。如果该文件夹已经存在,修改前先征求用户同意。
cd ~ && git clone --branch v0.7.0 --depth 1 https://github.com/TauricResearch/TradingAgents.git
这条命令固定安装 0.7.0 版本,也是本文提示词经过测试时使用的版本。
第 3 步:安装程序
cd ~/TradingAgents && uv venv --python 3.13 && uv pip install .
然后检查安装结果:执行 cd ~/TradingAgents && .venv/bin/tradingagents --help,正常情况下应该显示命令选项列表,其中包括 backtest(回测)和 login(登录)等命令。
第 4 步:连接 AI 模型
询问用户:“你希望使用 ChatGPT Plus/Pro 订阅方案运行,还是使用 Claude API 密钥运行?”
方案 A:使用 ChatGPT 订阅方案(称不会产生额外 API 账单,但会占用订阅方案的使用额度)
- 在后台执行
cd ~/TradingAgents && .venv/bin/tradingagents login chatgpt。命令会输出一个以https://auth.openai.com/开头的链接,随后进入等待状态。 - 将该链接提供给用户,让用户打开链接、登录并授权 TradingAgents。完成后,浏览器会自动跳转回用户电脑上的本地页面。
- 等待命令显示
Signed in to ChatGPT as ...(已登录 ChatGPT)。如果 10 分钟后仍未成功,则终止命令并重新运行。 - 列出用户订阅方案可使用的模型。每行开头的第一个字段就是模型 ID:
cd ~/TradingAgents && .venv/bin/python -c "from tradingagents.llm_clients import chatgpt_auth as a; [print(i, '-', n) for n, i in a.list_models()]"
在第 5 步的两项模型配置中,都使用列表中的第一个模型 ID。
方案 B:使用 Claude API 密钥(按照每次运行的实际用量收费,首次运行后可在 Anthropic 控制台检查费用)
- 让用户前往 console.anthropic.com → API Keys 创建密钥。必须在某个 Workspace(工作区)中创建。“Organization”(组织)范围的密钥会被拒绝。
- 按第 5 步创建
.env文件,替用户打开该文件(Mac 使用open ~/TradingAgents/.env,Windows 使用notepad ~/TradingAgents/.env),再让用户在ANTHROPIC_API_KEY=后面粘贴密钥并保存。 - 测试密钥是否可以使用,但不要打印密钥本身:
cd ~/TradingAgents && .venv/bin/python -c "from dotenv import load_dotenv; load_dotenv('.env'); import anthropic; print(anthropic.Anthropic().messages.create(model='claude-sonnet-5-5', max_tokens=5, messages=[{'role':'user','content':'Say OK'}]).content[0].text)"
如果提示 not scoped to a workspace(密钥不属于工作区),就需要在 Anthropic 控制台的工作区中重新创建密钥。如果提示 invalid x-api-key(无效 API 密钥),说明密钥输入有误或者已经被撤销。
第 5 步:设置配置文件
创建 ~/TradingAgents/.env。当 TradingAgents 从这个文件夹启动时,会自动读取配置。下面的设置能让程序从头到尾执行,不必在过程中反复询问用户。配置值直接填写,不加引号,行尾也不要留空格。
ChatGPT 配置(使用第 4 步得到的模型 ID):
TRADINGAGENTS_LLM_PROVIDER=chatgpt
TRADINGAGENTS_DEEP_THINK_LLM=<model id>
TRADINGAGENTS_QUICK_THINK_LLM=<model id>
TRADINGAGENTS_MAX_DEBATE_ROUNDS=1
TRADINGAGENTS_MAX_RISK_ROUNDS=1
TRADINGAGENTS_OUTPUT_LANGUAGE=English
TRADINGAGENTS_NO_UPDATE_CHECK=1
Claude 配置:
ANTHROPIC_API_KEY=
TRADINGAGENTS_LLM_PROVIDER=anthropic
TRADINGAGENTS_DEEP_THINK_LLM=claude-opus-5-5
TRADINGAGENTS_QUICK_THINK_LLM=claude-sonnet-5-5
TRADINGAGENTS_ANTHROPIC_EFFORT=medium
TRADINGAGENTS_MAX_DEBATE_ROUNDS=1
TRADINGAGENTS_MAX_RISK_ROUNDS=1
TRADINGAGENTS_OUTPUT_LANGUAGE=English
TRADINGAGENTS_NO_UPDATE_CHECK=1
可选功能(免费): 申请 FRED API 密钥(fred.stlouisfed.org → My Account → API Keys)后,可以在分析中加入利率、通货膨胀和 VIX 恐慌指数数据。如果用户需要,就在 .env 中增加 FRED_API_KEY=,并让用户自行粘贴密钥。
第 6 步:执行测试(费用较低,约 2–7 分钟)
运行一次简单的分析,确认整个系统能正常工作。日期使用最近一个工作日,格式为 YYYY-MM-DD。测试结果会写入一个临时记忆文件,因此不会被计入正式的历史分析记录。
Claude(测试时暂时将深度思考模型换成 Sonnet,以节省费用):
cd ~/TradingAgents && TRADINGAGENTS_DEEP_THINK_LLM=claude-sonnet-5-5 TRADINGAGENTS_MEMORY_LOG_PATH=.setup_test_memory.md \
.venv/bin/tradingagents --ticker NVDA --date YYYY-MM-DD --analysts market --save --no-show < /dev/null
ChatGPT:
cd ~/TradingAgents && TRADINGAGENTS_MEMORY_LOG_PATH=.setup_test_memory.md \
.venv/bin/tradingagents --ticker NVDA --date YYYY-MM-DD --analysts market --save --no-show < /dev/null
在后台运行测试,并等待程序输出 Analysis Complete(分析完成)。随后找到报告文件夹,读取最终评级:
REPORT=$(ls -td ~/.tradingagents/logs/reports/NVDA_* | head -1) && head -5 "$REPORT/5_portfolio/decision.md"
用一句话告诉用户最终评级,然后在浏览器中打开 $REPORT/complete_report.html(Mac 使用 open,Windows 使用 start)。
第 7 步:保存操作说明,方便下次使用
把本文件的第二部分和第三部分一字不漏地复制到 ~/TradingAgents/CLAUDE.md。以后只要在 ~/TradingAgents 文件夹中打开 Claude Code,它就会自动读取该文件,这样无需再次拖入本文件,后续提示词也能正常使用。
如果原来已经存在 CLAUDE.md,请把这些内容追加到文件末尾,不要覆盖原有内容。
第 8 步:完成安装
告诉用户:“TradingAgents 已经安装配置完成。下面是你可以直接使用的提示词:”
然后将第三部分的提示词标题列成一个简短的编号菜单,每条占一行。
最后再说一句:“下次只要在 TradingAgents 文件夹中打开 Claude Code,粘贴任意一条提示词就可以使用。安装配置说明已经保存。”
第二部分:如何运行分析(供 Claude 参考)
当用户的提示词要求运行 TradingAgents 时,请遵守以下规则。
运行命令: 每条命令都必须以 cd ~/TradingAgents && 开头,以确保能加载 .env 配置。如果不这样做,程序可能会出现 No terminal to answer the setup questions(没有可用于回答配置问题的终端)错误。
cd ~/TradingAgents && .venv/bin/tradingagents --ticker TICKER --date YYYY-MM-DD --analysts LIST --save --no-show < /dev/null
- 分析日期: 除非用户指定其他日期,否则使用今天。数据按该日期收盘时的情况计算。
- 分析师配置:
- 股票:
market,sentiment,news,fundamentals(市场、情绪、新闻、基本面)。 - 加密货币(
BTC-USD、ETH-USD、SOL-USD)及基金/ETF(SPY、QQQ、GLD、TLT、行业 ETF):使用market,sentiment,news。这些资产没有单独的上市公司基本面。 - 快速模式: 仅使用
--analysts market,费用更低,适合批量筛选股票。
- 股票:
- 用户的现有持仓: 加上
--portfolio my_portfolio.json。这样交易员、风险管理团队和投资组合经理就会结合用户已经持有的仓位进行判断。文件格式见下文。 - 运行时间: 根据使用的模型及分析师数量,一次分析大约需要 2–8 分钟(使用 ChatGPT 订阅方案通常更慢)。请在后台运行,等待
Analysis Complete。最多同时分析 2 个股票代码,否则可能触发 Reddit 数据接口的访问频率限制。 - 查找报告: 终端打印的路径可能会自动换行,不要尝试直接解析这段输出。应该读取对应股票代码最新生成的报告文件夹(文件夹按运行时间命名,而不是分析日期):
REPORT=$(ls -td ~/.tradingagents/logs/reports/TICKER_* | head -1)里面包括:
1_analysts/:市场、情绪、新闻、基本面分析报告。2_research/:bull.md(看多观点)、bear.md(看空观点)、manager.md(研究经理总结)。3_trading/trader.md:入场价、止损价、仓位大小。4_risk/:激进、保守、中立的风险观点。5_portfolio/decision.md:最终评级、总结、目标价格、投资期限。complete_report.html:将整份分析报告汇总为一个网页。用户要求查看报告时,应打开这个文件。
- 评级体系: 从最看多到最看空,依次为 Buy(买入)、Overweight(增持)、Hold(持有)、Underweight(减持)、Sell(卖出)。
Overweight表示持有比例高于常规仓位,比强烈买入的态度温和一些;Underweight表示持有比例低于常规仓位,比直接卖出的态度温和一些。第一次出现评级时,应向用户解释其含义。 - 历史回测: 对过去的分析建议进行评分:
cd ~/TradingAgents && .venv/bin/tradingagents backtest TICKER --start YYYY-MM-DD --end YYYY-MM-DD --every 7 --analysts market < /dev/null- 每个日期都会执行一次单独分析,因此每个日期的费用大致相当于一次快速分析。
- 对加密货币(如
BTC-USD、ETH-USD等),需要添加--asset-type crypto。正常分析通常会自动识别加密货币,但回测默认按股票处理,除非明确指定。 - 每次建议会根据分析日之后 5 个交易日的表现来评分,因此回测结束日期必须至少是 8 个交易日前。
- 程序会按评级输出汇总结果,包括建议次数及平均
alpha(相对市场的超额收益),并提供逐日建议与最终结果的日志路径。读取日志,整理出按日期排列的回测表格。
- 记忆功能: 每只股票、每个日期的第一次分析都会保存到
~/.tradingagents/memory/trading_memory.md。等持有观察期结束后,后续运行会评估之前的建议,并从结果中学习。重复运行同一股票代码、同一日期的分析,不会再次保存。 - 总结分析时: 使用简明易懂的英语,尽量简短。首先给出评级。如果有分析师报告缺少数据(例如
news unavailable,新闻数据不可用),必须说明,让用户知道结论依据有哪些。 - 绝对不要执行真实交易。 该工具用于研究,不构成投资建议。
投资组合文件(~/TradingAgents/my_portfolio.json):当提示词需要该文件时,协助用户填写持仓。
{
"cash": 5000,
"currency": "USD",
"positions": [
{"ticker": "NVDA", "quantity": 40, "average_price": 197.58},
{"ticker": "BTC-USD", "quantity": 0.15, "average_price": 60000}
]
}
投资者资料文件(~/TradingAgents/investor_profile.md):这是一份用简明英语写成的个人投资资料,包含用户的投资目标、年龄、投资期限、风险承受能力、投资风格,以及固定规则,例如“始终保留 10% 现金”“配置 20% 黄金”“至少持有 10% 比特币”等。TradingAgents 本身不会读取它;阅读它的是你(Claude)。当提示词提及投资者资料时,如果文件不存在,应协助用户创建,然后根据其投资规则评估研究团队的评级,并指出哪些建议会违反用户设定的规则。
常见问题排查
No terminal to answer the setup questions:.env中缺少必要设置(见第 5 步)、命令缺少参数,或者命令没有以cd ~/TradingAgents &&开头。错误信息通常会列出缺少的项目。not scoped to a workspace:Claude API 密钥必须在 Anthropic 控制台的某个工作区中创建。invalid x-api-key:.env中的密钥错误或已被撤销。需要重新填写有效密钥。Not signed in to ChatGPT:尚未登录 ChatGPT。重新执行第 4 步方案 A 的登录流程。Model 'claude-sonnet-5-5' is not in the known model list ... Continuing anyway:认为此提示可以忽略,因为模型比 TradingAgents 内置的模型列表更新。structured-output invocation failed ... retrying once as free text:认为可以忽略,程序会自动改用普通文本重试。FRED_API_KEY ... not set:认为可以忽略。程序将跳过宏观数据部分;添加免费的 FRED 密钥即可启用。news unavailable/HTTP Error 429:免费新闻源或 Reddit 数据源没有返回内容,或触发了访问频率限制。程序会跳过相关数据继续分析。
第三部分:13 组可直接复制使用的提示词
把下面任意一段提示词粘贴到 Claude Code。使用前,把方括号中的占位内容替换成你的实际信息。
1. 买入前的第二意见:这笔交易真的值得买吗?
可直接复制的提示词:
请使用 TradingAgents 的完整分析团队,对 [股票代码] 进行今天的分析。我打算买入价值 [金额] 美元的股票,目前持仓情况是 [没有持仓 / 持有 X 股,平均成本 Y 美元]。
请用通俗易懂的中文告诉我:最终投资评级、看多研究员最有说服力的理由、看空研究员最有说服力的理由、什么价格会证明这笔交易判断错误,以及研究团队是否建议减少我的计划买入金额。
最后打开完整分析报告。
2. 寻找超额收益机会:给我的自选股排序
可直接复制的提示词:
请使用 TradingAgents 的快速模式,依次分析以下股票:[NVDA, AMD, AVGO, TSM, PLTR, META]。
将这些股票按照从最看多到最看空的顺序排列成表格,并为每只股票用一句话说明理由。
然后对排名前两位的股票运行完整分析团队,比较哪只股票的投资逻辑更强,以及什么情况会证明该投资逻辑是错误的。
3. 全面检查投资组合
可直接复制的提示词:
请协助我将现有持仓填写到 my_portfolio.json。如果还没有 investor_profile.md,也请帮我创建投资者资料文件。
然后对我持有的每一项资产运行 TradingAgents,并在分析时读取投资组合文件,让每次分析都考虑整个投资组合的情况。
请整理一份表格,列出每项持仓的评级,以及一句话的评级理由。
接下来,结合我的投资者资料,将研究团队建议的三项最重要调整按照紧急程度排序。凡是可能违反我个人投资规则的建议,都要特别标注。
4. 仓位集中度检查:我的投资风险是不是太集中了?
可直接复制的提示词:
请查看 my_portfolio.json 和 investor_profile.md。
按照行业、资产类型和投资主题对我的持仓进行分类,例如人工智能、加密货币、黄金、大型科技股等,并计算每个类别占总投资组合的百分比。
随后,对我风险敞口最大的三个类别所对应的主要持仓,使用 TradingAgents 快速模式进行分析。
请指出哪些类别的持仓集中度超过了投资者资料中设定的范围,并说明研究团队最建议优先减持哪一项持仓。
5. 让看空研究员挑战我的最大持仓
可直接复制的提示词:
我目前最大的持仓是 [股票代码],大约占整个投资组合的 [X]%。
请使用我的投资组合文件,对这只股票运行 TradingAgents。
我只想看两个部分:看空研究员的完整理由,以及风险管理团队对我当前仓位大小的看法。
不要刻意弱化任何风险。最后告诉我,哪一个关键价格或事件最能够证明看空研究员的判断是正确的。
6. 财报前准备:财报公布前一晚应该关注什么?
可直接复制的提示词:
[股票代码] 将于 [日期] 发布财报。
请使用 TradingAgents 分析该股票截至今天的情况。
告诉我看多研究员和看空研究员分别预计什么结果、研究团队认为财报发布后哪些价格水平最重要,以及团队倾向于持仓跨越财报,还是提前减仓降低风险。
7. 行业扫描:找出某个行业最值得关注的三只股票
可直接复制的提示词:
我看好 [半导体] 行业的股票。
请按照市值排序,列出美国上市的 [半导体] 行业市值最大的 50 家公司。
对每家公司使用 TradingAgents 快速模式进行分析,最多同时运行两只股票,并将它们按照从最看多到最看空的顺序排列成表格。
然后对排名前三的股票运行完整分析团队,告诉我哪一只股票的投资逻辑最强,以及什么情况会证明每一只股票的判断是错误的。
注意:这项任务需要扫描大量股票,因此运行费用会高于单次分析。
8. 行业轮动:现在资金更看好哪些行业?
可直接复制的提示词:
请使用 TradingAgents 快速模式分析以下行业 ETF:XLK、XLF、XLE、XLV、XLI、XLY、XLP、XLU。
按照从最看多到最看空的顺序排序,并为每个 ETF 写一句简短的理由。
接下来,对排名第一和最后一名的 ETF 分别运行完整分析团队(市场、情绪和新闻),并解释两者的差异。
9. 实战验证:TradingAgents 的历史判断到底有没有用?
可直接复制的提示词:
请通过历史回测,测试 TradingAgents 对 [股票代码] 的交易评级是否能够带来收益。
使用 TradingAgents 的 backtest 命令,在 [过去两个月] 的范围内每隔 7 天运行一次快速模式分析,并确保回测结束日期至少早于今天两周。
请整理一份简单的表格,包含:分析日期、当时评级、之后的股价表现,以及该次判断是否跑赢市场。
最后请客观说明:这套方法的表现是否真的优于简单买入并持有。
10. Claude 对比 ChatGPT:同一只股票,两种 AI 的判断有什么区别?
前提条件:已在 .env 中配置 Claude API 密钥,并且已经完成 ChatGPT 登录。
可直接复制的提示词:
请使用 TradingAgents,在同一个分析日期对 [股票代码] 运行两次完整分析:第一次使用 Claude,第二次使用我的 ChatGPT 订阅方案。
运行 ChatGPT 版本时,请在命令前指定 TRADINGAGENTS_LLM_PROVIDER=chatgpt,并设置深度思考模型和快速思考模型这两个模型参数。
请并排对比两份最终分析结论,说明它们在哪些方面一致、哪些方面有分歧,以及两种 AI 分别最重视哪些论据。
11. 每日早报:让电脑自动完成持仓分析
可直接复制的提示词:
请在这台电脑上创建一个自动任务,在每个工作日的 [早上 7:00] 运行。
任务需要读取 my_portfolio.json,对其中的每一项持仓运行 TradingAgents,且分析时必须使用完整投资组合文件。
每天生成并保存一份简短的总结文件,内容包括:每项持仓的评级、与昨天相比发生变化的评级,以及最值得关注的三项调整建议。
请使用我电脑操作系统自带的任务计划功能,并向我演示如何关闭这个自动任务。
现在先手动运行一次,让我看看最终生成的总结报告。
另外请明确告诉我:只有当电脑在预定时间处于开机且未休眠状态时,这项自动任务才能运行。
12. 模拟交易:让 AI 研究团队执行练习订单(高级)
前提条件:需要注册免费的 Alpaca 账户,将其切换到 Paper Trading(模拟交易)模式,并获取模拟账户 API 密钥。
可直接复制的提示词:
请将 TradingAgents 连接到我的 Alpaca 模拟交易账户(PAPER Trading)。
在 TradingAgents 环境中安装 alpaca-py,并在 .env 文件中添加 ALPACA_API_KEY 和 ALPACA_SECRET_KEY,然后打开 .env,让我自己填写密钥。绝对不要让我在聊天中粘贴密钥。
如果 API Key 不是以 "PK" 开头,或者账户不是模拟交易账户,请拒绝继续执行。
接下来,编写一个简单脚本,读取每项持仓的最新投资评级,并展示它计划提交的模拟订单:Buy(买入)和 Overweight(增持)对应增加仓位;Underweight(减持)和 Sell(卖出)对应减少仓位。
先进行一次不实际提交订单的模拟预演(dry run),展示所有计划订单。只有当我明确输入 YES 后,才允许向模拟交易账户提交订单。
13. 执行单笔模拟订单:根据 AI 评级下单
前提条件:必须先完成第 12 组提示词的设置。
可直接复制的提示词:
TradingAgents 刚刚将 [股票代码] 的评级评为 [评级]。
请在我的 Alpaca 模拟交易账户中,以当前市场价格提交一笔价值 [1,000] 美元的 [股票代码] 买入模拟订单。
下单前必须确认账户属于 Paper Trading 模拟交易账户,并先展示订单详情。只有当我明确输入 YES 后才能真正提交模拟订单。
如果当前市场已经休市,请告诉我,这笔订单预计会在下一次开盘时成交。TradingAgents:一次性完成安装配置提示词
帮我完成全部安装和配置。
Claude 会安装 TradingAgents,将其连接到 Claude 或你的 ChatGPT 订阅方案,运行一次简单测试,然后向你展示下方的提示词。完成之后,只要复制这份文件后半部分的任意一条提示词,就可以开始使用。
TradingAgents 是一个免费、开源的 AI 投资研究团队,包含分析师、看多研究员、看空研究员、交易员、风险管理团队,以及负责最终决策的投资组合经理。它是一款研究工具,不构成投资建议。本文的基础操作不会进行任何真实交易。
第一部分:安装与配置(提供给 Claude 的操作指令)
你正在为一位可能不懂编程的用户安装 TradingAgents。请自行完成每一个步骤。执行每一步之前,先用一句简短的话说明你将做什么。绝对不要要求用户在聊天中粘贴 API 密钥或密码;密钥应填写到 .env 文件里,你需要帮用户打开该文件。如果某一步失败,立即停止,并用通俗易懂的语言解释原因。
终端环境: 以下所有命令都针对 Bash 终端(Mac、Linux,或 Windows 上的 Git Bash;Claude Code 在 Windows 上默认使用该环境)。Windows 用户需要把文中所有的 .venv/bin/ 替换成 .venv/Scripts/。
第 1 步:检查前置环境
检查 git 是否正常工作(git --version)。如果没有安装:Mac 上运行 xcode-select --install,并让用户点击“安装”;Windows 上让用户从 git-scm.com 安装 Git for Windows。
检查 uv 是否可用(uv --version)。如果没有安装,请执行:
Mac/Linux:curl -LsSf https://astral.sh/uv/install.sh | sh,然后执行 source $HOME/.local/bin/env
Windows(PowerShell):powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex",然后重新打开一个终端。
uv 会自动下载合适的 Python 版本。TradingAgents 要求 Python 3.11 或更高版本,而很多电脑预装的 Python 版本较旧,因此不要直接使用系统自带的 Python。
第 2 步:下载 TradingAgents
将程序安装到用户主目录下名为 TradingAgents 的文件夹中。如果该文件夹已经存在,修改前先征求用户同意。
cd ~ && git clone --branch v0.7.0 --depth 1 https://github.com/TauricResearch/TradingAgents.git
这条命令固定安装 0.7.0 版本,也是本文提示词经过测试时使用的版本。
第 3 步:安装程序
cd ~/TradingAgents && uv venv --python 3.13 && uv pip install .
然后检查安装结果:执行 cd ~/TradingAgents && .venv/bin/tradingagents --help,正常情况下应该显示命令选项列表,其中包括 backtest(回测)和 login(登录)等命令。
第 4 步:连接 AI 模型
询问用户:“你希望使用 ChatGPT Plus/Pro 订阅方案运行,还是使用 Claude API 密钥运行?”
方案 A:使用 ChatGPT 订阅方案(称不会产生额外 API 账单,但会占用订阅方案的使用额度)
在后台执行 cd ~/TradingAgents && .venv/bin/tradingagents login chatgpt。命令会输出一个以 https://auth.openai.com/ 开头的链接,随后进入等待状态。
将该链接提供给用户,让用户打开链接、登录并授权 TradingAgents。完成后,浏览器会自动跳转回用户电脑上的本地页面。
等待命令显示 Signed in to ChatGPT as ...(已登录 ChatGPT)。如果 10 分钟后仍未成功,则终止命令并重新运行。
列出用户订阅方案可使用的模型。每行开头的第一个字段就是模型 ID:
cd ~/TradingAgents && .venv/bin/python -c "from tradingagents.llm_clients import chatgpt_auth as a; [print(i, '-', n) for n, i in a.list_models()]"
在第 5 步的两项模型配置中,都使用列表中的第一个模型 ID。
方案 B:使用 Claude API 密钥(按照每次运行的实际用量收费,首次运行后可在 Anthropic 控制台检查费用)
让用户前往 console.anthropic.com → API Keys 创建密钥。必须在某个 Workspace(工作区)中创建。“Organization”(组织)范围的密钥会被拒绝。
按第 5 步创建 .env 文件,替用户打开该文件(Mac 使用 open ~/TradingAgents/.env,Windows 使用 notepad ~/TradingAgents/.env),再让用户在 ANTHROPIC_API_KEY= 后面粘贴密钥并保存。
测试密钥是否可以使用,但不要打印密钥本身:
cd ~/TradingAgents && .venv/bin/python -c "from dotenv import load_dotenv; load_dotenv('.env'); import anthropic; print(anthropic.Anthropic().messages.create(model='claude-sonnet-5-5', max_tokens=5, messages=[{'role':'user','content':'Say OK'}]).content[0].text)"
如果提示 not scoped to a workspace(密钥不属于工作区),就需要在 Anthropic 控制台的工作区中重新创建密钥。如果提示 invalid x-api-key(无效 API 密钥),说明密钥输入有误或者已经被撤销。
第 5 步:设置配置文件
创建 ~/TradingAgents/.env。当 TradingAgents 从这个文件夹启动时,会自动读取配置。下面的设置能让程序从头到尾执行,不必在过程中反复询问用户。配置值直接填写,不加引号,行尾也不要留空格。
ChatGPT 配置(使用第 4 步得到的模型 ID):
TRADINGAGENTS_LLM_PROVIDER=chatgpt
TRADINGAGENTS_DEEP_THINK_LLM=<model id>
TRADINGAGENTS_QUICK_THINK_LLM=<model id>
TRADINGAGENTS_MAX_DEBATE_ROUNDS=1
TRADINGAGENTS_MAX_RISK_ROUNDS=1
TRADINGAGENTS_OUTPUT_LANGUAGE=English
TRADINGAGENTS_NO_UPDATE_CHECK=1
Claude 配置:
ANTHROPIC_API_KEY=
TRADINGAGENTS_LLM_PROVIDER=anthropic
TRADINGAGENTS_DEEP_THINK_LLM=claude-opus-5-5
TRADINGAGENTS_QUICK_THINK_LLM=claude-sonnet-5-5
TRADINGAGENTS_ANTHROPIC_EFFORT=medium
TRADINGAGENTS_MAX_DEBATE_ROUNDS=1
TRADINGAGENTS_MAX_RISK_ROUNDS=1
TRADINGAGENTS_OUTPUT_LANGUAGE=English
TRADINGAGENTS_NO_UPDATE_CHECK=1
可选功能(免费): 申请 FRED API 密钥(fred.stlouisfed.org → My Account → API Keys)后,可以在分析中加入利率、通货膨胀和 VIX 恐慌指数数据。如果用户需要,就在 .env 中增加 FRED_API_KEY=,并让用户自行粘贴密钥。
第 6 步:执行测试(费用较低,约 2–7 分钟)
运行一次简单的分析,确认整个系统能正常工作。日期使用最近一个工作日,格式为 YYYY-MM-DD。测试结果会写入一个临时记忆文件,因此不会被计入正式的历史分析记录。
Claude(测试时暂时将深度思考模型换成 Sonnet,以节省费用):
cd ~/TradingAgents && TRADINGAGENTS_DEEP_THINK_LLM=claude-sonnet-5-5 TRADINGAGENTS_MEMORY_LOG_PATH=.setup_test_memory.md \
.venv/bin/tradingagents --ticker NVDA --date YYYY-MM-DD --analysts market --save --no-show < /dev/null
ChatGPT:
cd ~/TradingAgents && TRADINGAGENTS_MEMORY_LOG_PATH=.setup_test_memory.md \
.venv/bin/tradingagents --ticker NVDA --date YYYY-MM-DD --analysts market --save --no-show < /dev/null
在后台运行测试,并等待程序输出 Analysis Complete(分析完成)。随后找到报告文件夹,读取最终评级:
REPORT=$(ls -td ~/.tradingagents/logs/reports/NVDA_* | head -1) && head -5 "$REPORT/5_portfolio/decision.md"
用一句话告诉用户最终评级,然后在浏览器中打开 $REPORT/complete_report.html(Mac 使用 open,Windows 使用 start)。
第 7 步:保存操作说明,方便下次使用
把本文件的第二部分和第三部分一字不漏地复制到 ~/TradingAgents/CLAUDE.md。以后只要在 ~/TradingAgents 文件夹中打开 Claude Code,它就会自动读取该文件,这样无需再次拖入本文件,后续提示词也能正常使用。
如果原来已经存在 CLAUDE.md,请把这些内容追加到文件末尾,不要覆盖原有内容。
第 8 步:完成安装
告诉用户:“TradingAgents 已经安装配置完成。下面是你可以直接使用的提示词:”
然后将第三部分的提示词标题列成一个简短的编号菜单,每条占一行。
最后再说一句:“下次只要在 TradingAgents 文件夹中打开 Claude Code,粘贴任意一条提示词就可以使用。安装配置说明已经保存。”
第二部分:如何运行分析(供 Claude 参考)
当用户的提示词要求运行 TradingAgents 时,请遵守以下规则。
运行命令: 每条命令都必须以 cd ~/TradingAgents && 开头,以确保能加载 .env 配置。如果不这样做,程序可能会出现 No terminal to answer the setup questions(没有可用于回答配置问题的终端)错误。
cd ~/TradingAgents && .venv/bin/tradingagents --ticker TICKER --date YYYY-MM-DD --analysts LIST --save --no-show < /dev/null
分析日期: 除非用户指定其他日期,否则使用今天。数据按该日期收盘时的情况计算。
分析师配置:
股票:market,sentiment,news,fundamentals(市场、情绪、新闻、基本面)。
加密货币(BTC-USD、ETH-USD、SOL-USD)及基金/ETF(SPY、QQQ、GLD、TLT、行业 ETF):使用 market,sentiment,news。这些资产没有单独的上市公司基本面。
快速模式: 仅使用 --analysts market,费用更低,适合批量筛选股票。
用户的现有持仓: 加上 --portfolio my_portfolio.json。这样交易员、风险管理团队和投资组合经理就会结合用户已经持有的仓位进行判断。文件格式见下文。
运行时间: 根据使用的模型及分析师数量,一次分析大约需要 2–8 分钟(使用 ChatGPT 订阅方案通常更慢)。请在后台运行,等待 Analysis Complete。最多同时分析 2 个股票代码,否则可能触发 Reddit 数据接口的访问频率限制。
查找报告: 终端打印的路径可能会自动换行,不要尝试直接解析这段输出。应该读取对应股票代码最新生成的报告文件夹(文件夹按运行时间命名,而不是分析日期):
REPORT=$(ls -td ~/.tradingagents/logs/reports/TICKER_* | head -1)
里面包括:
1_analysts/:市场、情绪、新闻、基本面分析报告。
2_research/:bull.md(看多观点)、bear.md(看空观点)、manager.md(研究经理总结)。
3_trading/trader.md:入场价、止损价、仓位大小。
4_risk/:激进、保守、中立的风险观点。
5_portfolio/decision.md:最终评级、总结、目标价格、投资期限。
complete_report.html:将整份分析报告汇总为一个网页。用户要求查看报告时,应打开这个文件。
评级体系: 从最看多到最看空,依次为 Buy(买入)、Overweight(增持)、Hold(持有)、Underweight(减持)、Sell(卖出)。Overweight 表示持有比例高于常规仓位,比强烈买入的态度温和一些;Underweight 表示持有比例低于常规仓位,比直接卖出的态度温和一些。第一次出现评级时,应向用户解释其含义。
历史回测: 对过去的分析建议进行评分:
cd ~/TradingAgents && .venv/bin/tradingagents backtest TICKER --start YYYY-MM-DD --end YYYY-MM-DD --every 7 --analysts market < /dev/null
每个日期都会执行一次单独分析,因此每个日期的费用大致相当于一次快速分析。
对加密货币(如 BTC-USD、ETH-USD 等),需要添加 --asset-type crypto。正常分析通常会自动识别加密货币,但回测默认按股票处理,除非明确指定。
每次建议会根据分析日之后 5 个交易日的表现来评分,因此回测结束日期必须至少是 8 个交易日前。
程序会按评级输出汇总结果,包括建议次数及平均 alpha(相对市场的超额收益),并提供逐日建议与最终结果的日志路径。读取日志,整理出按日期排列的回测表格。
记忆功能: 每只股票、每个日期的第一次分析都会保存到 ~/.tradingagents/memory/trading_memory.md。等持有观察期结束后,后续运行会评估之前的建议,并从结果中学习。重复运行同一股票代码、同一日期的分析,不会再次保存。
总结分析时: 使用简明易懂的英语,尽量简短。首先给出评级。如果有分析师报告缺少数据(例如 news unavailable,新闻数据不可用),必须说明,让用户知道结论依据有哪些。
绝对不要执行真实交易。 该工具用于研究,不构成投资建议。
投资组合文件(~/TradingAgents/my_portfolio.json):当提示词需要该文件时,协助用户填写持仓。
{
"cash": 5000,
"currency": "USD",
"positions": [
{"ticker": "NVDA", "quantity": 40, "average_price": 197.58},
{"ticker": "BTC-USD", "quantity": 0.15, "average_price": 60000}
]
}
投资者资料文件(~/TradingAgents/investor_profile.md):这是一份用简明英语写成的个人投资资料,包含用户的投资目标、年龄、投资期限、风险承受能力、投资风格,以及固定规则,例如“始终保留 10% 现金”“配置 20% 黄金”“至少持有 10% 比特币”等。TradingAgents 本身不会读取它;阅读它的是你(Claude)。当提示词提及投资者资料时,如果文件不存在,应协助用户创建,然后根据其投资规则评估研究团队的评级,并指出哪些建议会违反用户设定的规则。
常见问题排查
No terminal to answer the setup questions:.env 中缺少必要设置(见第 5 步)、命令缺少参数,或者命令没有以 cd ~/TradingAgents && 开头。错误信息通常会列出缺少的项目。
not scoped to a workspace:Claude API 密钥必须在 Anthropic 控制台的某个工作区中创建。
invalid x-api-key:.env 中的密钥错误或已被撤销。需要重新填写有效密钥。
Not signed in to ChatGPT:尚未登录 ChatGPT。重新执行第 4 步方案 A 的登录流程。
Model 'claude-sonnet-5-5' is not in the known model list ... Continuing anyway:认为此提示可以忽略,因为模型比 TradingAgents 内置的模型列表更新。
structured-output invocation failed ... retrying once as free text:认为可以忽略,程序会自动改用普通文本重试。
FRED_API_KEY ... not set:认为可以忽略。程序将跳过宏观数据部分;添加免费的 FRED 密钥即可启用。
news unavailable / HTTP Error 429:免费新闻源或 Reddit 数据源没有返回内容,或触发了访问频率限制。程序会跳过相关数据继续分析。
第三部分:13 组可直接复制使用的提示词
把下面任意一段提示词粘贴到 Claude Code。使用前,把方括号中的占位内容替换成你的实际信息。
1. 买入前的第二意见:这笔交易真的值得买吗?
可直接复制的提示词:
请使用 TradingAgents 的完整分析团队,对 [股票代码] 进行今天的分析。我打算买入价值 [金额] 美元的股票,目前持仓情况是 [没有持仓 / 持有 X 股,平均成本 Y 美元]。
请用通俗易懂的中文告诉我:最终投资评级、看多研究员最有说服力的理由、看空研究员最有说服力的理由、什么价格会证明这笔交易判断错误,以及研究团队是否建议减少我的计划买入金额。
最后打开完整分析报告。
2. 寻找超额收益机会:给我的自选股排序
可直接复制的提示词:
请使用 TradingAgents 的快速模式,依次分析以下股票:[NVDA, AMD, AVGO, TSM, PLTR, META]。
将这些股票按照从最看多到最看空的顺序排列成表格,并为每只股票用一句话说明理由。
然后对排名前两位的股票运行完整分析团队,比较哪只股票的投资逻辑更强,以及什么情况会证明该投资逻辑是错误的。
3. 全面检查投资组合
可直接复制的提示词:
请协助我将现有持仓填写到 my_portfolio.json。如果还没有 investor_profile.md,也请帮我创建投资者资料文件。
然后对我持有的每一项资产运行 TradingAgents,并在分析时读取投资组合文件,让每次分析都考虑整个投资组合的情况。
请整理一份表格,列出每项持仓的评级,以及一句话的评级理由。
接下来,结合我的投资者资料,将研究团队建议的三项最重要调整按照紧急程度排序。凡是可能违反我个人投资规则的建议,都要特别标注。
4. 仓位集中度检查:我的投资风险是不是太集中了?
可直接复制的提示词:
请查看 my_portfolio.json 和 investor_profile.md。
按照行业、资产类型和投资主题对我的持仓进行分类,例如人工智能、加密货币、黄金、大型科技股等,并计算每个类别占总投资组合的百分比。
随后,对我风险敞口最大的三个类别所对应的主要持仓,使用 TradingAgents 快速模式进行分析。
请指出哪些类别的持仓集中度超过了投资者资料中设定的范围,并说明研究团队最建议优先减持哪一项持仓。
5. 让看空研究员挑战我的最大持仓
可直接复制的提示词:
我目前最大的持仓是 [股票代码],大约占整个投资组合的 [X]%。
请使用我的投资组合文件,对这只股票运行 TradingAgents。
我只想看两个部分:看空研究员的完整理由,以及风险管理团队对我当前仓位大小的看法。
不要刻意弱化任何风险。最后告诉我,哪一个关键价格或事件最能够证明看空研究员的判断是正确的。
6. 财报前准备:财报公布前一晚应该关注什么?
可直接复制的提示词:
[股票代码] 将于 [日期] 发布财报。
请使用 TradingAgents 分析该股票截至今天的情况。
告诉我看多研究员和看空研究员分别预计什么结果、研究团队认为财报发布后哪些价格水平最重要,以及团队倾向于持仓跨越财报,还是提前减仓降低风险。
7. 行业扫描:找出某个行业最值得关注的三只股票
可直接复制的提示词:
我看好 [半导体] 行业的股票。
请按照市值排序,列出美国上市的 [半导体] 行业市值最大的 50 家公司。
对每家公司使用 TradingAgents 快速模式进行分析,最多同时运行两只股票,并将它们按照从最看多到最看空的顺序排列成表格。
然后对排名前三的股票运行完整分析团队,告诉我哪一只股票的投资逻辑最强,以及什么情况会证明每一只股票的判断是错误的。
注意:这项任务需要扫描大量股票,因此运行费用会高于单次分析。
8. 行业轮动:现在资金更看好哪些行业?
可直接复制的提示词:
请使用 TradingAgents 快速模式分析以下行业 ETF:XLK、XLF、XLE、XLV、XLI、XLY、XLP、XLU。
按照从最看多到最看空的顺序排序,并为每个 ETF 写一句简短的理由。
接下来,对排名第一和最后一名的 ETF 分别运行完整分析团队(市场、情绪和新闻),并解释两者的差异。
9. 实战验证:TradingAgents 的历史判断到底有没有用?
可直接复制的提示词:
请通过历史回测,测试 TradingAgents 对 [股票代码] 的交易评级是否能够带来收益。
使用 TradingAgents 的 backtest 命令,在 [过去两个月] 的范围内每隔 7 天运行一次快速模式分析,并确保回测结束日期至少早于今天两周。
请整理一份简单的表格,包含:分析日期、当时评级、之后的股价表现,以及该次判断是否跑赢市场。
最后请客观说明:这套方法的表现是否真的优于简单买入并持有。
10. Claude 对比 ChatGPT:同一只股票,两种 AI 的判断有什么区别?
前提条件:已在 .env 中配置 Claude API 密钥,并且已经完成 ChatGPT 登录。
可直接复制的提示词:
请使用 TradingAgents,在同一个分析日期对 [股票代码] 运行两次完整分析:第一次使用 Claude,第二次使用我的 ChatGPT 订阅方案。
运行 ChatGPT 版本时,请在命令前指定 TRADINGAGENTS_LLM_PROVIDER=chatgpt,并设置深度思考模型和快速思考模型这两个模型参数。
请并排对比两份最终分析结论,说明它们在哪些方面一致、哪些方面有分歧,以及两种 AI 分别最重视哪些论据。
11. 每日早报:让电脑自动完成持仓分析
可直接复制的提示词:
请在这台电脑上创建一个自动任务,在每个工作日的 [早上 7:00] 运行。
任务需要读取 my_portfolio.json,对其中的每一项持仓运行 TradingAgents,且分析时必须使用完整投资组合文件。
每天生成并保存一份简短的总结文件,内容包括:每项持仓的评级、与昨天相比发生变化的评级,以及最值得关注的三项调整建议。
请使用我电脑操作系统自带的任务计划功能,并向我演示如何关闭这个自动任务。
现在先手动运行一次,让我看看最终生成的总结报告。
另外请明确告诉我:只有当电脑在预定时间处于开机且未休眠状态时,这项自动任务才能运行。
12. 模拟交易:让 AI 研究团队执行练习订单(高级)
前提条件:需要注册免费的 Alpaca 账户,将其切换到 Paper Trading(模拟交易)模式,并获取模拟账户 API 密钥。
可直接复制的提示词:
请将 TradingAgents 连接到我的 Alpaca 模拟交易账户(PAPER Trading)。
在 TradingAgents 环境中安装 alpaca-py,并在 .env 文件中添加 ALPACA_API_KEY 和 ALPACA_SECRET_KEY,然后打开 .env,让我自己填写密钥。绝对不要让我在聊天中粘贴密钥。
如果 API Key 不是以 "PK" 开头,或者账户不是模拟交易账户,请拒绝继续执行。
接下来,编写一个简单脚本,读取每项持仓的最新投资评级,并展示它计划提交的模拟订单:Buy(买入)和 Overweight(增持)对应增加仓位;Underweight(减持)和 Sell(卖出)对应减少仓位。
先进行一次不实际提交订单的模拟预演(dry run),展示所有计划订单。只有当我明确输入 YES 后,才允许向模拟交易账户提交订单。
13. 执行单笔模拟订单:根据 AI 评级下单
前提条件:必须先完成第 12 组提示词的设置。
可直接复制的提示词:
TradingAgents 刚刚将 [股票代码] 的评级评为 [评级]。
请在我的 Alpaca 模拟交易账户中,以当前市场价格提交一笔价值 [1,000] 美元的 [股票代码] 买入模拟订单。
下单前必须确认账户属于 Paper Trading 模拟交易账户,并先展示订单详情。只有当我明确输入 YES 后才能真正提交模拟订单。
如果当前市场已经休市,请告诉我,这笔订单预计会在下一次开盘时成交。
使用提示词1
请帮我使用 TradingAgents,分析一下苹果的股票。
TradingAgents 已经安装在
~/mdf-repos/tradingagents目录下,请使用项目自带的.venvPython 虚拟环境运行。请直接在我的终端面板中启动程序,这样我就能实时看到各个 AI 智能体是怎么分析股票的。
这次分析以 2026 年 10 月 20 日的收盘数据为准,并且启用全部四个分析师:
技术分析师(Market Analyst):分析股价走势、技术指标和市场趋势。
市场情绪分析师(Sentiment Analyst):分析社交媒体和投资者的市场情绪。
新闻分析师(News Analyst):分析相关新闻,以及可能影响股价的重大事件。
基本面分析师(Fundamentals Analyst):分析公司的财务数据、盈利能力和基本面情况。
分析完成后,请把最终报告保存为 HTML 网页格式。
接下来,请用简单易懂的中文,向我详细解释:
每个分析团队分别得出了什么结论。
看涨研究员和看跌研究员在哪些问题上存在分歧,各自的理由是什么。
最终的股票评级是什么,以及为什么会得出这个结果。
最后,请自动打开生成的 HTML 分析报告,方便我直接查看。