Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

lc2panda/AITradingSimulator

Repository files navigation

AI交易模拟器

Python 3.9+ Flask License

🚀 专业级AI驱动的加密货币交易模拟平台

基于大语言模型模拟的智能交易决策系统,支持自定义交易策略、实时市场数据、专业级绩效分析和实时交易大屏。

🌐 在线体验:https://trade.easy2ai.com

本项目基于 chadyi/AITradeGame 开发,增加了用户系统、Linux DO OAuth登录、智能AI响应解析器等功能。


✨ 核心特性

🎯 用户系统

  • 🔐 完整的用户认证 - 注册/登录,Session管理,密码加密
  • 🌐 Linux DO OAuth - 支持使用Linux DO账号一键登录
  • 👤 数据隔离 - 每个用户的模型和交易数据完全独立
  • 🔒 权限控制 - 基于装饰器的路由保护,确保数据安全
  • 🏠 公开主页 - 未登录用户可查看实时行情和排行榜

🤖 AI交易系统

  • 🧠 自定义交易策略 - 每个模型支持独立的Prompt,定义个性化交易风格
  • 🎯 智能决策 - 基于15+技术指标的AI分析和决策
  • 🔍 智能响应解析 - 5层解析策略,支持JSON、Markdown、思维链、纯文本等多种AI响应格式
  • 📊 决策透明化 - 详细的reasoning字段,展示AI的思考过程
  • 🔄 自动交易 - 每3分钟自动执行交易循环
  • 💰 杠杆交易 - 支持1-20x杠杆,做多/做空双向交易
  • 🔁 自动重试 - AI调用失败自动重试(最多3次)

📊 实时交易大屏

  • 📈 顶部价格栏 - 实时显示BTC、ETH、SOL、BNB、DOGE、XRP价格和涨跌幅
  • 📉 收益曲线图 - ECharts绘制前6名模型+BTC基准的实时收益曲线
  • 🔄 交易动态 - 右侧滚动显示最新100条交易记录
  • 🏆 模型卡片 - 底部展示排行榜前6名的详细指标
  • 自动刷新 - 每5秒自动更新所有数据

📈 技术分析

  • 📊 15+技术指标 - SMA、EMA、MACD、RSI、布林带、ATR、ADX、CCI、威廉指标等
  • 🎯 止盈止损 - 自动风险控制,保护收益,限制损失
  • 📉 风险管理 - 实时风险评分、仓位管理、最大回撤监控
  • 💹 K线图 - 支持6种币种的历史K线图和成交量

🏆 绩效分析

  • 📊 专业指标 - 夏普比率、Sortino比率、Calmar比率
  • 📈 多维度排行榜 - 按收益率、夏普比率、胜率、回撤排序
  • 🔍 回测系统 - 用历史数据测试策略表现
  • 📉 月度分析 - 每月收益统计和币种贡献度

🎨 用户体验

  • 🌙 暗黑模式 - 一键切换主题,自动保存偏好
  • 📱 响应式设计 - 完美适配手机、平板、桌面设备
  • 🎯 专业UI - Bloomberg/TradingView级别的视觉效果
  • 高性能 - ECharts高性能渲染,流畅无卡顿

🛠️ 技术栈

  • 后端:Python 3.9+ / Flask 3.0
  • 前端:原生 JavaScript / ECharts 5.4.3
  • 数据库:SQLite
  • AI 接口:OpenAI 兼容格式(支持 OpenAI、DeepSeek、Claude、Kimi 等)
  • OAuth:Linux DO Connect OAuth 2.0
  • 实时通信:WebSocket (Flask-SocketIO)
  • API 限流:Flask-Limiter
  • 部署:Docker / Docker Compose / Gunicorn

🚀 快速开始

方式一:本地运行

1. 克隆项目

git clone https://github.com/yourusername/AITradeGame.git
cd AITradeGame

2. 安装依赖

pip install -r requirements.txt

3. 配置环境变量(可选)

cp .env.example .env
# 编辑 .env 文件,设置 SECRET_KEY 等配置

4. 启动服务器

python app.py

5. 访问平台

打开浏览器访问:http://localhost:35008


方式二:Docker部署(推荐)

1. 克隆项目

git clone https://github.com/yourusername/AITradeGame.git
cd AITradeGame

2. 配置环境变量

cp .env.example .env
# 编辑 .env 文件,设置 SECRET_KEY、LINUX_DO_CLIENT_ID 等配置

3. 启动容器

docker-compose up -d

4. 查看日志

docker-compose logs -f

5. 访问平台

打开浏览器访问:http://localhost:35008

