mcpField
K
kalshi

kalshi

github.com/machina-sportsその他2611.0k 回インストール今日更新
リポジトリ

kalshi について

kalshiは、sports-skillsのコマンドラインまたはPython SDKからKalshiのスポーツ予測市場を調べるスキルです。市場やイベント、取引、価格履歴を扱い、価格を確率として解釈するための注意点も示します。

主な機能

  1. 01スポーツやキーワードで市場を検索
  2. 02当日のイベントと市場を一覧表示
  3. 03市場、イベント、取引の詳細を取得
  4. 04OHLC価格履歴を表示
  5. 05eスポーツ価格と暗黙確率を取得

活用シーン

  1. 01NBAやEPLのオープン市場を検索
  2. 02指定スポーツの当日イベントを確認
  3. 03先物市場の候補を比較
  4. 04市場の過去価格を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/machina-sports/sports-skills --skill kalshi

インストール後、Claude Code で/kalshiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-reference.md
api.md
commands.md
series-tickers.md
scripts/
validate_params.sh

詳細

Kalshi — 予測市場

クエリを作成する前に、スポーツコード、シリーズティッカー、コマンドパラメーターについて references/api-reference.md を確認してください。

クイックスタート

Python のインポートパスの問題を避けるため、CLI を推奨します:

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(代替):

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")

重要:クエリを実行する前に

重要:市場エンドポイントを呼び出す前に、以下を確認してください:

  • 単一試合の市場では、sport パラメーターを必ず search_markets と get_todays_events に渡します。
  • 価格は 0~100 の整数スケールです(20 = 示唆確率 20%)。アメリカンオッズとして扱わないでください。
  • 決済済み/終了済みの市場を除外するため、市場をクエリする際は status="open" を使用します。

sport パラメーターを指定しない場合:

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

重要な注意事項

  • Kalshi では、「Football」=NFL です。 フットボール/サッカー(EPL、La Liga など)には、スポーツコード epl、ucl、laliga、bundesliga、seriea、ligue1、mls、worldcup を使用してください。
  • Formula 1 ではスポーツコード f1 を使用します(ドライバー/コンストラクターズチャンピオンに加え、各グランプリのレース、表彰台、ポールポジション、ファステストラップ、直接対決、スプリントの各シリーズ)。
  • 市場のティッカーは、必ずしも <event_ticker>-<suffix> 形式とは限りません。 Kalshi では異なる語幹を使って発行されるものもあります。たとえば、KXATP-26-SHA は、2026 年全米オープン男子シングルスのイベント KXATP-26USO 内にあり、KXATP-26USO-SIN と並んでいます。これは Kalshi の実際のティッカーです。get_market にはそのまま渡し、市場はティッカーを解析して分類するのではなく、必ず event_ticker フィールドでグループ化してください。
  • 価格は確率です。 last_price が 20 の場合、示唆確率は 20%です。スケールは 0~100 です(Polymarket のような 0~1 ではありません)。
  • 市場をクエリする際は、必ず status="open" を使用してください。 そうしないと、結果に決済済み/終了済みの市場が含まれます。
  • Polymarket と共通のインターフェース: search_markets(sport=...)、get_todays_events(sport=...)、get_sports_config() は、どちらのプラットフォームでも同じように機能します。

ワークフロー

スポーツ市場の検索(推奨)
  1. search_markets --sport=nba — オープン中の NBA 市場をすべて検索します。
  2. 必要に応じて --query="Lakers" を追加し、キーワードで絞り込みます。
  3. 各市場の yes_bid、no_bid、出来高が結果に含まれます。
今日のイベント
  1. get_todays_events --sport=nba — ネストされた市場を含む、オープン中のイベントを取得します。
  2. 価格を添えてイベントを提示します(価格=示唆確率、0~100 スケール)。
先物市場の確認
  1. get_markets --series_ticker=<ticker> --status=open
  2. last_price の降順で並べ替えます。
  3. 上位候補を確率と出来高とともに提示します。
