多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