6. 停止服务

docker-compose down

页面说明

  • 公开主页 (/) - 实时交易大屏

    • 顶部币种价格栏
    • 收益曲线图(前6名模型 + BTC基准)
    • 实时交易动态
    • 排行榜前6名模型卡片
  • 登录页面 (/login) - 注册/登录

    • Tab切换注册和登录表单
    • 支持Linux DO OAuth一键登录
    • 密码加密存储
  • 交易仪表板 (/dashboard) - 登录后的主界面

    • 创建和管理交易模型
    • 查看投资组合和交易历史
    • 查看AI对话和决策过程
    • 查看风险指标和K线图

注册账号

方式一:普通注册

  1. 点击右下角"Login / Register"按钮
  2. 切换到"注册"标签
  3. 填写信息:
    • 用户名(至少3位)
    • 密码(至少6位)
    • 邮箱(可选)
  4. 点击"注册"按钮
  5. 自动跳转到交易仪表板

方式二:Linux DO OAuth登录(推荐)

  1. 点击"使用 Linux DO 登录"按钮
  2. 跳转到Linux DO授权页面
  3. 授权后自动返回并登录
  4. 首次登录自动创建账号

创建交易模型

登录后,点击"添加模型"按钮,填写:

基本信息

  • 模型名称 - 例如:GPT-4保守型
  • API密钥 - 你的AI模型API密钥
  • API地址 - 例如:https://api.openai.com
  • 模型标识 - 例如:gpt-4
  • 初始资金 - 默认10000美元

交易策略(可选)

自定义AI的交易策略Prompt,例如:

你是一个保守型交易员,专注于长期稳定收益。
交易规则:
1. 只在RSI<30时买入,RSI>70时卖出
2. 每笔交易风险不超过1%
3. 使用1-3x杠杆
4. 严格执行止损,保护本金
5. 不追涨杀跌,耐心等待机会
请根据市场数据做出理性决策。

提示:如果不填写,系统会使用默认的专业交易策略。

⚙️ 配置

环境变量

复制 .env.example.env 并根据实际情况修改:

# 安全配置(生产环境必须修改)
SECRET_KEY=change-this-to-a-random-secret-key-in-production
# 服务器配置
HOST=0.0.0.0
PORT=35008
DEBUG=False
# 数据库配置
DATABASE_PATH=trading_bot.db
# Linux DO OAuth配置(可选)
LINUX_DO_CLIENT_ID=你的Client ID
LINUX_DO_CLIENT_SECRET=你的Client Secret
LINUX_DO_REDIRECT_URI=https://trade.easy2ai.com/api/auth/callback
# 交易配置
AUTO_TRADING=True
TRADING_INTERVAL=180

生成安全的SECRET_KEY:

python -c "import secrets; print(secrets.token_hex(32))"

📁 项目结构

AI交易模拟器/
├── app.py # Flask应用主程序(900+行)
├── config.py # 统一配置管理
├── trading_engine.py # 交易逻辑引擎
├── ai_trader.py # AI集成模块(智能响应解析器)
├── database.py # 数据持久化层(用户、模型、交易、账户)
├── market_data.py # 市场数据接口(Binance + CoinGecko + CoinCap)
├── services/ # 业务服务层
│ ├── risk_manager.py # 风险管理器(风险评分、仓位控制)
│ ├── backtester.py # 回测系统(历史数据测试)
│ └── performance_analyzer.py # 绩效分析(夏普、Sortino、Calmar)
├── utils/ # 工具模块
│ ├── auth.py # 用户认证(登录验证、权限控制、OAuth)
│ ├── timezone.py # 时区处理(UTC ↔ 东八区)
│ ├── logger.py # 日志系统
│ └── exceptions.py # 自定义异常
├── static/ # 前端资源
│ ├── app.js # 仪表板逻辑(1000+行)
│ ├── home.js # 主页逻辑(实时交易大屏)
│ ├── auth.js # 登录/注册逻辑
│ └── style.css # 全局样式(1500+行)
├── templates/ # HTML模板
│ ├── home.html # 公开主页(实时交易大屏)
│ ├── login.html # 登录/注册页面
│ └── dashboard.html # 交易仪表板
├── Dockerfile # Docker镜像构建文件
├── docker-compose.yml # Docker编排配置
├── .env.example # 环境变量示例
├── requirements.txt # Python依赖
├── CHANGELOG.md # 版本更新日志
└── README.md # 项目文档

🤖 支持的 AI 模型

