Polymarket Arbitrage
Polymarket 套利
发现并执行 Polymarket 预测市场的套利机会。
快速开始
1. 模拟交易(推荐第一步)
运行单次扫描以查看当前机会:
cd skills/polymarket-arbitrage
pip install requests beautifulsoup4
python scripts/monitor.py --once --min-edge 3.0
在以下位置查看结果polymarket_data/arbs.json
2. 持续监控
每 5 分钟监控一次,并在出现新机会时发出警报:
python scripts/monitor.py --interval 300 --min-edge 3.0
使用以下命令停止Ctrl+C
3. 理解结果
每个检测到的套利机会包括:
- 净收益率百分比:扣除 2% 手续费后的利润空间
- 风险评分:0-100,数值越低越好
- 交易量:市场流动性
- 操作:要做什么(买入/卖出所有可能结果)
好的机会:
- 净利润:3-5%+
- 风险评分:<50
- 交易量:100万美元以上
- 类型:
数学套利_买入(更安全)
检测到的套利类型
数学套利(主要关注)
A类:买入所有结果(概率总和 < 100%)
- 最安全的类型
- 若可执行,则保证盈利
- 示例:48% + 45% = 93% → 7% 优势,扣除费用后净利约5%
B类:卖出所有结果(概率总和 > 100%)
- 风险更高(需要流动性)
- 需要资金作为抵押
- 经验不足者请避免
详见参考资料/套利类型.md以获取详细示例和策略。
跨市场套利
同一事件在不同市场定价不同(尚未实现 - 需要语义匹配)。
订单簿套利
需要实时订单簿数据(首页显示的是中间价,而非可执行价格)。
脚本
fetch_markets.py
抓取Polymarket首页,获取活跃市场信息。
python scripts/fetch_markets.py --output markets.json --min-volume 50000
返回包含市场概率、交易量和元数据的JSON。
detect_arbitrage.py
分析市场,寻找套利机会。
python scripts/detect_arbitrage.py markets.json --min-edge 3.0 --output arbs.json
考虑因素包括:
- 2%的吃单费用(每笔交易)
- 多结果费用倍增
- 风险评分
monitor.py
持续监控并发送警报。
python scripts/monitor.py --interval 300 --min-edge 3.0 [--alert-webhook URL]
功能:
- 按时间间隔获取市场数据
- 检测套利机会
- 仅对新机会发出警报(去重处理)
- 将状态保存至
polymarket_data/
工作流程阶段
阶段一:模拟交易(1-2周)
目标:理解机会出现的频率与质量
- 每日运行监控器2-3次
- 在电子表格中记录机会
- 查看时检查机会是否仍然存在
- 计算可能获得的利润
决策点:若每周发现3-5个优质机会,则进入阶段二。
阶段二:小额测试(50-100加元)
目标:学习平台操作机制
- 创建Polymarket账户
- 存入50-100 USDC
- 仅进行手动交易(无自动化)
- 每笔机会最多投入5-10美元
- 在电子表格中追踪每笔交易
决策点:若完成20笔以上交易后仍保持盈利,则进入阶段三。
阶段三:扩大规模(500加元)
目标:增加持仓规模
- 将本金增至500美元
- 每笔交易最高5%(25美元)
- 仍为手动执行
- 实施严格的风险管理
第四阶段:自动化(未来)
需要:
- 钱包集成(私钥管理)
- Polymarket API 或浏览器自动化
- 执行逻辑
- 监控基础设施
仅在手动交易持续盈利后才考虑。
参见references/getting_started.md获取详细设置说明。
风险管理
关键规则
- 最大持仓规模:每笔机会为本金的5%
- 最小优势:净优势3%(扣除费用后)
- 每日亏损限额:本金的10%
- 专注于买入套利:在经验丰富前避免卖出端套利
警示信号
- 优势 > 10%(可能是过时数据)
- 交易量 < 10万美元(流动性风险)
- 概率近期更新(套利可能关闭)
- 卖出端套利(资金 + 流动性要求)
费用结构
Polymarket 收费:
- 挂单费:0%
- 吃单费:2%
保守假设:每边 2%(假设为吃单)
盈亏平衡计算:
- 双结果市场:2% × 2 = 需要 4% 的总优势
- 三结果市场:2% × 3 = 需要 6% 的总优势
- N结果市场:2% × N 所需的总优势
目标:3-5% 的净收益(扣除费用后)
常见问题
"显示高套利空间但实际已消失"
主页显示的概率数据已过时或仅为中间值,并非实际可执行价格。这属于正常现象。真正的套利机会往往在数秒内就会消失。
"无法按显示价格执行"
流动性问题。低交易量市场显示的概率具有误导性。建议专注交易量超过100万美元的市场。
"扣除手续费后套利空间过小"
提高--min-edge阈值。尝试设置为4-5%可实现更保守的筛选。
文件与数据
所有监控数据均存储于./polymarket_data/目录:
markets.json- 最新市场扫描数据arbs.json- 已识别的套利机会alert_state.json- 去重状态记录(已预警的套利机会)
进阶主题
电报集成(未来计划)
向监控脚本传递网络钩子URL以接收预警:
python scripts/monitor.py --alert-webhook "https://api.telegram.org/bot<token>/sendMessage?chat_id=<id>"
仓位规模
对于一个具有概率 p₁ 和 p₂,且 p₁ + p₂ < 100% 的二元数学套利机会:
最优资金分配:
- 押注结果1:投入资金的 (100% / p₁) / [(100%/p₁) + (100%/p₂)]
- 押注结果2:投入资金的 (100% / p₂) / [(100%/p₁) + (100%/p₂)]
这确保了无论哪个结果获胜,利润都相等。
简化规则:对于微小的优势,将资金平均分配到各个结果上。
执行速度
套利机会消失得很快。如果计划自动化操作:
- 使用 WebSocket 连接(而非轮询)
- 同时下达限价订单
- 预先存入资金
- 监控 Polygon 网络上的 Gas 费用
资源
- Polymarket: https://polymarket.com
- 文档: https://docs.polymarket.com
- API(如果可用):请查阅 Polymarket 文档
- 社区:Polymarket Discord
支持
关于技能问题:
- 查看
references/arbitrage_types.md以获取策略详情 - 查看
references/getting_started.md以获取设置帮助 - 检查
polymarket_data/ - 中的输出文件
确保已安装依赖项:


微信扫一扫,打赏作者吧~