以交易公司的分工結構為藍本,由 LangGraph 編排。
編者手記
角色分工使推理過程可追溯。
四種分析師(基本面、情緒、新聞、技術)各自蒐集資料,看多與看空研究員再就同一份材料結構化對辯,交易員彙整、風控評估波動與流動性、基金經理核定。將判斷拆分為獨立角色,可使模型在每個節點明確輸出分歧,而非僅產生籠統結論。
推理任務與高頻任務使用不同的 LLM 配置。
框架將 LLM 分為
deep_think_llm(用於推理與辯論裁決)與quick_think_llm(用於高頻、低成本的資料擷取與整理)兩條配置線,搭配max_debate_rounds控制辯論輪數。研究階段可提高 deep 配置的能力,批次執行時降低以控制成本。決策日誌持久化,支援跨輪回讀。
每次運行結束後,決策日誌寫入
~/.tradingagents/memory/trading_memory.md,後續運行可讀取進行跨輪學習。框架支援 10+ 家 LLM 供應商切換,採 Apache-2.0 授權,論文公開發表,適合修改、教學與 benchmark 用途。
代理 架構
五層分工:分析師團隊、看多看空研究員、交易員、風控、基金經理,由 LangGraph 編排,帶跨輪記憶。
代理架構
ANALYSTS · RESEARCHERS · TRADER · RISK · FUND MANAGER · LANGGRAPH
排名 01/06
TradingAgents · Analyst Team四種專責分析師節點,各自獨立運行
基本面 · 情緒 · 新聞 · 技術,四個節點各自輸出分析報告
基本面分析師看財報與營運指標;情緒分析師匯整新聞、StockTwits、Reddit 的情緒訊號;新聞分析師盯全球新聞與總經指標;技術分析師用 MACD、RSI 等指標找型態。每個分析師是 graph 裡的獨立節點,產出的報告會往下游餵給研究員與交易員,而不是混在一個 prompt 裡。
- ✓ 角色分工
- 基本面
- 情緒 / 新聞
- 技術指標
- /
- 06
- Analysts
- 4
- Inputs
- 財報 / 新聞 / 情緒 / 技術
- Output
- 分析報告
排名 02
TradingAgents · Researcher Team看多與看空研究員的結構化辯論
兩個研究員代理就同一份分析材料分別提出上行邏輯與風險反例
bullish 與 bearish 研究員依據分析師報告,就同一標的展開來回辯論:一方論證上行邏輯,另一方提出風險與反例。辯論輪數由 max_debate_rounds 控制,輪數越高結論越完整,但成本與執行時間相應增加。產出包含正反兩方的完整論點記錄。
- Bull vs Bear
- 結構化辯論
- max_debate_rounds
- Roles
- Bull / Bear
- Knob
- max_debate_rounds
排名 03
TradingAgents · Trader Agent交易員代理彙整報告,形成具體交易提案
讀入分析師報告與研究員辯論記錄,輸出方向、邏輯與依據
交易員代理讀入所有分析師報告與研究員辯論記錄,形成具體的交易提案,包含方向、邏輯與依據。此代理非最終決策者:提案送交風控與基金經理依序審核。框架記錄「決定如何形成」的完整過程,而非僅輸出一個孤立的訊號。
- 彙整下游
- 交易提案
- 非最終決策
- Input
- 分析 + 辯論
- Output
- 交易提案
排名 04
TradingAgents · Risk & Fund Manager風控與基金經理,兩道把關
先看波動與流動性,再決定核准或否決
風控團隊從波動度、流動性等角度評估提案對投組的風險暴露;基金經理依評估結果核准、否決或要求調整,最後執行下單。將風險評估與最終核定拆分為兩個獨立角色,使「能否執行」與「值不值得執行」的判斷分層進行。
- 波動 / 流動性
- 核准 / 否決
- 投組視角
- Risk
- 波動 / 流動性
- Manager
- 核准 / 否決 / 執行
排名 05
TradingAgents · LangGraph 編排骨架用 LangGraph 把代理串成一張圖
節點可插拔、流程可改、狀態在節點間傳遞
框架以 LangGraph 為基礎,每個代理為一個節點,邊定義資訊流向。新增分析師、修改辯論結構或替換流程環節,均透過修改 graph 完成,而非修改單一龐大的 prompt。Python 入口為 TradingAgentsGraph(...).propagate("NVDA", "2026-01-15"),回傳完整的決策過程與最終判斷。
- LangGraph
- 模組化節點
- 可改流程
- Engine
- LangGraph
- Entry
- TradingAgentsGraph
排名 06
TradingAgents · Memory & Learning決策日誌持久化至本地,支援跨輪回讀
每次運行結束後寫入 trading_memory.md,後續運行可讀取
每次運行結束後,過程與結論寫入 ~/.tradingagents/memory/trading_memory.md;後續運行可讀取此日誌進行跨輪學習。日誌路徑與上限筆數(memory_log_max_entries)均在 DEFAULT_CONFIG 中可調。此 Markdown 格式日誌可用於回測時比對不同 config 下的決策差異。
- trading_memory.md
- 跨輪學習
- 可讀日誌
- Memory
- ~/.tradingagents/memory
- Format
- Markdown
安裝與 設定
conda 建環境、pip install .、設好 API 金鑰,再用 DEFAULT_CONFIG 把 LLM、辯論輪數、資料來源調到你要的位置。
安裝與設定
CONDA · pip install . · API KEYS · DEFAULT_CONFIG · CLI
排名 01/06
TradingAgents · Installconda 建立隔離環境,pip install . 安裝
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 可用。
- ✓ 標準流程
- Python 3.13
- conda env
- pip install .
- /
- 06
- Python
- 3.13
- Env
- conda
- Install
- pip install .
排名 02
TradingAgents · API KeysAPI 金鑰設定:LLM 供應商與資料來源
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。沒設對應金鑰,相關的代理或資料工具就會失敗。
- env vars
- LLM 金鑰
- ALPHA_VANTAGE_API_KEY
- LLM Keys
- 依供應商
- Data Key
- Alpha Vantage
排名 03
TradingAgents · CLI互動式 CLI:選標的與分析師後啟動完整流程
tradingagents 或 python -m cli.main 均可啟動
裝完後直接 tradingagents(或 python -m cli.main)啟動互動式 CLI,選標的、選日期、選要哪些分析師、選 LLM,框架就會把整條代理流程跑完並印出決策過程。想看每一步在做什麼,把 debug=True 打開。
- 互動 CLI
- python -m cli.main
- debug 模式
- Command
- tradingagents
- Alt
- python -m cli.main
排名 04
TradingAgents · DEFAULT_CONFIG所有旋鈕都在一個 config dict
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=...)。
- deep / quick LLM
- max_debate_rounds
- data_vendors
- output_language
- Pattern
- DEFAULT_CONFIG.copy()
- Pass to
- TradingAgentsGraph
排名 05
TradingAgents · Python APIPython API:嵌入腳本或 notebook 使用
propagate(ticker, date) 回傳最終判斷與完整決策軌跡
ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy()) 後呼叫 _, decision = ta.propagate("NVDA", "2026-01-15")。回傳值包含最終判斷與完整決策軌跡,可用於批次回測、寫入 notebook 或接入自有分析管線。框架以標準 Python 套件形式安裝,決策過程可從日誌完整追溯。
- TradingAgentsGraph
- propagate()
- 可嵌入
- Entry
- propagate(ticker, date)
- Returns
- 決策 + 軌跡
排名 06
TradingAgents · License & PaperApache-2.0,論文公開
研究用途明示 · 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。
- Apache-2.0
- ✓ 論文公開
- 研究用途
- License
- Apache-2.0
- Paper
- arXiv 2412.20138
- By
- Tauric Research
推理成本與嚴謹度的可調參數。
進階用法
排名 01
config · deep_think / quick_think推理模型與輕量模型分流配置
deep_think_llm 用於研究員辯論與裁決,quick_think_llm 用於資料擷取與摘要
deep_think_llm 指向推理能力強的模型(用於研究員辯論與最終裁決),quick_think_llm 指向低成本模型(用於高頻的資料擷取、摘要與格式化)。研究階段可將 deep 配置調高,批次執行時降低以控制成本。此分流是影響費用的主要配置點。
- deep_think_llm
- quick_think_llm
- 成本分流
- Keys
- deep / quick LLM
- Effect
- 控成本
排名 02
config · max_debate_rounds辯論輪數設定:max_debate_rounds
控制看多看空辯論輪數與風控討論輪數,預設均為 1
max_debate_rounds 控制看多看空研究員的來回輪數,max_risk_discuss_rounds 控制風控討論輪數。兩者預設均為 1。調高輪數可取得更多反例與更嚴謹的結論,同時增加 token 消耗與執行時間;批次掃描多個標的時維持低值以控制成本。
- max_debate_rounds
- 嚴謹度 ↔ 成本
- Default
- 1
- Trade-off
- 嚴謹 vs 成本
排名 03
CLI · 選分析師子集在 CLI 選取分析師子集
可選擇只啟動部分分析師,減少 LLM 呼叫次數與外部資料拉取
在 CLI 流程中可選擇啟動哪些分析師(基本面 / 情緒 / 新聞 / 技術)。停用不需要的節點可減少對應的 LLM 呼叫次數與外部資料拉取。建議先以子集快速篩選,對目標標的再執行完整四種分析師的流程。
- 分析師子集
- 快篩
- 省 token
- Where
- CLI 選單
- Why
- 省呼叫
排名 04
config · llm_provider / backend_url切換 LLM 供應商:本機 Ollama 或 OpenRouter
支援 10+ 供應商,透過 llm_provider 與 backend_url 設定
llm_provider 可指向 OpenAI、Anthropic、Google、xAI、DeepSeek、Qwen、GLM、MiniMax、OpenRouter 或本機 Ollama;搭配 backend_url 指向自架或代理端點。切換供應商只需修改 config,程式碼不需更動。DeepSeek / Qwen 適合降低費用,OpenRouter 提供多模型選擇,Ollama 可讓資料不離本機。
- Ollama 本機
- OpenRouter
- backend_url
- Providers
- 10+
- Local
- Ollama
排名 05
config · output_language設定 output_language 直接產出中文報告
修改 config 中 output_language 欄位,無需更動 prompt
output_language 預設 "English";設為中文後,分析師報告、辯論記錄與最終判斷均以中文產出。適合需要將結果寫入中文研究筆記或供中文團隊閱讀的情境,無需修改任何 prompt。
- output_language
- 中文輸出
- Key
- output_language
- Default
- English
排名 06
config · checkpoint_enabled + memory啟用 checkpoint 以支援可重現回測
checkpoint_enabled 控制中斷續跑,trading_memory.md 保留可讀決策日誌
checkpoint_enabled 預設 False;啟用後可在長流程中儲存進度並中斷續跑,適合大批次回測。搭配 memory_log_path(預設 ~/.tradingagents/memory/trading_memory.md)與 memory_log_max_entries,此 Markdown 日誌可用於事後比較不同 config 對決策結果的影響。
- checkpoint_enabled
- trading_memory.md
- 可重現
- Checkpoint
- 預設關
- Log
- Markdown
實戰 應用
六種用法:對單一標的執行完整辯論、批次回測、量化 baseline 比較、教學教材、本機低成本研究、將決策接入資料管線。
實戰應用
BUY-SIDE · BACKTEST · QUANT BASELINE · TEACHING · LOCAL · PIPELINE
排名 01/06
TradingAgents · 買方研究流程對單一標的執行完整辯論流程
propagate(ticker, date) 輸出分析師觀察、bull/bear 論點、交易員彙整與基金經理核定
典型用法:ta.propagate("NVDA", "2026-01-15") 後讀取完整決策軌跡,包含四種分析師各自的觀察、bull/bear 論點往返、交易員彙整、風控評估與基金經理核定。框架輸出的是可追溯的推理過程,供研究者自行評估,不提供交易訊號。
- ✓ 推理可追溯
- propagate()
- 完整辯論
- 研究輔助
- /
- 06
- Use
- 單檔深研
- Output
- 決策軌跡
- Caveat
- 非投資建議
排名 02
TradingAgents · 批次回測批次回測:多標的 × 多日期的迴圈呼叫
Python API + checkpoint_enabled,對整個 universe 逐一執行
核心 API 為 TradingAgentsGraph.propagate(ticker, date),對一籃子標的與歷史區間做回測時,以迴圈包裹即可。啟用 checkpoint_enabled 可避免中斷後重跑,配合 quick_think_llm 與低 max_debate_rounds 控制單次呼叫成本。回測結果僅供研究,不代表實盤表現。
- 迴圈批跑
- checkpoint
- 成本控制
- Pattern
- loop propagate
- Scale
- universe
排名 03
TradingAgents · 量化 baseline作為量化研究的多代理 LLM 基準
公開論文 arXiv 2412.20138 與 Apache-2.0 實作,可做 benchmark 比較
TradingAgents 具備公開論文(arXiv 2412.20138)與 Apache-2.0 的可修改實作,適合作為「多代理 LLM 方法」的基準,與自有因子模型或單體 LLM 方法比較。做可重現實驗時,固定 LLM、辯論輪數與資料來源,並以 checkpoint 與 trading_memory.md 保留決策軌跡。
- 論文公開
- 可改實作
- benchmark
- Role
- 量化研究員
- Use
- 對照基準
排名 04
TradingAgents · 教學與教材以 TradingAgents 示範多代理協作架構
LangGraph 節點圖與 trading_memory.md 日誌均可逐步講解
在課程或工作坊中,TradingAgents 適合作為多代理協作的教學範例:角色分工對應真實投研流程,LangGraph 將編排以節點圖呈現,決策日誌為純 Markdown 格式,可逐步講解。讓學員修改 max_debate_rounds 或替換分析師後,觀察輸出如何變化,可具體說明多代理架構的運作。
- 教學範例
- 可讀日誌
- 可動手改
- Role
- 教育者
- Asset
- memory.md
排名 05
TradingAgents · 成本受限的本機研究本機 Ollama 搭配低辯論輪數的輕量配置
無需 API 預算,在本地機器執行完整代理流程
將 llm_provider 指向本機 Ollama,max_debate_rounds 維持 1,只啟動兩個分析師,即可在本地執行完整流程,資料不離機器,無 token 費用。適合在本機熟悉流程與調整 config 後,再切換至雲端推理模型進行正式研究。
- Ollama
- 零 API 帳單
- 隱私
- Role
- 個人研究者
- Stack
- 本機 LLM
排名 06
TradingAgents · 接進資料管線將 decision 物件接入下游管線
propagate() 回傳普通 Python 物件,可寫入資料庫或推進 dashboard
_, decision = ta.propagate(...) 回傳的決策與軌跡為普通 Python 物件,可寫入資料庫、推進 dashboard、組成每日研究摘要或作為另一條流程的輸入。TradingAgents 可作為資料管線中的研究節點整合,而非僅作為互動式終端工具使用。輸出僅供研究參考,不應直接作為交易訊號執行。
- 可程式化
- 接 dashboard
- 研究節點
- Role
- 工程整合
- Output
- Python 物件
TradingAgents 作為研究框架的使用起點
行動計畫
TradingAgents 是研究框架,輸出可追溯的推理過程,不提供交易訊號。以下四條路依使用者身分區分,請先確認用途,再選擇對應的起點。
01 · 學生與研究者 · STUDENT & RESEARCHER
以本機 Ollama 完成初次安裝與設定
conda 建環境 → pip install . → 將 llm_provider 指向 Ollama,max_debate_rounds 設為 1,啟動兩個分析師,即可在本機無 API 費用執行完整流程。熟悉代理架構與 trading_memory.md 後,可切換至雲端推理模型進行正式研究。建議同步閱讀論文 arXiv 2412.20138。
02 · 買方分析師 · BUY-SIDE ANALYST
對單一標的執行完整辯論並讀取決策軌跡
ta.propagate(ticker, date) 後讀取完整決策軌跡,包含 bull/bear 論點往返與風控評估,作為研究輸入而非交易訊號。deep_think_llm 配置推理能力強的模型,quick_think_llm 配置低成本模型以控制費用。
03 · 量化研究員 · QUANT
作為量化策略的多代理 LLM 對照基準
以 Python API 迴圈對一籃子標的與歷史區間進行批次回測,將 LLM、辯論輪數、資料來源全部固定,啟用 checkpoint_enabled 以支援可重現實驗。可將多代理 LLM 方法與自有因子模型做比較;回測結果僅供研究,不代表實盤表現。
04 · 工程與產品團隊 · ENGINEERING
將 TradingAgents 整合為管線中的研究節點
propagate() 回傳的決策與軌跡為普通 Python 物件,可寫入 DB、推進 dashboard 或組成每日研究摘要。切換 LLM 供應商僅需修改 llm_provider / backend_url,中文輸出設 output_language。TradingAgents 應作為研究節點整合,其輸出不應在下游直接作為交易訊號執行。