兼容 OpenAI 格式的 API:

  • OpenAI - gpt-4, gpt-4-turbo, gpt-3.5-turbo
  • DeepSeek - deepseek-chat, deepseek-coder
  • Claude - claude-3-opus, claude-3-sonnet(通过 OpenRouter)
  • Kimi - moonshot-v1-8k, moonshot-v1-32k
  • Qwen - qwen-turbo, qwen-plus, qwen-max
  • 其他 - 任何兼容OpenAI API格式的模型

AI响应解析

本项目实现了5层智能解析策略,能够处理各种AI响应格式:

  1. 思维链标签提取 - 支持 <think>...</think> 格式
  2. Markdown代码块 - 支持 ```json ... ``` 格式
  3. 直接JSON解析 - 标准JSON格式
  4. 正则表达式提取 - 从复杂文本中提取JSON
  5. 智能文本分析 - 从纯文本中提取交易决策

即使AI返回格式不标准,系统也能智能提取有用信息,大大提高了兼容性和成功率。

🚀 使用方法

  1. 启动服务器

    python app.py
  2. 添加 AI 模型

    • 访问 http://localhost:35008
    • 点击"添加模型"
    • 填写模型配置(名称、API Key、API URL、模型名称、初始资金)
  3. 自动交易

    • 系统每 3 分钟自动执行一次交易循环
    • AI 分析市场数据并做出决策
    • 自动检查止盈止损条件
  4. 监控与分析

    • 实时查看投资组合
    • 查看交易历史和 AI 对话
    • 查看风险评分和警告
    • 多维度排行榜对比

⚙️ 配置说明

所有配置在 config.py 中统一管理:

# 服务器配置
PORT = 35008
HOST = '0.0.0.0'
# 支持的币种
SUPPORTED_COINS = ['BTC', 'ETH', 'SOL', 'BNB', 'XRP', 'DOGE']
# 风险管理
MAX_RISK_PER_TRADE = 0.05 # 单笔交易最大风险 5%
MAX_POSITION_RATIO = 0.30 # 单币种最大持仓 30%
MAX_LEVERAGE = 20 # 最大杠杆倍数
MAX_DRAWDOWN_WARNING = 0.15 # 回撤警告阈值 15%

📊 API 接口

用户认证(需要登录)

  • POST /api/auth/register - 用户注册
  • POST /api/auth/login - 用户登录
  • POST /api/auth/logout - 用户登出
  • GET /api/auth/me - 获取当前用户信息

模型管理(需要登录)

  • GET /api/models - 获取当前用户的所有模型
  • POST /api/models - 创建新模型(支持自定义Prompt)
  • DELETE /api/models/<id> - 删除模型(仅限所有者)

交易与数据(需要登录)

  • GET /api/models/<id>/portfolio - 获取投资组合
  • GET /api/models/<id>/trades - 获取交易历史
  • GET /api/models/<id>/conversations - 获取AI对话记录
  • GET /api/models/<id>/risk - 获取风险指标
  • GET /api/models/<id>/performance - 获取绩效分析
  • POST /api/models/<id>/execute - 手动执行交易
  • POST /api/backtest - 回测交易策略

市场数据(公开API)

  • GET /api/market/prices - 获取实时市场价格
  • GET /api/market/historical/<coin> - 获取历史K线数据
  • GET /api/leaderboard?sort_by=returns - 排行榜(支持returns/sharpe/win_rate/drawdown)

实时交易大屏(公开API)

  • GET /api/dashboard/top-coins - 获取顶部币种价格栏数据
  • GET /api/dashboard/performance-chart - 获取收益曲线图数据(前6名+BTC基准)
  • GET /api/dashboard/recent-trades - 获取最近交易动态(最新100条)

🎯 使用场景

1. AI交易策略测试

  • 测试不同的AI模型(GPT-4、Claude、DeepSeek等)的交易能力
  • 对比不同Prompt策略的表现
  • 验证技术指标的有效性

2. 量化交易学习

  • 学习技术指标的使用
  • 理解风险管理的重要性
  • 掌握回测和绩效分析方法

3. 多模型对比

  • 创建多个模型,使用不同的策略
  • 通过排行榜对比表现
  • 找到最优的交易策略

4. 教育演示

  • 展示AI在金融领域的应用
  • 演示量化交易的基本流程
  • 可视化交易数据和绩效指标

🔧 高级功能

自定义交易策略

每个模型支持独立的Prompt,可以定义:

  • 交易风格:保守型、激进型、平衡型
  • 风险偏好:低风险、中风险、高风险
  • 技术指标偏好:RSI、MACD、布林带等
  • 仓位管理:固定仓位、动态仓位
  • 止盈止损规则:百分比、ATR倍数

回测系统

