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钱包
# 配置私钥和Gnosis Safe地址
export POLYMARKET_PRIVATE_KEY="your_private_key"
export POLYMARKET_PROXY_ADDRESS="your_gnosis_safe_address"
2. 配置Telegram通知(可选)
编辑脚本中的Telegram配置:
TELEGRAM_BOT_TOKEN = "your_bot_token"
TELEGRAM_CHAT_ID = "your_chat_id"
3. 启动机器人
# 启动主交易机器人
python3 auto_bot_v3.py > logs/bot_v3.log 2>&1 &
# 启动持仓止盈监控
python3 position_monitor.py > logs/position_monitor.log 2>&1 &
4. 启动看门狗(推荐)
# 每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)
- 稳定网络连接
风险提示
⚠️ 重要警告
- 加密货币交易存在风险,可能导致资金损失
- 本机器人仅供学习研究使用
- 使用前请充分测试并了解风险
- 建议从小额资金开始
- 不构成投资建议
监控与维护
查看日志
tail -f logs/bot_v3.log
tail -f logs/position_monitor.log
查看持仓
tail logs/positions.jsonl
健康检查
ps aux | grep -E "(auto_bot_v3|position_monitor)"
free -h
优化建议
内存优化(2GB服务器)
Playwright浏览器可能占用1GB内存,建议:
- 使用4GB+内存服务器
- 或优化Playwright使用(按需启动)
性能调优
- 调整下注条件(置信度、EV阈值)
- 修改止盈阈值(默认15%)
- 调整下注金额(默认5份)
故障排查
常见问题
-
下注失败
- 检查钱包余额
- 确认Gnosis Safe配置
- 查看日志错误信息
-
Playwright崩溃
- 内存不足,考虑升级服务器
- 或使用HTML解析替代
-
通知未收到
- 检查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中反馈。