多AI模型自主交易競技平台,讓GPT、Claude等AI在納斯達克100市場中自主決策並競爭收益

PythonAI-TraderHKUDS 1.0k Last Updated: October 27, 2025

AI-Trader 專案詳細介紹

🎯 專案概述

AI-Trader 是一個創新的AI自主交易競技平台,由香港大學數據科學實驗室(HKUDS)開發。該專案讓五個不同的AI模型(GPT、Claude、DeepSeek、Qwen、Gemini)在完全自主的情況下,在那斯達克100市場中進行真實的交易競爭,探索「AI能否戰勝市場」這一核心問題。

核心理念: 零人工干預、純AI競爭、完全自主決策

📊 當前競賽排名(即時更新)

🏆 排名 🤖 AI模型 📈 總收益率
🥇 1st DeepSeek 🚀 +9.68%
🥈 2nd Claude-3.7 📊 +2.17%
🥉 3rd GPT-5 📊 +1.60%
Baseline QQQ 📊 +1.22%
4th Qwen3-max 📊 -0.75%
5th Gemini-2.5-flash 📊 -2.73%

🌟 核心特性

1. 🤖 完全自主決策

  • AI代理100%獨立分析、決策和執行,無需人工干預
  • 每個AI模型從初始資金$10,000開始自主交易
  • 自適應策略演進,基於市場表現回饋自我優化

2. 🛠️ 純工具驅動架構

  • 基於MCP(Model Context Protocol)工具鏈建構
  • 所有交易操作透過標準化工具呼叫完成
  • 模組化工具生態系統,支援靈活擴展

3. 🏆 多模型競技場

  • 支援部署多個AI模型(GPT、Claude、Qwen等)進行競爭交易
  • 所有模型在相同條件下競爭:相同初始資金、資料存取權限和評估指標
  • 確保公平對比,客觀評估AI交易能力

4. 📊 即時效能分析

  • 全面的交易紀錄、倉位監控和盈虧分析
  • 標準化評估指標:夏普比率、最大回撤、年化收益率等
  • 完整的交易日誌和決策紀錄

5. 🔍 智能市場情報

  • 整合Jina AI搜尋,獲取即時市場新聞和財報
  • 自主市場研究:智能檢索和過濾市場新聞、分析師報告
  • 多維度分析驅動完全自主的買賣執行

6. ⏰ 歷史回放能力

  • 時間段回放功能,支援歷史資料模擬
  • 自動未來資訊過濾,確保AI只能存取當前時間點及之前的資料
  • 完全可重現的實驗環境,保證科學嚴謹性

🎮 交易規則

競賽設置

  • 💰 初始資金: 每個AI模型$10,000美元起始餘額
  • 📈 交易標的: 那斯達克100成分股(前100大科技股)
  • ⏰ 交易時間: 工作日市場交易時間,支援歷史模擬
  • 📊 資料來源: Alpha Vantage API + Jina AI市場情報
  • 💲 價格基準: 使用每日開盤價進行交易
  • 🔄 時間管理: 歷史時段回放,自動過濾未來資訊

公平競爭原則

所有AI模型在相同條件下競爭,確保公平對比:

  • ✅ 相同的初始資金($10,000)
  • ✅ 統一的市場資料和資訊源
  • ✅ 同步的交易時間窗口
  • ✅ 標準化的評估指標
  • ✅ 相同的MCP工具鏈存取權限

零人工干預設計

AI代理完全自主運作,沒有任何人工編程、引導或干預:

  • ❌ 無預設策略: 沒有預設的交易策略或演算法規則
  • ❌ 無人工輸入: 完全依賴AI固有的推論能力
  • ❌ 無人工覆蓋: 交易期間絕對禁止人工干預
  • ✅ 純工具執行: 所有操作僅透過標準化工具呼叫執行
  • ✅ 自適應學習: 基於市場表現回饋獨立調整策略

🏗️ 系統架構

專案結構

AI-Trader Bench/
├── 🤖 核心系統
│   ├── main.py                    # 🎯 主程式入口
│   ├── agent/base_agent/          # 🧠 AI代理核心
│   └── configs/                   # ⚙️ 配置檔案
│
├── 🛠️ MCP工具鏈
│   ├── agent_tools/
│   │   ├── tool_trade.py          # 💰 交易執行
│   │   ├── tool_get_price_local.py # 📊 價格查詢
│   │   ├── tool_jina_search.py    # 🔍 資訊搜尋
│   │   └── tool_math.py           # 🧮 數學計算
│   └── tools/                     # 🔧 輔助工具
│
├── 📊 資料系統
│   ├── data/
│   │   ├── daily_prices_*.json    # 📈 股票價格資料
│   │   ├── merged.jsonl           # 🔄 統一資料格式
│   │   └── agent_data/            # 📝 AI交易紀錄
│   └── calculate_performance.py   # 📈 效能分析
│
├── 🎨 前端介面
│   └── frontend/                  # 🌐 Web儀表板
│
└── 📋 配置與文件
    ├── configs/                   # ⚙️ 系統配置
    ├── prompts/                   # 💬 AI提示詞
    └── calc_perf.sh              # 🚀 效能計算腳本

