kalshi について
kalshiは、sports-skillsのコマンドラインまたはPython SDKからKalshiのスポーツ予測市場を調べるスキルです。市場やイベント、取引、価格履歴を扱い、価格を確率として解釈するための注意点も示します。
主な機能
- 01スポーツやキーワードで市場を検索
- 02当日のイベントと市場を一覧表示
- 03市場、イベント、取引の詳細を取得
- 04OHLC価格履歴を表示
- 05eスポーツ価格と暗黙確率を取得
活用シーン
- 01NBAやEPLのオープン市場を検索
- 02指定スポーツの当日イベントを確認
- 03先物市場の候補を比較
- 04市場の過去価格を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ machina-sports/ sports-skills --skill kalshiインストール後、Claude Code で/kalshiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/api-reference.mdapi.mdcommands.mdseries-tickers.mdscripts/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()は、どちらのプラットフォームでも同じように機能します。
ワークフロー
スポーツ市場の検索(推奨)
search_markets --sport=nba— オープン中の NBA 市場をすべて検索します。- 必要に応じて
--query="Lakers"を追加し、キーワードで絞り込みます。 - 各市場の yes_bid、no_bid、出来高が結果に含まれます。
今日のイベント
get_todays_events --sport=nba— ネストされた市場を含む、オープン中のイベントを取得します。- 価格を添えてイベントを提示します(価格=示唆確率、0~100 スケール)。
先物市場の確認
get_markets --series_ticker=<ticker> --status=openlast_priceの降順で並べ替えます。- 上位候補を確率と出来高とともに提示します。
市場価格の履歴
search_markets --sport=nbaから市場のティッカーを取得します。get_market_candlesticks --series_ticker=<s> --ticker=<t> --start_ts=<start> --end_ts=<end> --period_interval=60- 出来高とともに OHLC を提示します。
コマンド
パラメーターを含むコマンドの一覧は、references/api-reference.md を参照してください。
| コマンド | 説明 |
|---|---|
get_sports_config | 利用可能なスポーツコードとシリーズティッカー |
get_todays_events | スポーツごとの今日のイベントと、ネストされた市場 |
search_markets | スポーツやキーワードで市場を検索 |
get_esports_odds | eスポーツ市場(cs2/lol/dota2):セント単位の価格(0~100)に加え、implied_probability(0~1)と decimal_odds |
get_markets | 市場一覧(生の API) |
get_event | イベントの詳細 |
get_market | 市場の詳細 |
get_trades | 最近の取引 |
get_market_candlesticks | OHLC 価格履歴 |
例
例 1:NBA 市場の検索 ユーザーの発言:「Kalshi にはどのような NBA 市場がありますか?」 操作:
search_markets(sport='nba')を呼び出します 結果:すべてのオープン中の NBA 市場と、はい/いいえの価格、取引量
例 2:EPL の試合市場 ユーザーの発言:「Kalshi でリーズ対マンチェスター・シティのオッズを見せてください」 操作:
search_markets(sport='epl', query='Leeds')を呼び出します 結果:すべての EPL シリーズにおけるリーズの EPL 市場と、価格、取引量
例 3:本日の EPL イベント ユーザーの発言:「Kalshi で利用できる EPL の試合を教えてください」 操作:
get_todays_events(sport='epl')を呼び出します 結果:ネストされた市場を含む、本日の EPL イベント
例 4:チャンピオンズリーグの先物市場 ユーザーの発言:「チャンピオンズリーグで優勝するのはどのチームですか?」 操作:
search_markets(sport='ucl')またはget_markets(series_ticker="KXUCL", status="open")を呼び出しますlast_priceの降順で並べ替えます(価格 = 暗示確率) 結果:yes_sub_title、last_price(%)、取引量を含む、UCL の有力候補
例 5:市場価格の履歴 ユーザーの発言:「この NBA の試合の価格履歴を見せてください」 操作:
search_markets(sport='nba')で市場のティッカーを取得しますget_market_candlesticks(series_ticker="KXNBA", ticker="...", start_ts=..., end_ts=..., period_interval=60)を呼び出します 結果:取引量を含む OHLC 価格データ
存在しないコマンド — 絶対に呼び出さないでください
— 存在しません。get_oddssearch_marketsまたはget_marketsを使って市場価格を検索してください。— 存在しません。Kalshi にあるのは市場であり、スケジュールではありません。スケジュールには、スポーツ専用のスキルを使ってください。get_team_schedule/get_scores— 存在しません。Kalshi は予測市場です。スポーツ専用のスキルを使ってください。get_results
コマンドが 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' などを使ってください。