TradingAgents/README.md

6.3 KiB
Raw Blame History

TradingAgents - 多代理交易分析系統

基於 LangGraph 的智能股票交易分析平台,結合多個 AI 代理進行協作決策

系統架構

後端架構 (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

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

使用流程

  1. 訪問首頁 - 查看功能介紹
  2. 進入分析頁面 - 點擊"開始分析"
  3. 配置參數
    • 選擇分析師團隊(市場、情緒、新聞、基本面)
    • 輸入股票代碼(如 NVDA, AAPL, TSLA
    • 選擇分析日期
    • 設定研究深度(淺層/中等/深層)
    • 選擇 LLM 模型
    • 輸入 API 金鑰
  4. 執行分析 - 點擊"執行分析"按鈕
  5. 查看結果 - 自動跳轉至結果頁面,查看:
    • 交易決策(買入/賣出/持有)
    • 股價走勢圖表
    • 各分析師詳細報告

核心功能

多代理協作系統

  • 市場分析師: 技術指標與價格走勢分析
  • 情緒分析師: 社交媒體情緒分析
  • 新聞分析師: 新聞事件影響評估
  • 基本面分析師: 財務數據與估值分析
  • 研究團隊: 看漲/看跌辯論機制
  • 交易員: 投資計劃制定
  • 風險管理: 風險評估與倉位管理

智能特性

  • 動態研究深度: 可調節分析詳細程度
  • 多模型支持: GPT-4o, GPT-5.1 等
  • 記憶系統: ChromaDB 向量存儲歷史決策
  • Markdown 報告: 格式化的分析輸出
  • 實時數據: yfinance 股票數據整合

應用截圖

首頁

首頁

分析配置頁面

分析配置

股價走勢與交易量(折線圖)

股價走勢與交易量(折線圖)

股價走勢與交易量K線圖

股價走勢與交易量(K線圖)

市場分析師報告

市場分析師報告

社群分析師報告

社群分析師報告

新聞分析師報告

新聞分析師報告

基本面 分析師報告

基本面分析師報告