市場価格の履歴
  1. search_markets --sport=nba から市場のティッカーを取得します。
  2. get_market_candlesticks --series_ticker=<s> --ticker=<t> --start_ts=<start> --end_ts=<end> --period_interval=60
  3. 出来高とともに OHLC を提示します。

コマンド

パラメーターを含むコマンドの一覧は、references/api-reference.md を参照してください。

コマンド説明
get_sports_config利用可能なスポーツコードとシリーズティッカー
get_todays_eventsスポーツごとの今日のイベントと、ネストされた市場
search_marketsスポーツやキーワードで市場を検索
get_esports_oddseスポーツ市場(cs2/lol/dota2):セント単位の価格(0~100)に加え、implied_probability(0~1)と decimal_odds
get_markets市場一覧(生の API)
get_eventイベントの詳細
get_market市場の詳細
get_trades最近の取引
get_market_candlesticksOHLC 価格履歴

例

例 1:NBA 市場の検索 ユーザーの発言:「Kalshi にはどのような NBA 市場がありますか?」 操作:

  1. search_markets(sport='nba') を呼び出します 結果:すべてのオープン中の NBA 市場と、はい/いいえの価格、取引量

例 2:EPL の試合市場 ユーザーの発言:「Kalshi でリーズ対マンチェスター・シティのオッズを見せてください」 操作:

  1. search_markets(sport='epl', query='Leeds') を呼び出します 結果:すべての EPL シリーズにおけるリーズの EPL 市場と、価格、取引量

例 3:本日の EPL イベント ユーザーの発言:「Kalshi で利用できる EPL の試合を教えてください」 操作:

  1. get_todays_events(sport='epl') を呼び出します 結果:ネストされた市場を含む、本日の EPL イベント

例 4:チャンピオンズリーグの先物市場 ユーザーの発言:「チャンピオンズリーグで優勝するのはどのチームですか?」 操作:

  1. search_markets(sport='ucl') または get_markets(series_ticker="KXUCL", status="open") を呼び出します
  2. last_price の降順で並べ替えます(価格 = 暗示確率) 結果:yes_sub_title、last_price(%)、取引量を含む、UCL の有力候補

例 5:市場価格の履歴 ユーザーの発言:「この NBA の試合の価格履歴を見せてください」 操作:

  1. search_markets(sport='nba') で市場のティッカーを取得します
  2. get_market_candlesticks(series_ticker="KXNBA", ticker="...", start_ts=..., end_ts=..., period_interval=60) を呼び出します 結果:取引量を含む OHLC 価格データ

存在しないコマンド — 絶対に呼び出さないでください

  • get_odds — 存在しません。search_markets または get_markets を使って市場価格を検索してください。
  • get_team_schedule — 存在しません。Kalshi にあるのは市場であり、スケジュールではありません。スケジュールには、スポーツ専用のスキルを使ってください。
  • get_scores / get_results — 存在しません。Kalshi は予測市場です。スポーツ専用のスキルを使ってください。

コマンドが references/api-reference.md に記載されていない場合、そのコマンドは存在しません。

トラブルシューティング

エラー:search_markets が結果を 0 件返す 原因:sport パラメーターが指定されていません。指定しないと、検索結果は取引量の多い先物市場に限られ、単一試合の市場が見つかりません。 解決方法:search_markets には必ず sport='<code>' を渡してください。有効なスポーツコードは references/api-reference.md で確認してください。

エラー:返された市場に決済済み/期限切れの契約が含まれる 原因:status パラメーターが設定されていません。 解決方法:オープン中の市場だけに絞り込むため、必ず status="open" を渡してください。

エラー:シリーズのティッカーを指定しても結果が返らない 原因:シリーズのティッカーが誤っているか、オープン中の市場がない可能性があります。 解決方法:get_series_list() を呼び出して利用可能なティッカーを確認するか、references/series-tickers.md を確認してください。

エラー:「Football」を検索してもフットボール/サッカーの市場が見つからない 原因:Kalshi では「Football」は NFL を指します。サッカーにはリーグ固有のコードを使います。 解決方法:サッカーリーグには sport='epl'、sport='ucl'、sport='laliga' などを使ってください。

コメント