Polymarket BTC 15分钟 两腿对冲套利机器人 (双向对冲版)
2
Follow
472
Followers
策略简介
本策略专为 Polymarket 预测市场设计,针对 BTC 15分钟涨跌方向合约(Up/Down)进行双腿对冲套利。核心逻辑:在单边合约价格出现短期急跌时,同步买入暴跌方向与对立方向,以两腿合计成本低于 1 USDC 的方式锁定无风险利润区间,待合约到期 Redeem 兑付,赚取价差收益。
策略原理
Polymarket 涨跌合约具备"Up + Down = 1 USDC"的内在等式。当某一方向因市场情绪超卖而短暂大跌时,两腿合计买入成本可低于 1 USDC,从而形成套利空间:
套利利润 = 1 - leg1成交价 - leg2成交价
策略持续监测两个方向的 Ask 价格,一旦在指定时间窗口内检测到单边暴跌幅度超过阈值,立即并发提交两腿限价单,锁定利润。
运行流程
监控价格 → 检测暴跌 → 并发下两腿限价单
→ 两腿均成交:套利锁定,等待 Redeem
→ 单腿成交:进入风控(止盈 / 止损 / 保底)
→ 临近到期:强制撤销未成交挂单
→ 到期后(840s):自动执行 Redeem 兑付
核心参数说明
| 参数 | 说明 |
|---|---|
SHARES | 每次套利买入份额(最小 5 份) |
SUM_TARGET | 两腿合计目标价格上限(需 < 1),决定利润空间 |
MOVE_PCT | 触发套利的单边暴跌幅度阈值,如 0.15 = 15% |
WINDOW_MIN | 每轮开始后的监控窗口时长(分钟) |
DUMP_WINDOW_S | 暴跌检测的滑动时间窗口(秒) |
SLIPPAGE | 第一腿下单时的滑价容忍度(如 0.01) |
FLOOR_PRICE | 单腿持仓绝对止损价,低于此价立即平仓 |
EARLY_TAKE_PROFIT | 非末段止盈比例(相对入场价涨幅) |
LAST_MIN_STOP_LOSS | 最后1分钟止损比例(相对入场价跌幅) |
LAST_MIN_S | 定义"最后N秒"的时长(建议 60) |
ORDER_TIMEOUT_S | 订单成交等待超时秒数 |
SLEEP_MS | 主循环休眠时长(毫秒) |
INTERVAL | 合约周期(秒,15分钟合约填 900) |
风险控制机制
三重止损保护:
- 绝对保底价(Floor Price):任何时段,持仓 Bid ≤ FLOOR_PRICE 立即平仓
- 前期止盈:在最后1分钟之前,持仓涨幅超过
EARLY_TAKE_PROFIT时止盈离场 - 末段止损:进入最后1分钟后,持仓跌幅超过
LAST_MIN_STOP_LOSS时止损离场
单腿风控流程:
- 若仅一腿成交,策略先撤销另一腿挂单,再判断是否触发止盈/止损
- 撤单期间如果另一腿意外成交,自动升级为"两腿套利锁定"状态,不执行平仓
并发撤单保障:
- 所有撤单操作均为阻塞轮询式确认,避免状态不明导致的重复操作或漏单
注意事项
- 需在 FMZ 平台配置 Polymarket 交易所
- 建议在策略启动前确认账户有足够 USDC 余额(至少
SUM_TARGET × SHARES以上) - 每轮合约到期(约 840 秒后)自动触发 Redeem,无需人工干预
- 强烈建议先在模拟盘小额测试参数合理性后再实盘运行
适用场景
- 市场波动剧烈、单边情绪极端时套利机会较多
- 适合长期挂机运行,捕捉非理性定价窗口
- 不依赖对 BTC 价格方向的判断,属于市场中性策略
策略灵感来源:@the_smart_ape | 平台要求:FMZ 托管版本 ≥ 3.8.8
Source
JavaScript
// ============================================================
// Polymarket BTC 15分钟 两腿对冲套利机器人 v5
// 策略灵感:@the_smart_ape
// 平台:FMZ(发明者量化)托管者版本 >= 3.8.8
// ============================================================
var STATE = {
WATCHING: "WATCHING",
BOTH_PENDING: "BOTH_PENDING", // 两腿挂单中
LEG1_ONLY: "LEG1_ONLY", // 仅第一腿成交,第二腿撤销后风控
LEG2_ONLY: "LEG2_ONLY", // 仅第二腿成交(异常),第一腿撤销后风控
BOTH_DONE: "BOTH_DONE", // 两腿全部成交,套利锁定Strategy parameters
Related strategies
Comment
All comments (5)
- 1