MCP工具鏈

工具 功能 API
Trading Tool 買賣股票、倉位管理 buy(), sell()
Price Tool 即時和歷史價格查詢 get_price_local()
Search Tool 市場資訊搜尋 get_information()
Math Tool 財務計算和分析 基礎數學運算

核心功能模組

  1. 多模型併發: 同時執行多個AI模型進行交易
  2. 配置管理: 支援JSON配置檔案和環境變數
  3. 日期管理: 靈活的交易日曆和日期範圍設置
  4. 錯誤處理: 全面的異常處理和重試機制

🚀 快速開始

系統要求

  • Python 3.8+
  • API金鑰: OpenAI、Alpha Vantage、Jina AI

安裝步驟

# 1. 複製專案
git clone https://github.com/HKUDS/AI-Trader.git
cd AI-Trader

# 2. 安裝依賴
pip install -r requirements.txt

# 3. 配置環境變數
cp .env.example .env
# 編輯.env檔案並填入您的API金鑰

環境配置

建立 .env 檔案並配置以下變數:

# 🤖 AI模型API配置
OPENAI_API_BASE=https://your-openai-proxy.com/v1
OPENAI_API_KEY=your_openai_key

# 📊 資料源配置
ALPHAADVANTAGE_API_KEY=your_alpha_vantage_key
JINA_API_KEY=your_jina_api_key

# ⚙️ 系統配置
RUNTIME_ENV_PATH=./runtime_env.json

# 🌐 服務埠配置
MATH_HTTP_PORT=8000
SEARCH_HTTP_PORT=8001
TRADE_HTTP_PORT=8002
GETPRICE_HTTP_PORT=8003

# 🧠 AI代理配置
AGENT_MAX_STEP=30  # 最大推論步數

資料準備

# 📈 獲取那斯達克100股票資料
cd data
python get_daily_price.py

# 🔄 合併資料為統一格式
python merge_jsonl.py

啟動系統

# 啟動MCP服務
cd ./agent_tools
python start_mcp_services.py

# 🎯 執行主程式 - 讓AI開始交易!
python main.py

# 或使用自訂配置
python main.py configs/my_config.json

⚙️ 配置指南

基礎配置範例

{
  "agent_type": "BaseAgent",
  "date_range": {
    "init_date": "2024-01-01",  // 回溯測試開始日期
    "end_date": "2024-03-31"     // 回溯測試結束日期
  },
  "models": [
    {
      "name": "claude-3.7-sonnet",
      "basemodel": "anthropic/claude-3.7-sonnet",
      "signature": "claude-3.7-sonnet",
      "enabled": true
    }
  ]
}

完整配置範例

{
  "agent_type": "BaseAgent",
  "date_range": {
    "init_date": "2025-01-01",
    "end_date": "2025-01-31"
  },
  "models": [
    {
      "name": "claude-3.7-sonnet",
      "basemodel": "anthropic/claude-3.7-sonnet",
      "signature": "claude-3.7-sonnet",
      "enabled": true
    }
  ],
  "agent_config": {
    "max_steps": 30,
    "max_retries": 3,
    "base_delay": 1.0,
    "initial_cash": 10000.0
  },
  "log_config": {
    "log_path": "./data/agent_data"
  }
}

配置參數說明

參數 描述 預設值
agent_type AI代理類型 "BaseAgent"
max_steps 最大推論步數 30
max_retries 最大重試次數 3
base_delay 操作延遲(秒) 1.0
initial_cash 初始資金 $10,000

📊 資料格式

交易紀錄格式

{
  "date": "2025-01-20",
  "id": 1,
  "this_action": {
    "action": "buy",
    "symbol": "AAPL",
    "amount": 10
  },
  "positions": {
    "AAPL": 10,
    "MSFT": 0,
    "CASH": 9737.6
  }
}

價格資料格式

{
  "Meta Data": {
    "2. Symbol": "AAPL",
    "3. Last Refreshed": "2025-01-20"
  },
  "Time Series (Daily)": {
    "2025-01-20": {
      "1. buy price": "255.8850",
      "2. high": "264.3750",
      "3. low": "255.6300",
      "4. sell price": "262.2400",
      "5. volume": "90483029"
    }
  }
}

資料儲存結構

data/agent_data/
├── claude-3.7-sonnet/
│   ├── position/
│   │   └── position.jsonl      # 📝 倉位紀錄
│   └── log/
│       └── 2025-01-20/
│           └── log.jsonl       # 📊 交易日誌
├── gpt-4o/
│   └── ...
└── qwen3-max/
    └── ...

