13 KiB
13 KiB
TradingAgentsX - 多代理智能交易分析系統
📖 簡介
TradingAgentsX 是一個先進的多代理 AI 交易分析系統,模擬真實世界的交易公司運作模式。透過 LangGraph 編排多個專業化的 AI 代理(分析師、研究員、交易員、風險管理者),系統能夠從不同角度分析股票市場,並通過結構化的辯論與協作流程產生高質量的交易決策。
💡 致敬原作: 本專案基於 TauricResearch/TradingAgents 進行改進和擴展。
🎯 核心特色
| 功能 | 說明 |
|---|---|
| 🤖 多代理協作架構 | 12 個專業化 AI 代理(分析師、研究員、交易員、風險管理)協同工作 |
| 🌐 多模型支援 | OpenAI、Anthropic、Gemini、Grok、DeepSeek、Qwen 等 LLM 提供商 |
| 🔒 Google OAuth 登入 | 雲端同步 API 設定與歷史報告,支援多裝置同步 |
| 📊 美股與台股支援 | 完整支援美股(Yahoo Finance)與台股(FinMind)資料 |
| 🔑 BYOK 模式 | 使用者自帶 API 金鑰,前端加密儲存,保障隱私 |
| 🛡️ 安全防護 | Rate Limiting、Security Headers、API Key 遮罩 |
| 📱 響應式設計 | 支援桌面與手機瀏覽器 |
| 🐳 Docker 部署 | 一鍵啟動前後端服務 |
🏗️ 系統架構
TradingAgentsX/
├── frontend/ # Next.js 16 前端應用
│ ├── app/ # App Router 頁面
│ │ ├── page.tsx # 首頁
│ │ ├── analysis/ # 分析功能
│ │ ├── history/ # 歷史報告
│ │ ├── auth/ # OAuth 回調
│ │ └── api/ # API 路由(config, auth)
│ ├── components/ # React 組件
│ │ ├── analysis/ # 分析相關組件
│ │ ├── auth/ # 登入按鈕、登入提示
│ │ ├── layout/ # Header、Footer
│ │ ├── settings/ # API 設定對話框
│ │ └── ui/ # shadcn/ui 基礎組件
│ ├── contexts/ # React Context(認證狀態)
│ ├── hooks/ # 自定義 Hooks
│ └── lib/ # 工具函式(API、加密、儲存)
│
├── backend/ # FastAPI 後端服務
│ └── app/
│ ├── main.py # 應用入口(中間件、路由)
│ ├── api/ # API 路由
│ │ ├── routes.py # 分析 API
│ │ ├── auth.py # Google OAuth
│ │ └── user.py # 使用者資料同步
│ ├── core/ # 配置、CORS
│ ├── db/ # PostgreSQL 資料庫
│ ├── models/ # Pydantic 模型
│ └── services/ # 業務邏輯
│
└── tradingagents/ # 核心 AI 代理套件
├── agents/ # AI 代理定義
│ ├── analysts/ # 分析師團隊
│ ├── researchers/ # 研究團隊
│ ├── trader/ # 交易員
│ ├── risk_mgmt/ # 風險管理團隊
│ └── managers/ # 經理決策者
├── dataflows/ # 資料獲取與處理
├── graph/ # LangGraph 工作流
└── default_config.py # 預設配置
🤖 AI 代理團隊
分析師團隊 (4 位)
| 代理 | 職責 | 輸出 |
|---|---|---|
| 市場分析師 | 技術分析 | RSI、MACD、布林通道、支撐阻力位 |
| 社群媒體分析師 | 情緒評估 | Reddit/Twitter 情緒指標、投資者信心 |
| 新聞分析師 | 新聞分析 | 最新新聞摘要、事件影響評估 |
| 基本面分析師 | 財務分析 | 財報數據、P/E、P/B、盈利能力 |
研究團隊 (3 位)
| 代理 | 職責 |
|---|---|
| 看漲研究員 | 多頭觀點論證、上漲催化劑分析 |
| 看跌研究員 | 空頭觀點論證、下跌風險警告 |
| 研究經理 | 綜合看漲與看跌觀點的決策 |
交易與風險團隊 (5 位)
| 代理 | 職責 |
|---|---|
| 交易員 | 整合所有報告,制定交易計劃 |
| 激進分析師 | 高風險高回報策略分析 |
| 保守分析師 | 穩健保守策略與風險控制 |
| 中立分析師 | 中立平衡策略評估 |
| 風險經理 | 風險管理綜合決策與最終建議 |
🚀 快速開始
前置要求
- Python 3.10+
- Node.js 18.x+
- pnpm 或 npm
必要的 API 金鑰
| API | 用途 | 申請網址 |
|---|---|---|
| OpenAI | GPT 模型 | https://platform.openai.com/api-keys |
| Alpha Vantage(選填) | 美股基本面資料 | https://www.alphavantage.co/support/#api-key |
| FinMind(選填) | 台股資料 | https://finmindtrade.com/ |
安裝步驟
1️⃣ 克隆專案
git clone https://github.com/MarkLo127/TradingAgentsX.git
cd TradingAgentsX
2️⃣ 後端設置
# 創建虛擬環境
conda create -n tradingagents python=3.13
conda activate tradingagents
# 安裝依賴
pip install -e .
pip install -r backend/requirements.txt
# 配置環境變數
cp .env.example .env
# 編輯 .env 填入 API 金鑰
# 啟動後端
python -m backend
後端服務:
- API: http://localhost:8000
- Swagger 文檔: http://localhost:8000/docs
3️⃣ 前端設置
# 安裝依賴
pnpm -C frontend install
# 啟動開發伺服器
pnpm -C frontend dev
前端應用: http://localhost:3000
🐳 Docker 部署
# 配置環境變數
cp .env.example .env
# 啟動服務
docker compose up -d --build
# 查看日誌
docker compose logs -f
服務端口:
🔒 安全特性
本地開發 vs 生產環境
| 功能 | 本地開發 (localhost) | 生產環境 (Railway 等) |
|---|---|---|
| Google 登入 | 選用(可不設定) | 建議啟用 |
| 資料自動清除 | ❌ 不會清除 | ✅ 未登入時離開會清除 |
| PostgreSQL | 選用 | 必需 |
| API 設定儲存 | 永久保留 | 登入後雲端同步 |
| 歷史報告儲存 | 永久保留 | 登入後雲端同步 |
前端安全
- API Key 加密儲存 - 使用 AES-GCM 加密 localStorage 中的敏感資料
- 自動清除(僅生產環境) - 未登入用戶離開頁面時自動清除本地資料
- Safari 觸控優化 - 修復 iOS Safari 的觸控事件問題
後端安全
- Rate Limiting - 每分鐘 30 次請求限制
- Security Headers - X-Content-Type-Options、X-Frame-Options 等
- 敏感資料遮罩 - API Key 在日誌中自動遮罩
- CORS 配置 - 限制跨域請求來源
雲端同步
- Google OAuth 2.0 - 安全的第三方登入
- JWT Token - 無狀態認證
- 雲端備份 - API 設定與歷史報告同步到伺服器
📱 使用指南
1. 配置 API 金鑰
點擊右上角「設定」按鈕,輸入您的 API 金鑰。
2. 選擇分析參數
- 市場類型: 美股 / 台股上市 / 台股上櫃
- 股票代碼: 如 NVDA、2330
- 分析師團隊: 選擇需要的分析師
- 研究深度: 淺層(快速)/ 中等 / 深層(詳細)
- LLM 模型: 快速思維模型 + 深層思維模型
3. 執行分析
點擊「執行分析」,等待 1-5 分鐘(依研究深度而定)。
4. 查看結果
- 交易決策摘要 - BUY / SELL / HOLD 建議
- 股價走勢圖 - 折線圖 / K 線圖切換
- 12 位代理報告 - 點擊標籤查看詳細分析
5. 儲存與下載
- 儲存報告 - 保存到本地 / 雲端
- 下載報告 - 匯出為 JSON 檔案
🔌 API 文檔
健康檢查
GET /api/health
執行分析
POST /api/analyze
Content-Type: application/json
{
"ticker": "NVDA",
"market_type": "us",
"analysis_date": "2024-01-15",
"research_depth": 2,
"analysts": ["market", "social", "news", "fundamentals"],
"quick_think_llm": "gpt-5-mini",
"deep_think_llm": "claude-sonnet-4-5",
"quick_think_api_key": "sk-...",
"deep_think_api_key": "sk-ant-...",
"embedding_api_key": "sk-...",
"alpha_vantage_api_key": "..."
}
查詢任務狀態
GET /api/task/{task_id}
完整文檔: http://localhost:8000/docs
🛠️ 技術棧
後端
| 技術 | 用途 |
|---|---|
| FastAPI | 異步 Web 框架 |
| LangGraph | 多代理工作流編排 |
| LangChain | LLM 應用開發 |
| ChromaDB | 向量資料庫(記憶系統) |
| PostgreSQL | 使用者資料儲存 |
| SQLAlchemy + asyncpg | 異步資料庫 ORM |
| Pydantic | 資料驗證 |
前端
| 技術 | 用途 |
|---|---|
| Next.js 16 | React 全端框架 |
| TypeScript | 靜態型別 |
| Tailwind CSS | 樣式框架 |
| shadcn/ui | UI 組件庫 |
| Dexie.js | IndexedDB 封裝 |
| Recharts | 資料視覺化 |
📸 應用截圖
首頁 - 系統介紹
展示 TradingAgentsX 的核心功能與多代理協作工作流程
分析配置頁面
直觀的表單介面,支援完整的 LLM 多模型配置與自訂端點設定
代理觀點選擇
12 個專業代理標籤,點擊可切換查看不同代理的分析報告:
- 分析師團隊 (4): 市場分析師、社群媒體分析師、新聞分析師、基本面分析師
- 研究團隊 (3): 看漲研究員、看跌研究員、研究經理
- 交易團隊 (1): 交易員
- 風險管理團隊 (4): 激進分析師、保守分析師、中立分析師、風險經理
股價走勢圖表 (K 線圖)
互動式價格走勢與成交量圖表(K 線圖),清晰呈現股票歷史數據
股價走勢圖表 (折線圖)
互動式價格走勢與成交量圖表(折線圖),清晰呈現股票歷史數據
市場分析師報告
技術面深度分析,包含技術指標、價格走勢、支撐阻力位評估
社群媒體分析師報告
社交媒體情緒指標與投資者信心評估
新聞分析師報告
最新財經新聞摘要與事件影響分析
基本面分析師報告
詳細的財務數據解析與價值評估
看漲研究員報告
多頭觀點論證、上漲催化劑分析與目標價位預測
看跌研究員報告
空頭觀點論證、下跌風險警告與防守策略建議
研究經理報告
綜合看漲與看跌觀點的研究團隊決策
交易員報告
整合所有分析師報告後的交易執行計劃與策略
激進分析師報告
高風險高回報策略的分析與評估
保守分析師報告
穩健保守策略的分析與風險控制建議
中立分析師報告
中立平衡策略的分析與風險評估
風險經理報告
風險管理團隊的綜合決策與最終交易建議
下載報告
🙏 致謝
- TauricResearch/TradingAgents - 原始專案
- LangChain - LLM 應用框架
- LangGraph - 多代理編排
- FastAPI - Web 框架
- Next.js - React 框架
- shadcn/ui - UI 組件庫
📄 License
本專案採用 Apache 2.0 許可證 - 查看 LICENSE 文件了解詳情。

