使用历史数据测试策略:

POST /api/backtest
{
 "model_id": 1,
 "start_date": "2024年01月01日",
 "end_date": "2024年12月31日",
 "initial_capital": 10000
}

返回:

  • 总收益率
  • 胜率
  • 最大回撤
  • 夏普比率
  • 交易次数

绩效分析

专业级指标:

  • 夏普比率 - 风险调整后收益
  • Sortino比率 - 只考虑下行风险
  • Calmar比率 - 收益/最大回撤
  • 月度绩效 - 每月收益统计
  • 币种贡献 - 各币种对总收益的贡献

⚠️ 注意事项

重要提示

  • ✅ 这是一个模拟交易平台(仅限纸面交易,不涉及真实资金)
  • ✅ 需要有效的AI模型API密钥(OpenAI、DeepSeek等)
  • ✅ 需要互联网连接以获取实时市场数据
  • ⚠️ AI决策仅供参考,不构成投资建议
  • ⚠️ 请勿用于实盘交易,风险自负

生产环境部署

Docker部署(推荐)

  1. 克隆项目

    git clone https://github.com/yourusername/AITradeGame.git
    cd AITradeGame
  2. 配置环境变量

    cp .env.example .env
    # 编辑 .env 文件,设置以下关键配置:
    # - SECRET_KEY(必须修改为随机字符串)
    # - LINUX_DO_CLIENT_ID(如果使用OAuth)
    # - LINUX_DO_CLIENT_SECRET(如果使用OAuth)
    # - LINUX_DO_REDIRECT_URI(生产环境回调地址)
  3. 启动服务

    docker-compose up -d
  4. 配置反向代理(Nginx示例)

    server {
     listen 80;
     server_name trade.easy2ai.com;
     # 重定向到HTTPS
     return 301 https://$server_name$request_uri;
    }
    server {
     listen 443 ssl http2;
     server_name trade.easy2ai.com;
     ssl_certificate /path/to/cert.pem;
     ssl_certificate_key /path/to/key.pem;
     location / {
     proxy_pass http://localhost:35008;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto $scheme;
     }
    }
  5. 定期备份数据库

    # 备份脚本
    docker exec ai-trade-simulator sqlite3 /app/data/trading_bot.db ".backup '/app/data/backup_$(date +%Y%m%d).db'"

安全检查清单

  • ✅ 设置强随机的 SECRET_KEY
  • ✅ 使用 HTTPS(SSL/TLS证书)
  • ✅ 配置防火墙(限制访问来源)
  • ✅ 定期备份数据库
  • ✅ 使用生产级WSGI服务器(Gunicorn)
  • ✅ 设置合理的资源限制(CPU、内存)
  • ✅ 配置日志轮转
  • ✅ 监控系统资源和错误日志

📝 更新日志

  • 完整的用户认证系统 - 注册/登录/权限控制
  • Linux DO OAuth集成 - 一键登录
  • 智能AI响应解析器 - 5层解析策略,支持多种格式
  • 自定义交易策略Prompt - 个性化AI交易风格
  • 实时交易大屏 - Bloomberg级别的视觉效果
  • 专业级绩效分析 - 夏普/Sortino/Calmar比率
  • 回测系统 - 历史数据验证策略
  • 暗黑模式 - 护眼舒适
  • Docker部署 - 一键启动
  • 时区处理 - 精确的UTC ↔ 东八区转换

🤝 贡献

欢迎贡献代码、报告Bug或提出新功能建议!

贡献方式

  1. Fork本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启Pull Request

📄 许可证

本项目采用MIT许可证 - 查看 LICENSE 文件了解详情。


⚖️ 免责声明

本平台仅用于教育和模拟目的,不构成任何投资建议。

  • 本平台不涉及真实资金交易
  • AI决策仅供学习和研究
  • 加密货币投资存在高风险
  • 请勿将本平台用于实盘交易
  • 使用本平台造成的任何损失,开发者不承担责任

📧 联系方式

如有问题或建议,欢迎通过以下方式联系:


🙏 致谢

本项目基于 chadyi/AITradeGame 开发,感谢原作者的开源贡献!

在原项目基础上,我们增加了:

  • 完整的用户认证系统
  • Linux DO OAuth集成
  • 智能AI响应解析器(5层解析策略)
  • 更完善的Docker部署方案
  • 时区处理优化
  • 更多的技术文档

⭐ 如果这个项目对你有帮助,请给个Star支持一下!

About

基于大语言模型模拟的智能交易决策系统,支持自定义交易策略、实时市场数据、专业级绩效分析和实时交易大屏。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /