TradingAgents-astock:把多 Agent 辯論架構搬進 A 股制度
A股多Agent投研框架 — 适配A股数据源(龙虎榜/游资/解禁等),7位分析师基于A股规则的辩论决策,基于TradingAgents深度改造,适配大A。A-share multi-agent investment research framework — 7 AI analysts, bull/bear debate, risk assessment。
秒懂
- 它是什麼?
- 這個 fork 從資料層、分析師角色到交易規則三個維度改寫上游 TradingAgents,換掉 Yahoo Finance,補上龍虎榜、游資與解禁三個 A 股專屬角色。它服務的是研究與教學場景,不是下單工具。
- 適合誰用?
- 如果你要研究多 Agent 辯論在 A 股制度下的表現,或需要一個能直接讀取龍虎榜與解禁資料的 Python 框架,這個專案值得先在本機跑一次單檔分析。若你期待它產出可直接下單的訊號,或無法接受每次分析 30 到 50 次 LLM 呼叫的費用與延遲,就應該停下來。
- 可以商用嗎?
- 可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 11 天前。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
它解決的不是選股問題,而是資料與制度的錯位
上游 TradingAgents 的多 Agent 辯論設計本身沒有問題,問題在於它的資料管線綁定 Yahoo Finance 與 Alpha Vantage,這兩者對 A 股的覆蓋有限。更關鍵的是分析師的知識結構:原版四位分析師(市場、情緒、新聞、基本面)面對的是 T+0、無漲跌停、以機構為主導的美股市場,而 A 股的短線定價很大程度由游資主導,供給端則會被限售股解禁直接衝擊。這些因素在原版框架裡沒有對應的角色去處理。
這個 fork 的目標讀者是做量化研究或 AI 投研產品原型的人。README 開頭明確標示,它是 TradingAgents 論文的工程實現與研究復現,面向研究與教學,不構成投資建議。這句話不是免責套話,它界定了專案性質:輸出是一份中文研究報告,不是交易訊號。如果你要的是回測框架或執行引擎,這裡沒有。
七位分析師如何串進同一條決策鏈
架構是分層的。最上層是七個 Analyst 並行生成研報,每個 Analyst 自帶工具迴圈,可以呼叫多個資料工具。原版四位之外新增的三位各有明確分工:政策分析師盯監管與產業政策,游資追蹤師看龍虎榜與大單流向,解禁監控師處理限售股解禁、大股東減持與股權質押。這三位呼叫的工具並非專屬,例如游資追蹤師用的是 get_stock_data、get_news 與 get_insider_transactions,差別在於提示詞與關注點。
七份研報全部流入下一層的 Bull 與 Bear 研究員辯論,最多進行 N 輪。辯論結果交給 Research Manager 綜合研判並輸出投資計劃,再進入 Trader 節點形成交易方案,此時會套用 A 股約束:T+1、漲跌停、最小手數。之後是 Aggressive、Conservative、Neutral 三方風險辯論,最後由 Portfolio Manager 給出評級與理由。
值得注意的是雙 LLM 設計。quick_think_llm 承擔所有 Analyst、Researcher、Trader 與風險辯論者,deep_think_llm 只給 Research Manager 與 Portfolio Manager。這是成本上的取捨:把昂貴的推理預算集中在兩個真正需要綜合全局資訊的節點,其餘節點用較便宜的模型。v0.5.15 的發布說明提到 role_llms 支援按角色配置 api_key,意味著你可以讓不同節點走不同供應商。
資料源全部免費直連,以及東財那條必須繞開的紅線
行情與財務資料走 mootdx(通達信 TCP 7709),騰訊財經提供即時 PE、PB、市值與換手率,新浪財經提供 K 線歷史與財報三表,同花順提供 EPS 一致預期,財聯社提供全球財經快訊,百度股市通提供概念板塊分類與資金流向。東方財富負責它獨有的龍虎榜、限售解禁、板塊行情與個股新聞。README 特別聲明完全不依賴 Tushare、Alpha Vantage 與 Yahoo Finance。
真正的工程細節在東財防封。專案的做法是讓行情、K 線、市值、財務優先走 mootdx 或騰訊,東財只用在它獨有的資料上。所有東財請求統一經過內建的節流入口 _em_get(),串行限流,預設間隔至少 1 秒並附加 0.1 到 0.5 秒的隨機抖動,同時複用 Keep-Alive 會話。README 引述的東財風控門檻是每秒超過 5 次、並行 10 次以上或每分鐘超過 200 次會觸發封禁。批次場景可以設定環境變數 EM_MIN_INTERVAL=1.5~2 進一步降速。
這裡有個容易誤讀的地方:限流只作用於東財,mootdx、騰訊、新浪、同花順、財聯社、百度都不受影響。所以當你跑多標的批次分析時,瓶頸幾乎必然落在東財那幾個介面上,而不是整體架構。把 EM_MIN_INTERVAL 調高是唯一在文件裡給出的手段,代價是批次任務的總時長線性增加。
安裝與設定:從 clone 到第一份報告
環境要求 Python 3.10 以上。基本流程是 git clone 專案、進入目錄、執行 pip install -e .。如果需要用 Google Gemini,README 說明沒有 [google] extra,必須另外顯式安裝:先 pip install --no-deps "langchain-google-genai>=4.0.0",再 pip install "google-genai>=1.53.0" "httpx>=0.28.1"。
LLM 設定寫在專案根目錄的 .env。README 列出多個供應商方案,鍵名分別是 MINIMAX_API_KEY、DEEPSEEK_API_KEY、ZHIPU_API_KEY、DASHSCOPE_API_KEY 與 OpenAI 對應的鍵。它把 MiniMax 標為推薦選項,理由是國內直連與性價比。這裡必須提醒一件事:每次分析需要 30 到 50 次 LLM 呼叫,這是 README 自己給出的數字,不是估算。
啟動方式有兩條。Web UI 是 streamlit run web/app.py,CLI 直接執行 tradingagents。專案不需要 Docker,README 說安裝後即可使用,Docker 只是可選部署方式。v0.5.17 的更新是 Web UI 會記住 LLM 配置,v0.5.16 修掉部分 config 觸發 KeyError 的問題。
另一個選項是走個人訂閱額度。安裝 pip install -e ".[agentsdk]" 之後,可以讓部分或全部節點經由 Claude Agent SDK 使用個人 Claude Pro 或 Max 訂閱額度,不產生 API 帳單。README 把這個能力標為 v0.4.0 新增。
它不適合誰:成本、延遲與研究性質的邊界
最直接的limitation是呼叫量。30 到 50 次 LLM 呼叫乘以七位分析師的工具迴圈與最多 N 輪的辯論,單檔分析的耗時與費用都不低。如果你的使用情境是盤中即時決策,這個架構的延遲結構就不匹配。反過來說,它從來沒宣稱要做即時交易。
第二個限制在資料源的穩定性。mootdx 走 TCP 7709,東財走 HTTP 且有明確的風控門檻,這些都是非官方介面。README 給出的防封參數是基於實測的門檻描述,但這類介面隨時可能變動,專案本身無法控制上游。批次跑大量標的時,你需要自己承擔這個風險。
第三個是性質問題。專案自我定位為研究復現與教學工具,輸出的是中文報告,內部辯論保持英文以維持推理品質。這個設計選擇意味著報告的英文推理鏈與中文輸出之間存在一層轉換,如果你要審計 Agent 的推理過程,得回去看英文原文。
最後,它的 A 股特化角色本質上是提示詞與工具組合的差異,不是獨立的資料模型。政策分析師與新聞分析師呼叫的工具集有重疊,游資追蹤師與市場分析師同樣共用 get_stock_data。角色之間的區隔靠的是關注點設定,這在實務上是否產生足夠差異化的觀點,需要你自己跑幾輪對照。
與上游 TradingAgents 的實際差異
最合理的替代品就是上游 TauricResearch/TradingAgents 本身。兩者同為 Apache 2.0,架構血緣一致,差別在於適配方向。
資料層是最大的分歧點。上游走 Yahoo Finance 與 Alpha Vantage,這對美股是合理的選擇,但對 A 股的覆蓋不足。這個 fork 換成 mootdx 加東財、新浪、同花順、財聯社、百度的組合,全部免費且無需 API Key。如果你的研究對象是美股,上游的資料管線更直接,沒有必要繞這一圈。
角色設計上,上游四位分析師,這個 fork 七位。多出的政策、游資、解禁三位對應 A 股的三個特殊機制:政策驅動的板塊輪動、游資主導的短線定價、限售股解禁造成的供給衝擊。這些角色在美股語境下沒有意義。
交易規則與基準也不同。上游按美股規則(T+0、無漲跌停),Alpha 基準是 SPY;這個 fork 套用 T+1、漲跌停、最小手數與 ST 規則,基準換成滬深 300。輸出語言從英文改為中文報告。
所以選擇邏輯很簡單:研究標的是 A 股就用這個 fork,是美股就用上游。兩者不是替代關係,是針對不同市場的分支。
授權與維護成本
專案採 Apache 2.0,與上游一致。README 用「全 Apache 2.0」描述,意味著沒有額外的授權限制條款。Apache 2.0 允許商業使用與修改,並包含專利授權條款,但具體的合規判斷需要你自己或法務確認,這裡不做法律意見。
維護面可以從發布節奏觀察。v0.5.15 到 v0.5.17 集中在 2026 年 8 月中到 9 月初,內容分別是按角色配置 api_key、修復 config 的 KeyError、Web UI 記住 LLM 配置,都是使用體驗層面的修補,不是架構變動。這說明專案處於活躍維護狀態,但也說明它仍在處理基礎的設定穩定性問題。
升級成本主要來自兩處。一是資料源介面的變動,mootdx 與東財都不是官方 API,上游改動時專案需要跟著調整。二是 LLM 供應商的 SDK 變動,README 特別說明 Gemini 需要手動安裝相依套件,這類手動步驟在升級時容易出錯。
由於是 fork,與上游合併的成本會隨時間累積。CHANGES_FROM_UPSTREAM.md 記錄了改動範圍,如果你打算長期使用,這份文件比 README 更值得先讀一遍。
編輯結論
如果你要研究多 Agent 辯論在 A 股制度下的表現,或需要一個能直接讀取龍虎榜與解禁資料的 Python 框架,這個專案值得先在本機跑一次單檔分析。若你期待它產出可直接下單的訊號,或無法接受每次分析 30 到 50 次 LLM 呼叫的費用與延遲,就應該停下來。動手前先確認三件事:Python 版本是否達到 3.10、你選的供應商 API Key 是否已在 .env 中對應正確的鍵名、以及批次分析時是否需要把 EM_MIN_INTERVAL 調到 1.5 至 2 秒。這三項決定了它能否跑完第一輪,而不是跑得多好。
社群筆記