四種專責分析師節點,各自獨立運行
基本面 · 情緒 · 新聞 · 技術,四個節點各自輸出分析報告
基本面分析師看財報與營運指標;情緒分析師匯整新聞、StockTwits、Reddit 的情緒訊號;新聞分析師盯全球新聞與總經指標;技術分析師用 MACD、RSI 等指標找型態。每個分析師是 graph 裡的獨立節點,產出的報告會往下游餵給研究員與交易員,而不是混在一個 prompt 裡。
TradingAgents 以交易公司的組織分工為藍本,使用 LangGraph 編排:四種分析師各自蒐集資料,看多與看空研究員結構化辯論,交易員彙整觀點,風控與基金經理依序審核。由 Tauric Research 開源,Apache-2.0 授權,論文為 arXiv 2412.20138。本說明書涵蓋代理架構、conda 安裝與多 LLM 設定,以及買方研究與策略回測的實戰用法。此框架為研究目的設計,不提供投資建議。
TradingAgents 將分析工作拆給多個專責代理各自執行並結構化辯論,而非由單一 LLM 同時承擔分析師、交易員與風控的角色。作者在 README 中明確說明:此框架為研究目的設計,不提供下單訊號。
四種分析師(基本面、情緒、新聞、技術)各自蒐集資料,看多與看空研究員再就同一份材料結構化對辯,交易員彙整、風控評估波動與流動性、基金經理核定。將判斷拆分為獨立角色,可使模型在每個節點明確輸出分歧,而非僅產生籠統結論。
框架將 LLM 分為 deep_think_llm(用於推理與辯論裁決)與 quick_think_llm(用於高頻、低成本的資料擷取與整理)兩條配置線,搭配 max_debate_rounds 控制辯論輪數。研究階段可提高 deep 配置的能力,批次執行時降低以控制成本。
每次運行結束後,決策日誌寫入 ~/.tradingagents/memory/trading_memory.md,後續運行可讀取進行跨輪學習。框架支援 10+ 家 LLM 供應商切換,採 Apache-2.0 授權,論文公開發表,適合修改、教學與 benchmark 用途。
五層分工:分析師團隊、看多看空研究員、交易員、風控、基金經理,由 LangGraph 編排,帶跨輪記憶。
基本面 · 情緒 · 新聞 · 技術,四個節點各自輸出分析報告
基本面分析師看財報與營運指標;情緒分析師匯整新聞、StockTwits、Reddit 的情緒訊號;新聞分析師盯全球新聞與總經指標;技術分析師用 MACD、RSI 等指標找型態。每個分析師是 graph 裡的獨立節點,產出的報告會往下游餵給研究員與交易員,而不是混在一個 prompt 裡。
兩個研究員代理就同一份分析材料分別提出上行邏輯與風險反例
bullish 與 bearish 研究員依據分析師報告,就同一標的展開來回辯論:一方論證上行邏輯,另一方提出風險與反例。辯論輪數由 max_debate_rounds 控制,輪數越高結論越完整,但成本與執行時間相應增加。產出包含正反兩方的完整論點記錄。
讀入分析師報告與研究員辯論記錄,輸出方向、邏輯與依據
交易員代理讀入所有分析師報告與研究員辯論記錄,形成具體的交易提案,包含方向、邏輯與依據。此代理非最終決策者:提案送交風控與基金經理依序審核。框架記錄「決定如何形成」的完整過程,而非僅輸出一個孤立的訊號。
先看波動與流動性,再決定核准或否決
風控團隊從波動度、流動性等角度評估提案對投組的風險暴露;基金經理依評估結果核准、否決或要求調整,最後執行下單。將風險評估與最終核定拆分為兩個獨立角色,使「能否執行」與「值不值得執行」的判斷分層進行。
節點可插拔、流程可改、狀態在節點間傳遞
框架以 LangGraph 為基礎,每個代理為一個節點,邊定義資訊流向。新增分析師、修改辯論結構或替換流程環節,均透過修改 graph 完成,而非修改單一龐大的 prompt。Python 入口為 TradingAgentsGraph(...).propagate("NVDA", "2026-01-15"),回傳完整的決策過程與最終判斷。
每次運行結束後寫入 trading_memory.md,後續運行可讀取
每次運行結束後,過程與結論寫入 ~/.tradingagents/memory/trading_memory.md;後續運行可讀取此日誌進行跨輪學習。日誌路徑與上限筆數(memory_log_max_entries)均在 DEFAULT_CONFIG 中可調。此 Markdown 格式日誌可用於回測時比對不同 config 下的決策差異。
conda 建環境、pip install .、設好 API 金鑰,再用 DEFAULT_CONFIG 把 LLM、辯論輪數、資料來源調到你要的位置。
Python 3.13 · conda env · 從 repo 本地安裝
git clone https://github.com/TauricResearch/TradingAgents.git → cd TradingAgents → conda create -n tradingagents python=3.13 → conda activate tradingagents → pip install .。建議用獨立 conda 環境避免相依衝突;裝完就有 tradingagents CLI 與 Python API 可用。
LLM 供應商金鑰與資料來源金鑰均需設定為環境變數
以環境變數設定,按你要用的供應商來:OPENAI_API_KEY、ANTHROPIC_API_KEY、GOOGLE_API_KEY、XAI_API_KEY、DEEPSEEK_API_KEY、OPENROUTER_API_KEY,以及國內供應商的 DASHSCOPE_API_KEY / ZHIPU_API_KEY / MINIMAX_API_KEY 等;資料側需要 ALPHA_VANTAGE_API_KEY。沒設對應金鑰,相關的代理或資料工具就會失敗。
tradingagents 或 python -m cli.main 均可啟動
裝完後直接 tradingagents(或 python -m cli.main)啟動互動式 CLI,選標的、選日期、選要哪些分析師、選 LLM,框架就會把整條代理流程跑完並印出決策過程。想看每一步在做什麼,把 debug=True 打開。
LLM、辯論輪數、新聞數量、資料 vendor 全在這裡
from tradingagents.default_config import DEFAULT_CONFIG 後 .copy() 改:llm_provider、deep_think_llm、quick_think_llm、backend_url、max_debate_rounds、max_risk_discuss_rounds、news_article_limit、data_vendors、checkpoint_enabled、output_language 等。把改好的 config 傳進 TradingAgentsGraph(config=...)。
propagate(ticker, date) 回傳最終判斷與完整決策軌跡
ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy()) 後呼叫 _, decision = ta.propagate("NVDA", "2026-01-15")。回傳值包含最終判斷與完整決策軌跡,可用於批次回測、寫入 notebook 或接入自有分析管線。框架以標準 Python 套件形式安裝,決策過程可從日誌完整追溯。
研究用途明示 · arXiv 2412.20138 · Tauric Research 維護
程式碼採 Apache-2.0 授權,允許 fork、修改與商業使用。README 明確說明此框架為研究目的設計,不提供交易訊號,回測結果不代表實盤表現。論文 TradingAgents: Multi-Agents LLM Financial Trading Framework(Xiao et al., 2025, arXiv 2412.20138)、Discord 社群與 tauric.ai 連結均列於 README。
deep_think_llm 用於研究員辯論與裁決,quick_think_llm 用於資料擷取與摘要
deep_think_llm 指向推理能力強的模型(用於研究員辯論與最終裁決),quick_think_llm 指向低成本模型(用於高頻的資料擷取、摘要與格式化)。研究階段可將 deep 配置調高,批次執行時降低以控制成本。此分流是影響費用的主要配置點。
控制看多看空辯論輪數與風控討論輪數,預設均為 1
max_debate_rounds 控制看多看空研究員的來回輪數,max_risk_discuss_rounds 控制風控討論輪數。兩者預設均為 1。調高輪數可取得更多反例與更嚴謹的結論,同時增加 token 消耗與執行時間;批次掃描多個標的時維持低值以控制成本。
可選擇只啟動部分分析師,減少 LLM 呼叫次數與外部資料拉取
在 CLI 流程中可選擇啟動哪些分析師(基本面 / 情緒 / 新聞 / 技術)。停用不需要的節點可減少對應的 LLM 呼叫次數與外部資料拉取。建議先以子集快速篩選,對目標標的再執行完整四種分析師的流程。
支援 10+ 供應商,透過 llm_provider 與 backend_url 設定
llm_provider 可指向 OpenAI、Anthropic、Google、xAI、DeepSeek、Qwen、GLM、MiniMax、OpenRouter 或本機 Ollama;搭配 backend_url 指向自架或代理端點。切換供應商只需修改 config,程式碼不需更動。DeepSeek / Qwen 適合降低費用,OpenRouter 提供多模型選擇,Ollama 可讓資料不離本機。
修改 config 中 output_language 欄位,無需更動 prompt
output_language 預設 "English";設為中文後,分析師報告、辯論記錄與最終判斷均以中文產出。適合需要將結果寫入中文研究筆記或供中文團隊閱讀的情境,無需修改任何 prompt。
checkpoint_enabled 控制中斷續跑,trading_memory.md 保留可讀決策日誌
checkpoint_enabled 預設 False;啟用後可在長流程中儲存進度並中斷續跑,適合大批次回測。搭配 memory_log_path(預設 ~/.tradingagents/memory/trading_memory.md)與 memory_log_max_entries,此 Markdown 日誌可用於事後比較不同 config 對決策結果的影響。
六種用法:對單一標的執行完整辯論、批次回測、量化 baseline 比較、教學教材、本機低成本研究、將決策接入資料管線。
propagate(ticker, date) 輸出分析師觀察、bull/bear 論點、交易員彙整與基金經理核定
典型用法:ta.propagate("NVDA", "2026-01-15") 後讀取完整決策軌跡,包含四種分析師各自的觀察、bull/bear 論點往返、交易員彙整、風控評估與基金經理核定。框架輸出的是可追溯的推理過程,供研究者自行評估,不提供交易訊號。
Python API + checkpoint_enabled,對整個 universe 逐一執行
核心 API 為 TradingAgentsGraph.propagate(ticker, date),對一籃子標的與歷史區間做回測時,以迴圈包裹即可。啟用 checkpoint_enabled 可避免中斷後重跑,配合 quick_think_llm 與低 max_debate_rounds 控制單次呼叫成本。回測結果僅供研究,不代表實盤表現。
公開論文 arXiv 2412.20138 與 Apache-2.0 實作,可做 benchmark 比較
TradingAgents 具備公開論文(arXiv 2412.20138)與 Apache-2.0 的可修改實作,適合作為「多代理 LLM 方法」的基準,與自有因子模型或單體 LLM 方法比較。做可重現實驗時,固定 LLM、辯論輪數與資料來源,並以 checkpoint 與 trading_memory.md 保留決策軌跡。
LangGraph 節點圖與 trading_memory.md 日誌均可逐步講解
在課程或工作坊中,TradingAgents 適合作為多代理協作的教學範例:角色分工對應真實投研流程,LangGraph 將編排以節點圖呈現,決策日誌為純 Markdown 格式,可逐步講解。讓學員修改 max_debate_rounds 或替換分析師後,觀察輸出如何變化,可具體說明多代理架構的運作。
無需 API 預算,在本地機器執行完整代理流程
將 llm_provider 指向本機 Ollama,max_debate_rounds 維持 1,只啟動兩個分析師,即可在本地執行完整流程,資料不離機器,無 token 費用。適合在本機熟悉流程與調整 config 後,再切換至雲端推理模型進行正式研究。
propagate() 回傳普通 Python 物件,可寫入資料庫或推進 dashboard
_, decision = ta.propagate(...) 回傳的決策與軌跡為普通 Python 物件,可寫入資料庫、推進 dashboard、組成每日研究摘要或作為另一條流程的輸入。TradingAgents 可作為資料管線中的研究節點整合,而非僅作為互動式終端工具使用。輸出僅供研究參考,不應直接作為交易訊號執行。
TradingAgents 是研究框架,輸出可追溯的推理過程,不提供交易訊號。以下四條路依使用者身分區分,請先確認用途,再選擇對應的起點。
conda 建環境 → pip install . → 將 llm_provider 指向 Ollama,max_debate_rounds 設為 1,啟動兩個分析師,即可在本機無 API 費用執行完整流程。熟悉代理架構與 trading_memory.md 後,可切換至雲端推理模型進行正式研究。建議同步閱讀論文 arXiv 2412.20138。
ta.propagate(ticker, date) 後讀取完整決策軌跡,包含 bull/bear 論點往返與風控評估,作為研究輸入而非交易訊號。deep_think_llm 配置推理能力強的模型,quick_think_llm 配置低成本模型以控制費用。
以 Python API 迴圈對一籃子標的與歷史區間進行批次回測,將 LLM、辯論輪數、資料來源全部固定,啟用 checkpoint_enabled 以支援可重現實驗。可將多代理 LLM 方法與自有因子模型做比較;回測結果僅供研究,不代表實盤表現。
propagate() 回傳的決策與軌跡為普通 Python 物件,可寫入 DB、推進 dashboard 或組成每日研究摘要。切換 LLM 供應商僅需修改 llm_provider / backend_url,中文輸出設 output_language。TradingAgents 應作為研究節點整合,其輸出不應在下游直接作為交易訊號執行。
Tenten 是 AI-First 設計與技術顧問公司。我們把 Claude、MCP、多代理與 Agentic 工作流接進企業級交付 — 不論是評估 TradingAgents 這類研究框架能不能進你的流程、把多 LLM 路由與成本控制做進你的資料管線,還是替你打造自家的多代理研究或分析應用,我們都能幫你接到真正能用那一段。