calci-prediction-market について
CalciとKalshiの予測市場データ、契約の仕組み、取引、決済を説明するためのドメイン知識スキルです。市場オブジェクトを解釈し、価格やリスクを中立的に伝えるエージェント向けです。
主な機能
- 01二者択一契約と支払いモデル
- 02シリーズ・イベント・市場の区別
- 03市場フィールドの解釈
- 04注文種別とポジション決済
- 05決済ルールとAPI規約
活用シーン
- 01契約価格から含意確率を説明
- 02Calciのページがイベントか市場かを明確化
- 03板の両側と注文の仕組みを説明
- 04ルールに基づく市場の決済方法の回答
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ratacat/ claude-skills --skill calci-prediction-marketインストール後、Claude Code で/calci-prediction-marketを入力して読み込まれたか確認します。
同梱ファイルreference.md
詳細
Calci 予測市場(Kalshi)
Calci の予測市場レイヤーは Kalshi を基盤としています。このスキルでは、Calci/Kalshi のデータについて推論し、ユーザーにわかりやすく説明するために必要なドメインモデル、取引の仕組み、API の規約を提供します。
基本的な考え方
-
二者択一のイベント契約
- 取引可能な契約はすべて、現実世界の結果に対する Yes/No です。
- 勝った側には $1 が支払われ、負けた側には $0 が支払われます。
- $0.01~$0.99 の価格は、暗黙の確率を表します。
-
暗黙の確率
- Yes 契約が $0.74 で取引されている場合、市場は Yes となる確率を約 74% と見込んでいます。
- No の価格はその補数です(手数料やスプレッドを無視すると、おおむね 1 − Yes です)。
-
全額担保方式
- ユーザーは最大損失額を前払いします。証拠金やレバレッジはありません。
- 契約に支払った額を超える損失が発生することはありません。
データ階層(Kalshi → Calci)
Kalshi は厳格な階層構造を使用しています。
- Series → 定期的に開催される市場のテンプレート(共通のルール/決済条件を持ちます)。
- Event → シリーズ内の具体的な事例(現実世界で発生する出来事です)。
- Market → イベント内の単一の二者択一契約(Yes/No の結果をひとつ扱います)。
Calci はこれらのオブジェクトを踏襲しています。Calci の UI で「market」と表示されている場合は、それが イベントページ(コンテナ)なのか、特定の市場結果(二者択一の取引対象)なのかを明確にしてください。
市場オブジェクト:各フィールドの意味
Calci/Kalshi の市場 JSON を解釈する際は、次の点を確認してください。
- ticker:一意の識別子(文字列)。
- event_ticker / series_ticker:親オブジェクトの識別子。
- title / subtitle:人が読める形式の質問と補足説明。
- yes_bid / yes_ask(セント単位)および _dollars:Yes の買い/売りにおける最良価格。
- no_bid / no_ask:No の買い/売りにおける最良価格。
- last_price:最後に取引された Yes の価格。
- volume / volume_24h / open_interest:取引活動と未決済契約数。
- open_time / close_time / expiration_time:ライフサイクルのタイムスタンプ。
- status:初期化済み、アクティブ/オープン、クローズ済み、決済済み。
- result / settlement_value:結果が確定した後に設定されます。
説明すべき取引の仕組み
- Yes 側と No 側の両方にオーダーブックがあります。
- クイック注文/成行注文は、即時約定のために現在のスプレッドを越えて発注します。
- 指値注文は指定した価格で待機し、流動性を追加する場合があります。
- ポジションの決済とは、後から反対側の取引を行うことです(Yes を売る、または No を買う)。
- 相互排他的なイベントには複数の市場が含まれ、そのうち Yes として決済されるのは最大でもひとつです。
Kalshi の手数料は変動制/二次関数型で、潜在利益の数%程度です。メイカー注文は割引される場合があります。
決済と結果確定
- 各シリーズには、公式の決済情報源とルールが定められています。
- 通常、市場は権利行使価格/決定時刻より前にクローズし、その後、確認を経て決済されます。
can_close_earlyが true の場合、早期に結果が確定する市場もあります。
「これはどのように結果が確定するのか」と聞かれた場合は、シリーズのルールと決済情報源を参照し、その内容を平易な言葉で説明してください。
使用すべき API の規約
公開データ(認証不要):
GET /seriesGET /events(イベントには市場が含まれます)GET /marketsGET /market/{ticker}GET /market/orderbookGET /market/candlesticksGET /market/tradesGET /exchange/status
取引/アカウント(認証が必要):
POST /orders、DELETE /orders/{id}、GET /orders/{id}POST /order-groupsおよび関連する注文グループのエンドポイントGET /portfolio/balance、GET /portfolio/positions、GET /portfolio/fills
認証には、API キー ID と RSA 署名ヘッダーを使用します。
KALSHI-ACCESS-KEYKALSHI-ACCESS-TIMESTAMPKALSHI-ACCESS-SIGNATURE
リアルタイム更新は、ティッカーへの WebSocket サブスクリプションを通じて受信します。
回答時にこのスキルを適用する方法
- ユーザーの説明が曖昧な場合は、Calci の用語を Kalshi の用語に対応づけます。
- Series/Event/Market を必ず区別し、どのレベルについて話しているかを改めて明示します。
- 役立つ場合は、価格を確率に換算して明示します。
- 価格や注文板について説明する場合は、Yes/No の両側とスプレッドを説明します。
- 決済に関する質問では、ルールと決済元を引用します。
- 中立性を保ちます。仕組みとリスクを説明し、金融アドバイスは行いません。
例
- 「この Calci のマーケットは、Kalshi のマーケットティッカーです。Yes の場合に $1 を支払うバイナリー契約です。価格が $0.62 なら、市場は Yes の確率を約 62% と見込んでいます。」
- 「このイベントは相互排他的なので、候補となる結果ごとに別々のマーケットがあります。Yes で決済されるのは、必ずちょうど 1 つだけです。」
- 「リアルタイムの価格を取得するには、Kalshi の WebSocket でマーケットティッカーを購読します。Calci はその更新を反映します。」
詳しくは、reference.md をご覧ください。