| name | polymarket-ai-divergence |
| description | 寻找那些 Simmer 的 AI 估值与实际市场价格存在差异的市场,然后利用 Kelly 定量投资策略在价格被高估或低估的一侧进行交易。系统会扫描市场中的价格差异,检查交易费用和相关保障措施,并仅在费用为零且具有足够交易优势的市场中执行交易。 |
| metadata | {"author":"Simmer (@simmer_markets)","version":"2.3.0","displayName":"Polymarket AI Divergence","difficulty":"intermediate"} |
Polymarket AI 分歧交易策略
该策略旨在寻找 Simmer 的 AI 预测价格与实际市场价格出现分歧的市场,并利用这种价格差异进行交易。
这只是一个模板。 默认逻辑是在 AI 预测价格与实际价格之间的分歧超过 2% 时进行交易,且每次交易的资金使用比例上限为 25%(遵循 Kelly 公式)。您可以根据需要修改该策略,设置不同的交易阈值、资金使用策略或添加额外的过滤条件(例如:仅交易在 7 天内能够得到确认的交易)。该策略负责处理所有交易相关的细节工作(包括价格差异的检测、费用检查、风险控制以及交易执行),而具体的交易决策由用户自行做出。
功能概述
- 扫描 所有活跃市场,检测 AI 预测价格与实际市场价格之间的差异。
- 筛选 出现超过预设阈值(默认为 2%)且交易费用为零的市场。
- 检查 相关的风险控制措施(例如:检测是否存在与先前交易相反的操作、用户是否已持有该市场的头寸等)。
- 确定交易规模 采用 Kelly 公式进行计算,并设置保守的资金使用上限。
- 执行交易:当 AI 预测价格偏高时买入,当预测价格偏低时卖出。
设置流程
当用户请求安装或配置该策略时,需要执行以下步骤:
-
安装 Simmer SDK
pip install simmer-sdk
-
获取 Simmer API 密钥
- 用户可以从 simmer.markets/dashboard 的 SDK 标签页获取 API 密钥。
- 将密钥存储在环境变量
SIMMER_API_KEY 中。
-
提供钱包私钥
- 这是用于在 Polymarket 平台上进行交易的私钥(该钱包中持有 USDC)。
- 将私钥存储在环境变量
WALLET_PRIVATE_KEY 中。
- SDK 会自动使用该密钥在客户端签署交易订单,无需用户手动操作。
- 注:在 Simmer 平台上进行模拟交易($SIM)时无需提供此密钥。
快速命令
python ai_divergence.py
python ai_divergence.py --live
python ai_divergence.py --bullish
python ai_divergence.py --min 15
python ai_divergence.py --json
python ai_divergence.py --live --quiet
python ai_divergence.py --config
python ai_divergence.py --set max_bet_usd=10
配置参数
| 参数 | 环境变量 | 默认值 | 说明 |
|---|
min_divergence | SIMMER_DIVERGENCE_MIN | 5.0 | 显示价格差异的最低百分比阈值 |
min_edge | SIMMER_DIVERGENCE_MIN_EDGE | 0.02 | 可交易的最低价格差异阈值(2%) |
max_bet_usd | SIMMER_DIVERGENCE_MAX_BET | 5.0 | 每次交易的最高投注金额 |
max_trades_per_run | SIMMER_DIVERGENCE_MAX_TRADES | 3 | 每次运行时的最大交易次数 |
kelly_cap | SIMMER_DIVERGENCE_KELLY_CAP | 0.25 | Kelly 公式中的资金使用比例上限(25%) |
daily_budget | SIMMER_DIVERGENCE_DAILY_BUDGET | 每日的交易预算上限 | |
default_direction | SIMMER_DIVERGENCE_direction | "(both)" | 过滤条件:"牛市" 或 "熊市" |
通过 CLI 更新配置:
python ai_divergence.py --set max_bet_usd=10
工作原理
价格差异信号
每个被监控的市场都有两个价格:
- AI 预测价格(
current_probability):由 Simmer 的多模型预测系统得出的价格。
- 实际市场价格(
external_price_yes):Polymarket 或 Kalshi 平台上的实际市场价格。
价格差异 = AI 预测价格 - 实际市场价格
- 当价格差异大于 0 时:AI 认为市场被低估,建议买入。
- 当价格差异小于 0 时:AI 认为市场被高估,建议卖出。
Kelly 公式用于确定交易规模
交易规模根据 Kelly 公式计算,但实际使用金额会被限制在 kelly_cap(默认为 25%)以内,以控制风险。
费用筛选
Polymarket 上 75% 的市场交易费用为 0%;剩余的 25% 的市场收取 10% 的费用(主要针对短期交易的加密货币/体育赛事相关交易)。该策略仅交易费用为零的市场,以避免费用对交易利润造成负面影响。
风险控制措施
- 费用检查:跳过任何存在交易费用的市场。
- 交易方向反转检测:使用 SDK 的 API 检测是否存在自相矛盾的交易行为。
- 头寸检查:避免在用户已持有该市场头寸的情况下进行交易。
- 每日预算限制:当达到每日交易预算上限时,停止交易。
- 保守的资金使用策略:通过 Kelly 公式确保不会过度投注。
使用的 API 端点
GET /api/sdk/markets/opportunities:获取按价格差异排序的市场列表。
GET /api/sdk/context/{market_id}:获取特定市场的费用率和风险控制信息。
POST /api/sdk/trade:通过 SDK 客户端执行交易。
GET /api/sdk/positions:获取当前的投资组合持仓情况。
常见问题及解决方法
- "没有符合条件市场的交易机会":可能是因为所有市场的价格差异都低于
min_edge 阈值。可以尝试降低 min_edge 的值(例如:--set min_edge=0.01),或等待出现更大的价格差异。
- "每日预算已用完":策略已达到每日交易预算上限。可以通过
--set daily_budget=50 来调整预算。
- 所有市场都被跳过:因为所有市场都收取费用,所以没有交易执行。这是该策略的设计初衷。
- "API 请求失败":可能是由于 SDK 的 API 被限制了请求频率(每分钟 18 次请求)。如果频繁调用该策略,请减少
max_trades_per_run 的值。