К основному содержанию
скилл CX Codex

kalshi — скилл для Claude Code: рынки предсказаний Kalshi

Скилл даёт агенту доступ к рынкам предсказаний Kalshi: события, серии, контракты, сделки и свечи по спортивным исходам. Пригодится, когда нужны цены-вероятности, а не результаты матчей.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add machina-sports/sports-skills --skill kalshi -a claude-code
Открыть на GitHub

Что делает kalshi

Скилл оборачивает публичный API биржи Kalshi, которую регулирует CFTC. Чтение работает без авторизации, ключ не нужен. Внутри — команды search_markets, get_todays_events, get_markets, get_event, get_market, get_trades, get_market_candlesticks и get_sports_config, плюс get_esports_odds для cs2, lol и dota2. Есть CLI sports-skills kalshi и Python SDK from sports_skills import kalshi.

Цены здесь — вероятности на шкале 0-100: last_price 20 значит 20% на исход. Это не американские коэффициенты, и путать их не стоит. Покрытие — футбол (EPL, UCL, La Liga, Bundesliga, Serie A, Ligue 1, MLS, чемпионат мира), баскетбол, бейсбол, теннис, NFL, хоккей, F1 и киберспорт. На Kalshi «Football» означает NFL, поэтому для европейского футбола нужны коды epl, ucl, laliga.

Перед запросами скилл советует открыть references/api-reference.md — там коды видов спорта, тикеры серий и параметры команд. Параметр sport обязателен для search_markets и get_todays_events: без него поиск вернёт только крупные фьючерсы и пропустит рынки отдельных матчей. Для списка открытых контрактов передавайте status="open", иначе в выдачу попадут уже рассчитанные рынки. Тикеры не всегда собираются как <event_ticker>-<suffix> — группируйте рынки по полю event_ticker, а не разбором строки.

Какие задачи решает

  • найти открытые рынки Kalshi по конкретному виду спорта
  • посмотреть цены-вероятности на исход матча EPL или NBA
  • собрать историю OHLC по тикеру рынка
  • отсортировать фьючерсы на победителя турнира по вероятности
  • выгрузить недавние сделки по контракту

Примеры запросов агенту

  • Какие рынки NBA открыты на Kalshi?
  • Покажи цены на Leeds в EPL на Kalshi
  • Кто фаворит на победу в Лиге чемпионов по рынкам Kalshi?

Как установить kalshi

1Через Skills CLI (Vercel)

npx skills add machina-sports/sports-skills --skill kalshi -a claude-code

2Вручную: положить файлы

~/.claude/skills/kalshi/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/kalshi/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора22

football-data Скилл даёт агенту данные о футболе: таблицы, расписание, статистику матчей, xG, трансферы и прогнозы. Ключи API не нужны. CX Codex +1 2 300установок betting Считает вероятности, edge и размер ставки по критерию Келли. Пригодится, когда есть коэффициенты из двух источников и надо понять, есть ли перевес. CX Codex +1 1 600установок polymarket Читает спортивные рынки Polymarket: цены, вероятности, стаканы заявок и события. Пригодится, когда нужно узнать, кого букмекеры считают фаворитом. CX Codex +1 1 300установок sports-news Тянет свежие спортивные заголовки из RSS-лент и Google News, ищет по запросу и фильтрует по датам. Пригодится, когда нужны трансферные слухи или отчёты о матчах. CX Codex +1 1 200установок nba-data Скилл для загрузки статистики NBA, счёта матчей и координат бросков через CLI без API-ключей. Пригодится при анализе игр, составов и истории лиги с 1946 года. CX Codex +1 989установок markets Скилл связывает расписания ESPN с рынками прогнозов Kalshi и Polymarket: единые дашборды, сравнение цен и оценка ставки. CX Codex +1 861установок nfl-data Скилл даёт агенту доступ к расписаниям, составам, статистике и play-by-play NFL через публичные эндпоинты ESPN и nflverse. Ключи API не нужны. CX Codex +1 752установок mlb-data Скилл даёт доступ к текущим и архивным данным MLB из ESPN и официального API лиги. Пригодится, когда агенту нужны счета матчей, ростеры, списки травм или метрики бросков. CX Codex +1 737установок

Похожие