🔧 可擴展性

自訂AI代理

# 建立新的AI代理類別
class CustomAgent(BaseAgent):
    def __init__(self, model_name, **kwargs):
        super().__init__(model_name, **kwargs)
        # 添加自訂邏輯

# 在main.py中註冊
AGENT_REGISTRY = {
    "BaseAgent": {
        "module": "agent.base_agent.base_agent",
        "class": "BaseAgent"
    },
    "CustomAgent": {  # 新增
        "module": "agent.custom.custom_agent",
        "class": "CustomAgent"
    },
}

新增自訂工具

# 建立新的MCP工具
@mcp.tools()
class CustomTool:
    def __init__(self):
        self.name = "custom_tool"
    
    def execute(self, params):
        # 實現自訂工具邏輯
        return result

配置自訂模型

{
  "agent_type": "CustomAgent",
  "models": [
    {
      "name": "your-custom-model",
      "basemodel": "your/model/path",
      "signature": "custom-signature",
      "enabled": true
    }
  ]
}

🎯 核心創新

1. 完全可重現的交易環境

AI-Trader的核心創新之一是其完全可重現的交易環境,確保AI代理效能評估的科學嚴謹性。

時間回放機制:

{
  "date_range": {
    "init_date": "2025-01-01",  // 任意開始日期
    "end_date": "2025-01-31"     // 任意結束日期
  }
}

資訊邊界控制:

  • 📊 價格資料邊界: 市場資料存取限制在模擬時間戳和歷史紀錄
  • 📰 新聞時序執行: 即時過濾防止存取未來新聞和公告
  • 📈 財報時間線: 資訊限制在當前模擬日期的官方發布資料
  • 🔍 歷史情報範圍: 市場分析限制在時間適當的資料可用性

2. 科學研究價值

  • 📊 市場效率研究: 評估AI在不同市場條件和波動性下的表現
  • 🧠 決策一致性分析: 檢查AI交易邏輯的時間穩定性和行為模式
  • 📈 風險管理評估: 驗證AI驅動的風險緩解策略的有效性
  • 🏆 平等資訊存取: 所有AI模型使用相同的歷史資料集
  • 🔍 完全可重現性: 完整的實驗透明度和可驗證結果

📈 效能分析

啟動Web儀表板

cd docs
python3 -m http.server 8000
# 存取 http://localhost:8000

效能指標

  • 📊 總收益率
  • 📈 夏普比率
  • 📉 最大回撤
  • 💰 年化收益率
  • 📝 交易頻率
  • 🎯 勝率統計

🔮 未來規劃

  • 🇨🇳 A股支援 - 擴展至中國股票市場
  • 📊 盤後統計 - 自動盈虧分析
  • 🔌 策略市場 - 添加第三方策略分享平台
  • 🎨 酷炫前端介面 - 現代化Web儀表板
  • 加密貨幣 - 支援數位貨幣交易
  • 📈 更多策略 - 技術分析、量化策略
  • 進階回放 - 支援分鐘級時間精度和即時回放
  • 🔍 智能過濾 - 更精確的未來資訊偵測和過濾

🤝 貢獻指南

我們歡迎各種形式的貢獻! 特別是AI交易策略和代理實現。

貢獻方式

1. 🎯 交易策略

  • 貢獻您的AI交易策略實現
  • 分享獨特的交易思路和演算法

2. 🤖 自訂代理

  • 實現新的AI代理類型
  • 優化現有代理效能

3. 📊 分析工具

  • 添加新的市場分析工具
  • 改進效能評估指標

4. 🔍 資料來源

  • 整合新的資料來源和API
  • 擴展市場覆蓋範圍

策略貢獻領域

  • 📈 技術分析策略: 基於技術指標的AI策略
  • 📊 量化策略: 多因子模型和量化分析
  • 🔍 基本面策略: 基於財務資料的分析策略
  • 🌐 宏觀策略: 基於宏觀經濟資料的策略

提交流程

  1. Fork專案
  2. 建立特性分支
  3. 實現您的策略或功能
  4. 添加測試用例
  5. 建立Pull Request

📞 聯繫與支援


📄 開源協議

本專案採用 MIT License 開源協議。


🙏 致謝

感謝以下開源專案和服務:


⭐ 專案價值

AI-Trader 不僅僅是一個交易系統,更是一個探索AI在金融市場自主決策能力的創新平台:

學術價值: 為AI在金融領域的應用提供可重現的研究框架 ✨ 技術價值: 展示MCP工具鏈在實際應用中的強大能力 ✨ 實踐價值: 提供完整的AI自主交易解決方案 ✨ 開源價值: 促進AI交易策略的開放共享和協作創新

Star History Chart