# autocad-ai **Repository Path**: Laurel-rao/autocad-ai ## Basic Information - **Project Name**: autocad-ai - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-27 - **Last Updated**: 2025-12-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Trader - 智能交易系统 一个完整的AI交易系统,用于Polymarket预测市场,包含市场信息、策略制定、交易执行、风险控制和模拟交易等功能。 ## 系统架构 ### 后端 (Python + FastAPI) - **市场数据模块**: 获取和存储市场信息 - **策略引擎**: 执行交易策略(动量、均值回归、套利等) - **交易执行**: 通过ClobClient执行实际交易 - **风险管理**: 实时监控和控制交易风险 - **数据记录**: 记录所有交易和性能数据 - **模拟交易**: 在模拟环境中测试策略 ### 前端 (Vue3 + Element Plus) - **仪表盘**: 显示关键指标和统计数据 - **市场信息**: 浏览和查看市场数据 - **策略管理**: 创建、编辑和管理交易策略 - **交易记录**: 查看和管理交易历史 - **风险控制**: 监控和配置风险参数 - **模拟交易**: 创建和运行模拟交易 - **历史记录**: 查看性能统计和风险历史 ## 项目结构 ``` AI-Trader/ ├── backend/ # Python后端 │ ├── app/ │ │ ├── api/ # API路由 │ │ ├── core/ # 核心配置 │ │ ├── models/ # 数据库模型 │ │ └── services/ # 业务逻辑服务 │ ├── requirements.txt # Python依赖 │ ├── run.py # 启动脚本 │ └── init_db.py # 数据库初始化 ├── frontend/ # Vue3前端 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ ├── stores/ # Pinia状态管理 │ │ ├── router/ # 路由配置 │ │ └── App.vue # 主应用组件 │ ├── package.json # Node依赖 │ └── vite.config.js # Vite配置 └── README.md # 项目说明 ``` ## 安装和运行 ### 后端设置 1. 进入后端目录: ```bash cd backend ``` 2. 创建虚拟环境(推荐): ```bash python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate ``` 3. 安装依赖: ```bash pip install -r requirements.txt ``` 4. 配置环境变量: ```bash cp .env.example .env # 编辑 .env 文件,填入你的 PRIVATE_KEY 和其他配置 ``` 5. 初始化数据库: ```bash python init_db.py ``` 6. 启动后端服务: ```bash python run.py ``` 后端服务将在 `http://localhost:8000` 运行。 ### 前端设置 1. 进入前端目录: ```bash cd frontend ``` 2. 安装依赖: ```bash npm install ``` 3. 启动开发服务器: ```bash npm run dev ``` 前端应用将在 `http://localhost:5173` 运行。 ## 环境变量配置 在 `backend/.env` 文件中配置以下变量: ```env PRIVATE_KEY=your_private_key_here CLOB_HOST=https://clob.polymarket.com CHAIN_ID=137 DATABASE_URL=sqlite:///./ai_trader.db SECRET_KEY=your_secret_key_here ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=30 ``` ## API 端点 ### 市场 (Markets) - `GET /api/v1/markets/` - 获取市场列表 - `GET /api/v1/markets/{market_id}` - 获取市场详情 - `GET /api/v1/markets/{market_id}/orderbook` - 获取订单簿 - `GET /api/v1/markets/{market_id}/history` - 获取历史数据 ### 策略 (Strategies) - `GET /api/v1/strategies/` - 获取所有策略 - `POST /api/v1/strategies/` - 创建策略 - `GET /api/v1/strategies/{strategy_id}` - 获取策略详情 - `PUT /api/v1/strategies/{strategy_id}` - 更新策略 - `DELETE /api/v1/strategies/{strategy_id}` - 删除策略 - `POST /api/v1/strategies/{strategy_id}/evaluate` - 评估策略 ### 交易 (Trades) - `POST /api/v1/trades/` - 执行交易 - `GET /api/v1/trades/` - 获取交易历史 - `GET /api/v1/trades/{trade_id}` - 获取交易详情 - `POST /api/v1/trades/{order_id}/cancel` - 取消订单 ### 风险控制 (Risk) - `GET /api/v1/risk/metrics` - 获取风险指标 - `GET /api/v1/risk/parameters` - 获取风险参数 - `PUT /api/v1/risk/parameters` - 更新风险参数 ### 模拟交易 (Simulation) - `POST /api/v1/simulation/` - 创建模拟 - `GET /api/v1/simulation/` - 获取所有模拟 - `GET /api/v1/simulation/{simulation_id}` - 获取模拟详情 - `GET /api/v1/simulation/{simulation_id}/results` - 获取模拟结果 - `POST /api/v1/simulation/{simulation_id}/run` - 运行模拟 - `POST /api/v1/simulation/{simulation_id}/stop` - 停止模拟 ### 记录 (Records) - `GET /api/v1/records/trades` - 获取交易记录 - `GET /api/v1/records/performance` - 获取性能统计 - `GET /api/v1/records/risk-history` - 获取风险历史 ## 策略类型 系统支持以下策略类型: 1. **简单动量策略 (simple_momentum)** - 基于价格动量进行交易 - 当价格偏离均值超过阈值时触发 2. **均值回归策略 (mean_reversion)** - 当价格偏离均值时,预期价格回归 - 适合波动性较大的市场 3. **套利策略 (arbitrage)** - 寻找价格差异机会 - 当Yes和No价格总和小于1时存在套利机会 ## 风险控制参数 - **最大仓位大小**: 单笔交易的最大金额 - **最大每日亏损**: 每日允许的最大亏损 - **最大风险敞口**: 总持仓的最大金额 - **最大持仓数**: 同时持有的最大仓位数量 - **最小置信度**: 执行交易所需的最小策略置信度 ## 开发说明 ### 数据库迁移 使用 Alembic 进行数据库迁移(可选): ```bash alembic init alembic alembic revision --autogenerate -m "Initial migration" alembic upgrade head ``` ### 添加新策略 1. 在 `backend/app/services/strategy_engine.py` 中添加策略逻辑 2. 在 `_execute_strategy_logic` 方法中注册新策略 3. 在前端策略创建界面添加新策略选项 ## 注意事项 1. **私钥安全**: 永远不要将私钥提交到版本控制系统 2. **测试环境**: 建议先在模拟环境中测试策略 3. **风险控制**: 合理设置风险参数,避免过度交易 4. **API限制**: 注意Polymarket API的速率限制 ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request!