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交易策略的开放共享和协作创新