llmquant-market-intelligence LLMQuant Маршрутизирует запросы к сценариям LLMQuant по макроэкономике и рыночным настроениям. Пригодится при оценке вероятностей событий перед сделками. CX Codex +1 493установок pp-espn Matt Van Horn Отвечает на вопросы про счёт, таблицы, расписание и бокс-скоры через CLI espn-pp-cli. Десять лиг, очные встречи, поиск по локальной базе. CX Codex +1 3 800установок trading-strategies agentmc15 Скилл для проектирования и тестирования торговых стратегий на рынках предсказаний. Помогает рассчитывать сигналы арбитража, импульса и возврата к среднему на Python. CX Codex +1 1 200установок llmquant-prediction-markets LLMQuant Скилл-маршрутизатор для работы с прогнозными рынками: вероятности событий, условия расчёта контрактов, арбитраж между площадками. CX Codex +1 496установок polymarket-analyzer mjunaidca Ищет арбитраж, анализирует стакан котировок и всплески объёмов на Polymarket. Пригодится трейдерам на рынках предсказаний для расчёта расхождений цен без ключей API. CX Codex +1 486установок coingecko-api agiprolabs Скилл даёт агенту доступ к CoinGecko: цены, история, объёмы бирж, тренды и глобальная статистика рынка. Пригодится для макроанализа и длинных исторических рядов. CX Codex +1 440установок

Рядом в теме «Финансы и бизнес»

Всё по теме «Финансы и бизнес» →

Вопросы о kalshi

Как установить kalshi в Claude?

Выполните npx skills add machina-sports/sports-skills --skill kalshi -a claude-code. Скилл встанет в ~/.claude/skills/kalshi/SKILL.md.

Что делает скилл kalshi?

Тянет данные рынков предсказаний Kalshi: события, серии, контракты, сделки и свечи. Цены приходят как вероятности на шкале 0-100, авторизация для чтения не нужна.

Чем kalshi отличается от polymarket?

Интерфейс общий: search_markets(sport=...), get_todays_events(sport=...) и get_sports_config() работают одинаково. У Kalshi шкала цен 0-100, у Polymarket 0-1, и покрытие спорта у Polymarket шире.

Исходный текст

SKILL.md · MIT
---
name: kalshi
description: |
  Kalshi prediction markets — events, series, markets, trades, and candlestick data. Public API, no auth required for reads. US-regulated exchange (CFTC). Covers football (EPL, UCL, La Liga), basketball, baseball, tennis, NFL, hockey event contracts.

  Use when: user asks about Kalshi-specific markets, event contracts, CFTC-regulated prediction markets, or candlestick/OHLC price history on sports outcomes.
  Don't use when: user asks about actual match results, scores, or statistics — use the sport-specific skill: football-data (soccer), nfl-data (NFL), nba-data (NBA), wnba-data (WNBA), nhl-data (NHL), mlb-data (MLB), tennis-data (tennis), golf-data (golf), cricket-data (cricket), cfb-data (college football), cbb-data (college basketball), or fastf1 (F1). Don't use for general "who will win" questions unless Kalshi is specifically mentioned — try polymarket first (broader sports coverage). Don't use for news — use sports-news instead.
license: MIT
metadata:
  author: machina-sports
  version: "0.2.0"
---

# Kalshi — Prediction Markets

Before writing queries, consult `references/api-reference.md` for sport codes, series tickers, and command parameters.

## Quick Start

Prefer the CLI — it avoids Python import path issues:
```bash
sports-skills kalshi search_markets --sport=nba
sports-skills kalshi get_todays_events --sport=nba
sports-skills kalshi get_sports_config
sports-skills kalshi get_markets --series_ticker=KXNBA --status=open
```

Python SDK (alternative):
```python
from sports_skills import kalshi

kalshi.search_markets(sport='nba')
kalshi.search_markets(sport='nba', query='Lakers')
kalshi.get_todays_events(sport='nba')
kalshi.get_sports_config()
kalshi.get_markets(series_ticker="KXNBA", status="open")
```

## CRITICAL: Before Any Query

CRITICAL: Before calling any market endpoint, verify:
- The `sport` parameter is always passed to `search_markets` and `get_todays_events` for single-game markets.
- Prices are on a 0-100 integer scale (20 = 20% implied probability) — do not treat as American odds.
- `status="open"` is used when querying markets to exclude settled/closed markets.

Without the `sport` parameter:
```
WRONG: search_markets(query="Leeds")           → 0 results
RIGHT: search_markets(sport='epl', query='Leeds') → returns all Leeds markets
```

## Important Notes

