SuperAPI AI 工具集

markets

数据与分析

查看项目

更新于 10-15 15:27

技能介绍

用途

Markets 是 sports-skills 中的预测市场编排模块,目标是把 ESPN 的实时赛程数据与 Kalshi、Polymarket 等预测市场打通,让用户在同一处查看某场比赛的赛程信息、各家赔率与预测市场价格,并进行比较和评估。

主要能力

  • 统一看板:get_todays_markets 返回当天每场比赛的 ESPN 信息、DraftKings 赔率,以及匹配的 Kalshi、Polymarket、ProphetX、Novig 市场。
  • 赔率比较:compare_odds 针对指定赛事比较各来源赔率,返回每侧的 side_prices(参考报价与 lowest_reference)以及基于参考价格的套利检查。
  • 实体搜索:search_entity 在 Kalshi、Polymarket、ProphetX、Novig 中搜索球队或实体(仅发现,不验证为同一合约)。
  • 市场配对:match_markets 按日期与球队代码把同一场比赛在 Kalshi 与 Polymarket 上的事件配对,输出 Kalshi 市场 ticker 与 Polymarket 胜负盘 token ID。
  • 价格归一化:normalize_price 把不同来源价格统一为隐含概率、美式赔率与小数赔率。
  • 价格查询:get_market_price 查询单点价格(含 yes/no 两侧,0-1),get_price_history 查询完整价格序列。
  • 投注评估:evaluate_market 校验市场确为该场比赛的胜负盘后,读取订单簿卖价,经 betting.evaluate_bet 计算去水、边际、EV、凯利比例与建议。
  • 链接比较:compare_market_url 支持粘贴 Polymarket 或 Kalshi 的单场比赛链接进行比较。

使用方式

通过 CLI 或 Python SDK 调用。CLI 示例:

sports-skills markets get_todays_markets --sport=nba
sports-skills markets search_entity --query="Lakers" --sport=nba
sports-skills markets compare_odds --sport=nba --event_id=401234567
sports-skills markets compare_market_url --url=https://polymarket.com/event/nfl-sf-sea-2026-10-11
sports-skills markets get_sport_markets --sport=nfl
sports-skills markets get_sport_schedule --sport=nba
sports-skills markets normalize_price --price=0.65 --source=polymarket
sports-skills markets evaluate_market --sport=nba --event_id=401234567 --fee_per_contract=<verified fee>
sports-skills markets match_markets --sport=mlb --date=2026-06-06
sports-skills markets get_market_price --venue=kalshi --ticker=KXMENWORLDCUP-26-FR
sports-skills markets get_price_history --venue=kalshi --ticker=KXMENWORLDCUP-26-FR --interval=1d

Python SDK 示例:

from sports_skills import markets

markets.get_todays_markets(sport="nba")
markets.search_entity(query="Lakers", sport="nba")
markets.compare_odds(sport="nba", event_id="401234567")
markets.compare_market_url(url="https://kalshi.com/markets/kxnflgame/sf-vs-sea/kxnflgame-26oct11sfsea")
markets.get_sport_markets(sport="nfl")
markets.get_sport_schedule(sport="nba", date="2025-02-26")
markets.normalize_price(price=0.65, source="polymarket")
markets.evaluate_market(sport="nba", event_id="401234567", fee_per_contract=fee)
markets.match_markets(sport="mlb", date="2026-06-06")
markets.get_market_price(venue="kalshi", ticker="KXMENWORLDCUP-26-FR", at_time="2026-05-01T12:00:00+00:00")
markets.get_price_history(venue="polymarket", token_id="<token_id>", interval="1h")

调用前需确认:涉及运动的命令要提供运动代码;归一化前要正确识别价格来源(espn 为美式赔率,polymarket 为 0-1 概率,kalshi 为 0-100 整数)。

适用场景

  • 查看当天某运动的比赛及预测市场赔率。
  • 在 Kalshi 与 Polymarket 上搜索同一球队的市场。
  • 比较某场具体比赛在各来源的赔率并检查套利。
  • 对某场比赛进行完整投注评估(需提供已验证费用)。
  • 把同一场比赛在两家场馆上配对,便于逐项比价。
  • 查询某市场在特定时间点的价格或完整价格历史。
  • 把 Polymarket 或 Kalshi 的单场比赛链接直接拿来比较。

限制

  • 不同命令覆盖的场馆不同:get_todays_markets、search_entity、compare_odds 搜索 Kalshi、Polymarket、ProphetX、Novig;get_sport_markets、match_markets、evaluate_market 仅用 Kalshi 与 Polymarket。
  • 发现不等于验证:原始市场列表只是搜索命中,不保证是某场比赛合约的等价物;只有 compare_odds 的 side_prices 与 evaluate_market 经过身份校验。
  • lowest_reference 不是可执行报价,未调整费用,也不构成投注建议。
  • compare_market_url 不会抓取链接,主机必须完全匹配;仅支持 Polymarket 与 Kalshi 的单场比赛链接,不接受 Novig 与 ProphetX 链接。
  • evaluate_market 必须提供已验证费用(用户说明或场馆官方文档),否则评估为空,不会默认按 0 处理。
  • 不存在的命令包括 get_odds、search_markets、get_schedule,不应调用。
  • 若某来源暂时不可用,模块返回部分结果并给出警告,可单独重试该来源。