# Polymarket Bot

> Polymarket 5-minute crypto UP/DOWN market automated trading bot. AI-powered prediction using Binance technical analysis (Position, Momentum, RSI, Volume), automated betting via Polymarket CLOB API with gnosis-safe wallet mode. Use when setting up automated crypto trading on Polymarket, monitoring 5-minute BTC/ETH markets, or managing prediction market positions.

- Skill: `dvcrn/polymarket-bot-3` (Agent Skill, multi-file: 69 files)
- Install (CLI): `npx skillmds@latest add dvcrn/polymarket-bot-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/polymarket-bot-3/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/dvcrn/polymarket-bot-3

---


# Polymarket 全自动交易机器人

基于AI技术分析的Polymarket 5分钟加密货币UP/DOWN市场自动交易系统。

## 核心功能

### 1. 全自动交易机器人 (auto_bot_v3.py) - v4.0

**策略：60秒分析 → Kelly动态仓位下注 → 智能平仓**

- 自动监控5分钟BTC/ETH UP/DOWN市场
- 市场开始60秒后进行AI分析
- **Kelly动态仓位**：根据置信度和EV自动调整下注份数（3-10份）
- 下注成功立即发送Telegram通知

**下注条件：**
- 置信度 ≥ 85%
- EV > 0.5
- 赔率 < 0.85

**Kelly仓位映射（1/4 Kelly保守策略）：**
- 置信度85%, EV=0.5 → 5份
- 置信度90%, EV=0.7 → 7份
- 置信度95%, EV=1.0 → 8份
- 置信度98%+, EV=1.2+ → 10份

### 2. 智能持仓监控 (position_monitor.py) - v4.0六层保护

**🔴 优先级0：贝叶斯实时止损（v4.0新增）**
- 入场30秒后持续监控
- 基于ATR偏离度动态更新置信度
- 置信度<60% → 立即止损
- 置信度60-70%且>30秒 → 止损

**🟡 优先级1：止盈**
- 窗口：入场后到结束前70秒（~170秒）
- 条件：利润≥15%
- 价格：best_bid或current_price×0.99

**🔵 优先级1.5：预挂卖单（v4.0新增）**
- 窗口：结束前60-90秒
- 条件：订单簿健康（best_bid>$0.10）
- 目的：提前抢占流动性，避免订单簿崩溃

**🟢 优先级2：智能平仓**
- 窗口：结束前35-60秒
- 判断必输+订单簿健康度
- 多价格梯度尝试（0.99x→0.98x→0.97x→0.95x→0.90x）

**⚪ 优先级3：市场关闭标记**
- 检测市场状态，标记已关闭持仓

### 3. AI分析引擎 - v4.0增强

**入场分析（ai_model_v2.py）：**
- 价格位置: 50-60分（核心信号，价格vs PTB偏离度）
- 短期动量: 25-30分（3分钟趋势+1分钟微观动量）
- RSI极端值: 5-10分（超买超卖）
- 成交量异常: 5-10分（放量确认）

**实时监控（v4.0贝叶斯更新）：**
- 获取14周期ATR（平均真实波幅）
- 计算价格偏离PTB的ATR倍数
- 动态更新置信度：
  - 方向正确：boost = min(diff_in_atr × 0.08, 0.15)
  - 方向错误：penalty = min(diff_in_atr × 0.12, 0.5)
- 用于智能止损判断

## 快速开始

### 1. 配置Polymarket钱包

```bash
# 配置私钥和Gnosis Safe地址
export POLYMARKET_PRIVATE_KEY="your_private_key"
export POLYMARKET_PROXY_ADDRESS="your_gnosis_safe_address"
```

### 2. 配置Telegram通知（可选）

编辑脚本中的Telegram配置：
```python
TELEGRAM_BOT_TOKEN = "your_bot_token"
TELEGRAM_CHAT_ID = "your_chat_id"
```

### 3. 启动机器人

```bash
# 启动主交易机器人
python3 auto_bot_v3.py > logs/bot_v3.log 2>&1 &

