返回顶部
c

cross-market-pricer跨市场定价器

Normalize odds across Polymarket, Kalshi, and sportsbooks into a unified implied-probability format. Enables apples-to-apples comparison for the same event across platforms. Use when asked to compare odds across markets, normalize pricing, or find cross-platform mispricings.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.1.0
安全检测
已通过
100
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

cross-market-pricer

跨市场定价器

标准化并比较Polymarket、Kalshi和传统体育博彩的赔率。

使用时机

当用户询问以下内容时使用此技能:

  • - 比较不同平台(体育博彩 vs 预测市场)的赔率
  • 将价格标准化为通用格式
  • 对Polymarket、Kalshi和体育博彩上同一事件进行并排定价
  • 平台间是否存在定价差距或错误定价
  • 在美国赔率、隐含概率和合约价格之间进行转换

转换参考

美国赔率转概率:负值 → |赔率|/(|赔率|+100),正值 → 100/(赔率+100)
Polymarket转概率:价格即为概率
Kalshi转概率:合约价格(API返回的0.00–1.00格式)
概率转美国赔率:>0.5 → -(概率/(1-概率))100,<0.5 → +((1-概率)/概率)100

操作

1. 获取体育博彩赔率并转换为标准化概率

从The Odds API获取美国赔率并内联转换为隐含概率:

bash
curl -s https://api.the-odds-api.com/v4/sports/SPORTKEY/odds?apiKey=$ODDSAPI_KEY®ions=us&markets=h2h&oddsFormat=american \
| jq [.[] | {
event: \(.awayteam) vs \(.hometeam),
start: .commence_time,
source: sportsbooks,
outcomes: [.bookmakers[0].markets[0].outcomes[] | {
name: .name,
american_odds: .price,
implied_prob: (if .price < 0 then (-((.price)) / (-((.price)) + 100)) else (100 / (.price + 100)) end) | (. * 1000 | round / 1000)
}]
}]

将SPORTKEY替换为相应的键(例如,basketballnba,americanfootball_nfl)。

2. 获取Polymarket价格并转换为标准化概率

从Polymarket的Gamma API获取市场价格:

bash
curl -s https://gamma-api.polymarket.com/markets?closed=false&limit=10&tag=CATEGORY \
| jq [.[] | {
event: .question,
source: polymarket,
outcomes: [{
name: Yes,
polymarket_price: (.outcomePrices | fromjson | .[0] | tonumber | (. * 1000 | round / 1000)),
implied_prob: (.outcomePrices | fromjson | .[0] | tonumber | (. * 1000 | round / 1000))
}, {
name: No,
polymarket_price: (.outcomePrices | fromjson | .[1] | tonumber | (. * 1000 | round / 1000)),
implied_prob: (.outcomePrices | fromjson | .[1] | tonumber | (. * 1000 | round / 1000))
}],
volume: .volume,
liquidity: .liquidity
}]

将CATEGORY替换为相关标签(例如,sports,nba,politics,crypto)。

3. 获取Kalshi合约价格并转换为标准化概率

从Kalshi的公开市场数据API获取合约价格:

bash
curl -s https://api.elections.kalshi.com/trade-api/v2/markets?status=open&limit=10&seriesticker=SERIESTICKER \
| jq [.markets[] | {
event: .title,
source: kalshi,
ticker: .ticker,
outcomes: [{
name: Yes,
kalshiprice: (.yesask / 100),
impliedprob: (.yesask / 100)
}, {
name: No,
kalshiprice: (.noask / 100),
impliedprob: (.noask / 100)
}],
volume: .volume
}]

将SERIES_TICKER替换为事件类别的Kalshi系列代码。

4. 统一跨市场比较

当用户想要比较跨平台的同一事件时,从每个来源获取数据并使用Python生成统一表格:

bash
python3 -c
import json, subprocess

def americantoprob(odds):
if odds < 0:
return round(abs(odds) / (abs(odds) + 100), 4)
else:
return round(100 / (odds + 100), 4)

def probtoamerican(prob):
if prob >= 1: return -99999
if prob <= 0: return 99999
if prob > 0.5:
return round(-(prob / (1 - prob)) * 100)
elif prob < 0.5:
return round(((1 - prob) / prob) * 100)
else:
return 100

输入:用户提供这些值(代理根据上下文填充)

platforms = { PLATFORM1NAME: {yesprob: PLATFORM1YESPROB, noprob: PLATFORM1NOPROB}, PLATFORM2NAME: {yesprob: PLATFORM2YESPROB, noprob: PLATFORM2NOPROB}, }

print(=== 跨市场比较 ===)
print(f\{平台:<18} {是概率:>10} {是美国赔率:>10} {否概率:>10} {否美国赔率:>10} {总计:>8}\)
print(- * 70)
for name, data in platforms.items():
y = data[yes_prob]
n = data[no_prob]
total = round(y + n, 4)
yam = probto_american(y)
nam = probto_american(n)
yams = f+{yam} if yam > 0 else str(y_am)
nams = f+{nam} if nam > 0 else str(n_am)
print(f{name:<18} {y:>10.1%} {yams:>10} {n:>10.1%} {nams:>10} {total:>8.1%})

标记错误定价

probs = [d[yes_prob] for d in platforms.values()] gap = max(probs) - min(probs) if gap > 0.03: print(f\n⚠ 错误定价:是方跨平台差距为{gap:.1%}) else: print(f\n定价在{gap:.1%}范围内一致 — 无可操作差距)

代理必须根据操作1-3的结果填充PLATFORM1NAME、PLATFORM1YES_PROB等。如果事件仅存在于两个平台,则删除第三个条目。

5. 快速单值转换

当用户给出单个赔率值时的临时转换:

bash
python3 -c
oddsinput = INPUTVALUE

检测格式并标准化


if oddsinput.startswith(+) or oddsinput.startswith(-):
odds = int(odds_input)
prob = abs(odds)/(abs(odds)+100) if odds < 0 else 100/(odds+100)
fmt = 美国赔率
elif . in oddsinput and float(oddsinput) <= 1:
prob = float(odds_input)
fmt = 概率
elif odds_input.startswith(\$):
prob = float(odds_input.replace(\$,))
fmt = Kalshi合约
else:
prob = float(odds_input)
fmt = 小数概率 if float(odds_input) <= 1 else 未知

转换为所有格式

if prob > 0.5: american = round(-(prob/(1-prob))*100) elif prob < 0.5: american = round(((1-prob)/prob)*100) else: american = 100

am_str = f+{american} if american > 0 else str(american)
print(f输入:{odds_input} ({fmt}))
print(f隐含概率:{prob:.1%})
print(f美国赔率:{am_str})
print(fKalshi合约:\${prob:.2f})
print(fPolymarket份额:{prob:.4f})

将INPUT_VALUE替换为用户的值(例如,-150,0.62,$0.58)。

输出规则

  1. 1. 始终以隐含概率为主要格式显示(3位小数,例如0.620)
  2. 为熟悉体育博彩的用户同时显示美国赔率等价值
  3. 比较平台时,以表格形式显示,列包括:平台、是概率、是美国

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 cross-market-pricer-1776028719 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 cross-market-pricer-1776028719 技能

通过命令行安装

skillhub install cross-market-pricer-1776028719

下载

⬇ 下载 cross-market-pricer v1.1.0(免费)

文件大小: 3.81 KB | 发布时间: 2026-4-13 09:55

v1.1.0 最新 2026-4-13 09:55
Add attribution links to agentbets.ai guides

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部