- **On Kalshi, "Football" = NFL.** For football/soccer (EPL, La Liga, etc.), use sport codes: `epl`, `ucl`, `laliga`, `bundesliga`, `seriea`, `ligue1`, `mls`, `worldcup`.
- **Formula 1** uses sport code `f1` (drivers'/constructors' champion plus per-Grand-Prix race, podium, pole, fastest-lap, head-to-head and sprint series).
- **Market tickers are not always `<event_ticker>-<suffix>`.** Kalshi mints some with a different stem, e.g. `KXATP-26-SHA` sits inside event `KXATP-26USO` (2026 US Open men's singles) next to `KXATP-26USO-SIN`. That is Kalshi's real ticker: pass it verbatim to `get_market`, and group markets by their `event_ticker` field, never by parsing the ticker.
- **Prices are probabilities.** A `last_price` of 20 means 20% implied probability. Scale is 0-100 (not 0-1 like Polymarket).
- **Always use `status="open"`** when querying markets, otherwise results include settled/closed markets.
- **Shared interface with Polymarket:** `search_markets(sport=...)`, `get_todays_events(sport=...)`, and `get_sports_config()` work the same way on both platforms.

## Workflows

### Sport Market Search (Recommended)
1. `search_markets --sport=nba` — finds all open NBA markets.
2. Optionally add `--query="Lakers"` to filter by keyword.
3. Results include yes_bid, no_bid, volume for each market.

### Today's Events
1. `get_todays_events --sport=nba` — open events with nested markets.
2. Present events with prices (price = implied probability, 0-100 scale).

### Futures Market Check
1. `get_markets --series_ticker=<ticker> --status=open`
2. Sort by `last_price` descending.
3. Present top contenders with probability and volume.

### Market Price History
1. Get market ticker from `search_markets --sport=nba`.
2. `get_market_candlesticks --series_ticker=<s> --ticker=<t> --start_ts=<start> --end_ts=<end> --period_interval=60`
3. Present OHLC with volume.

## Commands

See `references/api-reference.md` for the full command list with parameters.

| Command | Description |
|---|---|
| `get_sports_config` | Available sport codes and series tickers |
| `get_todays_events` | Today's events for a sport with nested markets |
| `search_markets` | Find markets by sport and/or keyword |
| `get_esports_odds` | Esports markets (cs2/lol/dota2): prices in cents (0-100) plus `implied_probability` (0-1) and `decimal_odds` |
| `get_markets` | Market listing (raw API) |
| `get_event` | Event details |
| `get_market` | Market details |
| `get_trades` | Recent trades |
| `get_market_candlesticks` | OHLC price history |

## Examples

Example 1: NBA market search
User says: "What NBA markets are on Kalshi?"
Actions:
1. Call `search_markets(sport='nba')`
Result: All open NBA markets with yes/no prices and volume

Example 2: EPL game markets
User says: "Show me Leeds vs Man City odds on Kalshi"
Actions:
1. Call `search_markets(sport='epl', query='Leeds')`
Result: Leeds EPL markets across all EPL series with prices and volume

Example 3: Today's EPL events
User says: "What EPL games are available on Kalshi?"
Actions:
1. Call `get_todays_events(sport='epl')`
Result: Today's EPL events with nested markets

Example 4: Champions League futures
User says: "Who will win the Champions League?"
Actions:
1. Call `search_markets(sport='ucl')` or `get_markets(series_ticker="KXUCL", status="open")`
2. Sort by `last_price` descending (price = implied probability)
Result: Top UCL contenders with `yes_sub_title`, `last_price` (%), and volume

Example 5: Market price history
User says: "Show me the price history for this NBA game"
Actions:
1. Get market ticker from `search_markets(sport='nba')`
2. Call `get_market_candlesticks(series_ticker="KXNBA", ticker="...", start_ts=..., end_ts=..., period_interval=60)`
Result: OHLC price data with volume

## Commands that DO NOT exist — never call these

- ~~`get_odds`~~ — does not exist. Use `search_markets` or `get_markets` to find market prices.
- ~~`get_team_schedule`~~ — does not exist. Kalshi has markets, not schedules. Use the sport-specific skill for schedules.
- ~~`get_scores`~~ / ~~`get_results`~~ — does not exist. Kalshi is a prediction market. Use the sport-specific skill.

If a command is not listed in `references/api-reference.md`, it does not exist.

## Troubleshooting

Error: `search_markets` returns 0 results
Cause: The `sport` parameter is missing — without it, search only returns high-volume futures and misses single-game markets
Solution: Always pass `sport='<code>'` to `search_markets`. Check `references/api-reference.md` for valid sport codes

Error: Markets returned include settled/expired contracts
Cause: `status` parameter is not set
Solution: Always pass `status="open"` to filter to open markets only

Error: Series ticker returns no results
Cause: The series ticker may be incorrect or have no open markets
Solution: Call `get_series_list()` to discover available tickers, or check `references/series-tickers.md`

Error: Football/soccer markets not found when searching "Football"
Cause: On Kalshi, "Football" refers to NFL — soccer uses league-specific codes
Solution: Use `sport='epl'`, `sport='ucl'`, `sport='laliga'`, etc. for soccer leagues

© machina-sports · MIT · machina-sports/sports-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой