Kalshi 预测市场
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/kalshi-iksv。
技能介绍
问题背景
调用预测市场 API 时,最常见的两类报错是把价格当成常规赔率,或者用错筛选条件导致查不到单场比赛市场。Kalshi 的报价采用 0–100 整数刻度,last_price 为 20 就代表 20% 的隐含概率,既不是美式赔率,也不是 Polymarket 那种 0–1 的小数形式。另一个高频问题是 search_markets 明明应该返回大量在售市场,却只给了一个空列表——根因通常是漏传 sport 参数,此时接口只会返回高成交量的期货市场,单场赛事全部被跳过。
核心能力
该技能围绕若干命令组织工作,适合工程化接入而非手工翻页网页。
- 市场检索:
search_markets按sport与可选关键词定位在售市场,返回yes_bid、no_bid、volume等字段;单场市场必须传sport。 - 当日赛事:
get_todays_events拉取某运动当天的开放事件,事件内嵌套其下所有市场,便于一次性渲染赛程与赔率。 - 期货排查:通过
get_markets --series_ticker= --status=open获取系列市场,按last_price降序即可得到夺冠热门排序。 - 价格历史:
get_market_candlesticks提供 OHLC K 线数据,附带成交量,可用于观察价格随时间的变化。 - 电竞专用接口:
get_esports_odds针对cs2、lol、dota2返回厘级价格(0–100),同时附带implied_probability(0–1)与decimal_odds,方便不同下游模块直接消费。
典型流程是先调用 get_sports_config 获取可用运动代码与系列 ticker,再按需走检索或事件接口。体育赛事搜索建议两步走:先用 search_markets --sport=nba 摸清开放市场,再按需叠加 --query="Lakers" 做关键词过滤;查期货则改用 series_ticker 加 status=open,最后按 last_price 排序呈现。
注意点
- Football 在 Kalshi 语境下等于 NFL。足球联赛必须走专属代码:
epl、ucl、laliga、bundesliga、seriea、ligue1、mls、worldcup,否则搜不到英超等市场。 - 始终传
status="open",否则已结算或已关闭的市场会混入结果,污染展示与统计口径。 - 不存在的命令不要调用。文档明确标注
get_odds、get_team_schedule、get_scores、get_results均无效;查分数或赛程应使用对应运动专用技能。需要枚举可用系列时调用get_series_list()或查阅references/series-tickers.md。 - 接口约定与 Polymarket 共享:
search_markets、get_todays_events、get_sports_config的参数形态在两个平台上一致,迁移成本较低,但价格刻度差异(0–100 与 0–1)必须在前端或渲染层做归一化。 - CLI 优先于 Python SDK,可规避导入路径问题;若使用 SDK,需自行保证模块解析正确。
综合来看,这套技能适合做赔率面板、隐含概率可视化、期货市场热度排行等场景,前提是尊重其命令边界与价格语义。
使用场景
- 体育数据前端开发中,需按 sport 参数拉取 NBA 单场开放市场,展示 yes_bid、no_bid 与 volume 列表
- 量化研究需要获取 UCL 系列期货市场,按 last_price 排序提取热门球队的隐含概率
- 构建当日赛程页面时,调用 get_todays_events 按 sport=epl 获取当天英超事件及其嵌套市场数据
- 分析市场热度时,使用 get_market_candlesticks 拉取指定市场 K 线,观察 OHLC 与成交量变化
适合人员
- 体育数据工程师,需要把 Kalshi 的实时赔率接入后端服务或前端面板
- 量化研究员,研究预测市场价格隐含概率与历史 K 线走势
- AI Agent 开发者,在应用中集成体育赛事与期货市场查询能力
- 体育媒体编辑,快速获取当日赛事开放市场与夺冠热门排序