关于 polymarket-trading
polymarket-trading 介绍 Polymarket 交易机器人的策略与代码模式,涵盖置信度计算、订单处理、退出计划和仓位规模。内容面向开发交易逻辑及维护机器人运行行为的开发者。
主要功能
- 01比较加法与贝叶斯置信度算法
- 02管理自动退出订单及修复
- 03按时机和置信度追加仓位
- 04考虑费用、返利和订单限制
- 05参考行情数据与下单代码模式
适用场景
- 01对置信度计算方法进行 A/B 测试
- 02设置并维护仓位退出订单
- 03在指定条件下增加仓位
- 04评估考虑手续费的订单策略
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ niller2005/ polyflup --skill polymarket-trading安装后在 Claude Code 中输入/polymarket-trading确认已加载。
详细介绍
术语与概念
- 退出计划:持仓开仓后立即设置自动限价卖单,价格为 $0.99。
- 对冲反转:趋势反转时,同时持有 UP 和 DOWN 仓位。
- 中点止损:当中点价格降至或低于 $0.30 时触发市价卖出。
- 加仓:通过市价单(FAK)向盈利仓位追加资金。
- 弱势方:交易价格低于 $0.50 的一方。入场置信度需高于 40%。
- 最小价格变动单位:市场允许的最小价格增量(例如 0.01 或 0.001)。
策略细节
置信度计算方法(v0.5.0+)
该机器人支持两种置信度计算方法,用于 A/B 测试:
加法方法(默认):
- 基于方向的投票系统,对信号进行加权汇总
- 置信度 = (获胜方总分 - (落败方总分 × 0.2)) × 领先/滞后加成
- 当 Binance 和 Polymarket 的动量一致时,趋势一致性加成(1.1x)
贝叶斯方法(备选):
- 使用对数赔率的统计学概率理论
- 以 Polymarket 订单簿中的市场先验概率为起点
- 通过对数似然比累积证据:
evidence = (score - 0.5) × 2 # Scale to -1 to +1 log_LR = evidence × 3.0 × quality # Quality factor (0.7-1.5x) log_odds += log_LR × weight confidence = 1 / (1 + exp(-log_odds)) - 能自然处理相互冲突的信号(信号会相互抵消)
- 市场先验概率将计算锚定于 Polymarket 的实际情况
A/B 测试:
- 每笔交易同时计算这两种方法
- 将结果存入数据库以供比较
- 通过
BAYESIAN_CONFIDENCE环境变量切换(默认:NO) - 交易 100 笔以上后比较胜率:
SELECT AVG(CASE WHEN bias='UP' THEN edge ELSE -edge END) as avg_edge, COUNT(*) as total, SUM(CASE WHEN result='WIN' THEN 1 ELSE 0 END) as wins, CAST(wins AS REAL) / COUNT(*) as win_rate FROM trades WHERE settled = 1 GROUP BY method;
退出计划优化
- 智能退出定价:
- 高置信度交易(≥85%):使用 $0.999 的退出价格,以实现利润最大化
- 普通交易:使用 $0.99 的退出价格(可通过 EXIT_PRICE_TARGET 配置)
- 仅对盈利仓位使用 0.999(UP 方向的价格 ≥ 入场价,或 DOWN 方向的价格 ≤ 入场价)
- 立即设置:持仓成交后立即设置退出计划(无需满足持仓时长要求)
- 实时数量验证:每 1 秒周期验证一次退出订单数量
- 修复逻辑:
- 如果退出订单数量与数据库中的数量不符,则自动修复
- 使用 0.05 股的阈值,避免交易所舍入导致无限修复循环
- 取消错误订单,并按正确数量重新下单
- 接管逻辑:发现并接管交易所上已有的 SELL 订单,以避免重复下单
加仓策略(动态)
- 默认
SCALE_IN_TIME_LEFT:450s(7.5 分钟) - 根据置信度(
edge)和中点价格动态提前入场:- 剩余 12 分钟:
edge≥ 90%,且价格 ≥ $0.80 - 剩余 9 分钟:
edge≥ 80%,且价格 ≥ $0.70 - 剩余 7 分钟:
edge≥ 70%,且价格 ≥ $0.65
- 剩余 12 分钟:
- 使用市价单(FAK)确保立即成交
- 倍数:1.5x(追加 150% 的资金,使仓位总额达到原来的 2.5 倍)
信号加成
- 趋势一致性加成:如果 Binance 和 Polymarket 的趋势一致,则乘以 1.1x
- 领先/滞后加成:根据跨交易所的一致性,给予 1.2x 加成或 0.8x 惩罚
技术要求
- 精度:余额同步使用严格的 0.0001 阈值
- 最小数量:Polymarket 对限价单设定了 5.0 股的最低数量
- 舍入:所有订单数量均使用
truncate_float(value, 2),以匹配交易所精度
费用与返利(15 分钟加密货币市场)
- 吃单费用:仅适用于 15 分钟加密货币市场。
- 费用扣除方式:
- BUY:从所得款项中以代币扣除费用。
- SELL:从所得款项中以 USDC 扣除费用。
- 实际费率:
- 买入:价格为 $0.50 时费率最高,约为 1.6%。
- 卖出:价格为 $0.30 时费率最高,约为 3.7%。卖出通常更贵,因为会直接扣除 USDC。
- 费用精度:四舍五入至小数点后 4 位(最低 0.0001 USDC)。极端价格下的小额交易可能免收费用。
- 做市返利:每日以 USDC 发放给提供流动性且订单成交的做市方。
- 策略影响:
- 优先使用做市订单(增加流动性的限价单),以避免费用并有机会获得返利。
- 作为吃单方以低价卖出,成本尤其高。
常见代码模式
市场数据
from src.trading.orders import get_midpoint, get_spread, check_liquidity
# Get accurate midpoint price
price = get_midpoint(token_id)
# Check if liquidity is good
if check_liquidity(token_id, size=100, warn_threshold=0.05):
# Safe to trade
下单
from src.trading.orders import place_batch_orders, place_market_order
# Batch Orders
results = place_batch_orders(orders)
# Market Sell
result = place_market_order(token_id, amount=10.0, side="SELL", order_type="FAK")
标准表情符号指南
持仓监控
- 👀 正在监控持仓
- 📈 UP 方向持仓(PnL 为正时盈利)
- 📉 DOWN 方向持仓(PnL 为正时盈利)
- 📦 持仓规模显示
- 🧮 PnL 百分比显示
持仓状态
- ⏰ 退出计划已激活(已挂出限价卖单)
- ⏳ 退出计划待处理(等待条件满足)
- ⏭️ 已跳过退出(持仓低于 MIN_SIZE 阈值)
- 📊 加仓持仓指示器
订单生命周期
- 🚀 交易执行 / 入场
- 🎯 挂出限价单
- ✅ 成功 / 订单已成交
- 🧹 取消订单
- ❌ 错误 / 失败
风险管理
- 🛑 止损已触发
- 🔄 反转 / 趋势翻转
- ⚠️ 警告 / 验证问题
- 🔧 持仓修复 / 同步
系统
- 💰 资金 / 余额 / 结算
- 🌍 地理限制
- 🧟 幽灵交易检测
评论
支持 Markdown