HKUDS/AI-Trader View GitHub Homepage for Latest Official Releases
多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 | 財務計算和分析 | 基礎數學運算 |
核心功能模組
- 多模型併發: 同時執行多個AI模型進行交易
- 配置管理: 支援JSON配置檔案和環境變數
- 日期管理: 靈活的交易日曆和日期範圍設置
- 錯誤處理: 全面的異常處理和重試機制
🚀 快速開始
系統要求
- 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策略
- 📊 量化策略: 多因子模型和量化分析
- 🔍 基本面策略: 基於財務資料的分析策略
- 🌐 宏觀策略: 基於宏觀經濟資料的策略
提交流程
- Fork專案
- 建立特性分支
- 實現您的策略或功能
- 添加測試用例
- 建立Pull Request
📞 聯繫與支援
- 💬 討論區: GitHub Discussions
- 🐛 問題回饋: GitHub Issues
- 📧 電子郵件聯繫: your-email@example.com
📄 開源協議
本專案採用 MIT License 開源協議。
🙏 致謝
感謝以下開源專案和服務:
- LangChain - AI應用開發框架
- MCP - 模型上下文協議
- Alpha Vantage - 金融資料API
- Jina AI - 資訊搜尋服務
⭐ 專案價值
AI-Trader 不僅僅是一個交易系統,更是一個探索AI在金融市場自主決策能力的創新平台:
✨ 學術價值: 為AI在金融領域的應用提供可重現的研究框架 ✨ 技術價值: 展示MCP工具鏈在實際應用中的強大能力 ✨ 實踐價值: 提供完整的AI自主交易解決方案 ✨ 開源價值: 促進AI交易策略的開放共享和協作創新