# 启动持仓止盈监控
python3 position_monitor.py > logs/position_monitor.log 2>&1 &
```

### 4. 启动看门狗（推荐）

```bash
# 每5分钟检查进程健康，自动重启崩溃进程
chmod +x watchdog_v3.sh
crontab -e
# 添加：*/5 * * * * /path/to/watchdog_v3.sh
```

## 文件说明

- `auto_bot_v3.py` - 主交易机器人
- `position_monitor.py` - 持仓止盈监控
- `ai_analyze_v2.py` - AI分析模块
- `ai_trader/` - AI交易引擎
- `watchdog_v3.sh` - 进程看门狗
- `trading_state.py` - 交易状态管理

## 系统要求

- Python 3.8+
- Node.js 16+ (Polymarket CLI)
- 2GB+ RAM（推荐4GB）
- 稳定网络连接

## 风险提示

⚠️ **重要警告**

- 加密货币交易存在风险，可能导致资金损失
- 本机器人仅供学习研究使用
- 使用前请充分测试并了解风险
- 建议从小额资金开始
- 不构成投资建议

## 监控与维护

### 查看日志

```bash
tail -f logs/bot_v3.log
tail -f logs/position_monitor.log
```

### 查看持仓

```bash
tail logs/positions.jsonl
```

### 健康检查

```bash
ps aux | grep -E "(auto_bot_v3|position_monitor)"
free -h
```

## 优化建议

### 内存优化（2GB服务器）

Playwright浏览器可能占用1GB内存，建议：
- 使用4GB+内存服务器
- 或优化Playwright使用（按需启动）

### 性能调优

- 调整下注条件（置信度、EV阈值）
- 修改止盈阈值（默认15%）
- 调整下注金额（默认5份）

## 故障排查

### 常见问题

1. **下注失败**
   - 检查钱包余额
   - 确认Gnosis Safe配置
   - 查看日志错误信息

2. **Playwright崩溃**
   - 内存不足，考虑升级服务器
   - 或使用HTML解析替代

3. **通知未收到**
   - 检查Telegram配置
   - 确认网络连接

## 更新日志

### v4.0.0 (2026-03-08)
- **Kelly动态仓位管理**：根据置信度和EV自动调整下注份数（3-10份）
- **贝叶斯实时置信度更新**：基于ATR偏离度动态调整置信度，智能止损
- **预挂卖单机制**：结束前60-90秒提前挂单，抢占流动性
- Kelly公式：1/4 Kelly保守策略，适合5分钟高噪音市场
- 实时置信度：价格领先PTB提升置信度，落后降低置信度
- 止损优化：置信度<60%立即止损，60-70%且>30秒止损
- 小余额优化：余额<20时取消余额约束，Kelly公式本身控制风险
- 档位细化：针对0.20-0.25的kelly_quarter范围优化分界点

### v3.5.0 (2026-03-08)
- 实现订单簿健康度检测（best_bid < $0.10 或 < current_price × 0.5）
- 优化平仓价格策略（订单簿崩溃时使用密集市场价梯度）
- 正常+健康：best_bid × 0.99/1.0 + current_price × 0.95
- 正常+崩溃：current_price × 0.99/0.98/0.97/0.95/0.90
- 解决订单簿崩溃时平仓失败问题（提高成功率）

### v3.4.0 (2026-03-08)
- 添加平仓失败推送通知（包含失败原因和市场详情）
- 实现提前止损逻辑（方向错误持续30秒+自动止损）
- 实现智能平仓逻辑（判断必输+多价格尝试）
- 获取PTB和实时价格进行方向判断
- 必输时使用多价格尝试（0.9x→0.8x→best_bid→0.05→0.01）
- 最小化亏损策略（任何价格平仓都比等待结算好）

### v3.3.0 (2026-03-08)
- 优化止盈窗口时间（从入场后80-100秒改为入场后到结束前70秒）
- 大幅扩大止盈窗口（20秒→约170秒，提高触发率）
- 解决止盈窗口过短导致错过止盈机会的问题

### v3.2.0 (2026-03-08)
- 修复时间戳解析错误（市场结束时间 = 开始时间 + 300秒）
- 修复平仓逻辑未触发问题（调整代码逻辑顺序，平仓窗口优先）
- 优化止盈/平仓优先级（止盈优先于平仓，最大化收益）
- 修复止盈价格验证（使用订单簿API获取best bid）
- 解决窗口重叠冲突（入场180秒时止盈和平仓窗口重叠）

### v3.1.0 (2026-03-08)
- Playwright进程隔离优化（每次调用独立启动/关闭浏览器）
- 增强异常处理（错误计数机制，EPIPE特殊处理）
- 平仓Telegram通知（平仓成功后立即推送）
- 内存优化效果（内存占用从74%降至45%，Playwright从1GB降至0MB）
- 平仓策略优化（使用best bid价格，35-60秒窗口）

### v3.0.0 (2026-03-08)
- 实现全自动交易方案（60s分析→下注→270s平仓）
- 添加Telegram即时通知
- 优化AI分析权重
- 降低EV门槛至0.5
- 添加看门狗自动重启

## 许可证

MIT License

## 作者

hanguang254

## 支持

如有问题，请在GitHub Issues中反馈。

