6.3 KiB
6.3 KiB
TradingAgents - 多代理交易分析系統
基於 LangGraph 的智能股票交易分析平台,結合多個 AI 代理進行協作決策
- GitHub: MarkLo127/TradingAgents
系統架構
後端架構 (FastAPI)
backend/
├── __main__.py # 應用入口點
├── requirements.txt # Python 依賴
└── app/
├── main.py # FastAPI 應用主程式
├── api/ # API 路由層
│ ├── routes.py # 分析、配置等 API 端點
│ └── dependencies.py # 依賴注入
├── core/ # 核心配置
│ ├── config.py # 環境變數設定
│ └── cors.py # CORS 配置
├── models/ # 數據模型
│ └── schemas.py # Pydantic 數據模式
└── services/ # 業務邏輯
├── trading_service.py # TradingAgents 整合
└── price_service.py # 股價數據處理
核心技術棧:
- FastAPI: 現代化異步 Web 框架
- Pydantic: 數據驗證與序列化
- LangGraph: 多代理工作流編排
- LangChain: LLM 整合框架
- Chromadb: 向量數據庫(記憶系統)
- yfinance: 股票數據獲取
前端架構 (Next.js)
frontend/
├── app/ # Next.js 應用路由
│ ├── layout.tsx # 根佈局
│ ├── page.tsx # 首頁
│ └── analysis/ # 分析功能
│ ├── page.tsx # 分析表單頁面
│ └── results/ # 結果展示頁面
├── components/ # React 組件
│ ├── analysis/ # 分析相關組件
│ │ ├── AnalysisForm.tsx # 分析參數表單
│ │ ├── TradingDecision.tsx # 交易決策展示
│ │ ├── AnalystReport.tsx # 分析師報告
│ │ └── PriceChart.tsx # 股價圖表
│ ├── layout/ # 佈局組件
│ │ ├── Header.tsx # 導航欄
│ │ └── Footer.tsx # 頁腳
│ ├── shared/ # 共用組件
│ └── ui/ # shadcn/ui 基礎組件
├── context/ # React Context
│ └── AnalysisContext.tsx # 分析結果共享
├── hooks/ # 自定義 Hooks
│ ├── useAnalysis.ts # 分析請求管理
│ └── useConfig.ts # 配置獲取
└── lib/ # 工具函數
├── api.ts # API 客戶端
├── types.ts # TypeScript 類型
└── utils.ts # 輔助函數
核心技術棧:
- Next.js 16: React 全棧框架
- TypeScript: 靜態類型檢查
- Tailwind CSS: 實用優先的 CSS 框架
- shadcn/ui: 可定制的 UI 組件庫
- React Hook Form + Zod: 表單驗證
- Recharts: 數據可視化
- Axios: HTTP 客戶端
- react-markdown: Markdown 渲染
安裝步驟
前置要求
- Python: 3.10 或以上
- Node.js: 18.x 或以上
- pnpm: 最新版本
- Conda: (推薦) 用於 Python 環境管理
- API 金鑰:
- OpenAI API Key (必需)
- Alpha Vantage API Key (可選,用於更詳細數據)
1. 克隆專案
git clone https://github.com/MarkLo127/TradingAgents.git
cd TradingAgents
2. 後端設置
2.1 創建 Python 環境
# 使用 Conda (推薦)
conda create -n tradingagents python=3.13
conda activate tradingagents
2.2 安裝依賴
# 安裝 TradingAgents 核心
pip install -e .
# 安裝後端依賴
pip install -r backend/requirements.txt
2.3 環境配置
在專案根目錄創建 .env 文件:
# API 金鑰
OPENAI_API_KEY=sk-your-openai-api-key
OPENAI_BASE_URL=https://api.openai.com/v1
ALPHA_VANTAGE_API_KEY=your-alpha-vantage-key # 可選
# 後端配置
BACKEND_HOST=0.0.0.0
BACKEND_PORT=8000
# CORS 配置
CORS_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
2.4 啟動後端
# 從專案根目錄運行
python -m backend
後端將運行在 http://localhost:8000
- API 文檔: http://localhost:8000/docs
- 健康檢查: http://localhost:8000/api/health
3. 前端設置
3.1 安裝依賴
pnpm -C frontend i
3.2 啟動前端
pnpm -C frontend dev
前端將運行在 http://localhost:3000
Docker 部署
# 使用 Docker Compose 啟動
docker compose up -d --build
# 查看日誌
docker compose logs -f
# 停止服務
docker compose down -v
使用流程
- 訪問首頁 - 查看功能介紹
- 進入分析頁面 - 點擊"開始分析"
- 配置參數:
- 選擇分析師團隊(市場、情緒、新聞、基本面)
- 輸入股票代碼(如 NVDA, AAPL, TSLA)
- 選擇分析日期
- 設定研究深度(淺層/中等/深層)
- 選擇 LLM 模型
- 輸入 API 金鑰
- 執行分析 - 點擊"執行分析"按鈕
- 查看結果 - 自動跳轉至結果頁面,查看:
- 交易決策(買入/賣出/持有)
- 股價走勢圖表
- 各分析師詳細報告
核心功能
多代理協作系統
- 市場分析師: 技術指標與價格走勢分析
- 情緒分析師: 社交媒體情緒分析
- 新聞分析師: 新聞事件影響評估
- 基本面分析師: 財務數據與估值分析
- 研究團隊: 看漲/看跌辯論機制
- 交易員: 投資計劃制定
- 風險管理: 風險評估與倉位管理
智能特性
- 動態研究深度: 可調節分析詳細程度
- 多模型支持: GPT-4o, GPT-5.1 等
- 記憶系統: ChromaDB 向量存儲歷史決策
- Markdown 報告: 格式化的分析輸出
- 實時數據: yfinance 股票數據整合







