Files
sim/apps/docs/content/docs/zh/tools/kalshi.mdx
2026-01-06 12:42:19 -08:00

385 lines
13 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Kalshi
description: 访问预测市场并在 Kalshi 上进行交易
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="kalshi"
color="#09C285"
/>
{/* MANUAL-CONTENT-START:intro */}
[Kalshi](https://kalshi.com) 是一个联邦监管的交易所用户可以直接交易未来事件结果的预测市场。Kalshi 强大的 API 和 Sim 集成使代理和工作流能够以编程方式访问平台的各个方面,支持从研究和分析到自动化交易和监控的所有内容。
通过 Kalshi 在 Sim 中的集成,您可以:
- **市场和事件数据:** 搜索、筛选并检索市场和事件的实时和历史数据;获取市场状态、系列、事件分组等的详细信息。
- **账户和余额管理:** 访问账户余额、可用资金,并监控实时未平仓头寸。
- **订单和交易管理:** 下新订单、取消现有订单、查看未完成订单、检索实时订单簿,并访问完整的交易历史。
- **执行分析:** 获取最近的交易、历史成交和 K 线数据,用于回测或市场结构研究。
- **监控:** 检查全交易所或系列级别的状态,接收有关市场变化或交易暂停的实时更新,并自动化响应。
- **自动化准备:** 构建端到端的自动化代理和仪表板,消费、分析并交易基于真实世界事件概率的数据。
通过使用这些统一的工具和端点,您可以将 Kalshi 的预测市场、实时交易功能和深度事件数据无缝集成到您的 AI 驱动应用程序、仪表板和工作流中,从而实现与真实世界结果相关的复杂自动化决策。
{/* MANUAL-CONTENT-END */}
## 使用说明
将 Kalshi 预测市场集成到工作流程中。可以获取市场、单个市场、事件、单个事件、余额、头寸、订单、订单簿、交易、K线图、成交、系列、交易所状态并进行下单/取消/修改交易。
## 工具
### `kalshi_get_markets`
从 Kalshi 检索预测市场列表,并可选择进行筛选
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `status` | string | 否 | 按状态筛选 \(未开放、开放、关闭、已结算\) |
| `seriesTicker` | string | 否 | 按系列代码筛选 |
| `eventTicker` | string | 否 | 按事件代码筛选 |
| `limit` | string | 否 | 结果数量 \(1-1000默认值100\) |
| `cursor` | string | 否 | 下一页的分页游标 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `markets` | array | 市场对象的数组 |
| `paging` | object | 用于获取更多结果的分页游标 |
### `kalshi_get_market`
通过代码检索特定预测市场的详细信息
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `ticker` | string | 是 | 市场代码 \(例如:"KXBTC-24DEC31"\) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `market` | object | 包含详细信息的市场对象 |
### `kalshi_get_events`
从 Kalshi 检索事件列表,并可选择进行筛选
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `status` | string | 否 | 按状态筛选 \(开放、关闭、已结算\) |
| `seriesTicker` | string | 否 | 按系列代码筛选 |
| `withNestedMarkets` | string | 否 | 在响应中包含嵌套市场 \(true/false\) |
| `limit` | string | 否 | 结果数量 \(1-200默认值200\) |
| `cursor` | string | 否 | 下一页的分页游标 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `events` | array | 事件对象的数组 |
| `paging` | object | 用于获取更多结果的分页游标 |
### `kalshi_get_event`
通过代码检索特定事件的详细信息
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `eventTicker` | string | 是 | 事件代码 |
| `withNestedMarkets` | string | 否 | 在响应中包含嵌套市场 \(true/false\) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `event` | object | 包含详细信息的事件对象 |
### `kalshi_get_balance`
从 Kalshi 检索您的账户余额和投资组合价值
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | 是 | 您的 Kalshi API 密钥 ID |
| `privateKey` | string | 是 | 您的 RSA 私钥 \(PEM 格式\) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `balance` | number | 账户余额(以分为单位) |
| `portfolioValue` | number | 投资组合价值(以分为单位) |
### `kalshi_get_positions`
从 Kalshi 检索您的未平仓头寸
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | 是 | 您的 Kalshi API 密钥 ID |
| `privateKey` | string | 是 | 您的 RSA 私钥 \(PEM 格式\) |
| `ticker` | string | 否 | 按市场代码筛选 |
| `eventTicker` | string | 否 | 按事件代码筛选 \(最多 10 个逗号分隔\) |
| `settlementStatus` | string | 否 | 按结算状态筛选 \(all, unsettled, settled\)。默认值unsettled |
| `limit` | string | 否 | 结果数量 \(1-1000默认值100\) |
| `cursor` | string | 否 | 下一页的分页游标 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `positions` | array | 持仓对象的数组 |
| `paging` | object | 用于获取更多结果的分页游标 |
### `kalshi_get_orders`
通过可选过滤从 Kalshi 检索您的订单
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | 是 | 您的 Kalshi API 密钥 ID |
| `privateKey` | string | 是 | 您的 RSA 私钥 \(PEM 格式\) |
| `ticker` | string | 否 | 按市场代码过滤 |
| `eventTicker` | string | 否 | 按事件代码过滤 \(最多 10 个逗号分隔\) |
| `status` | string | 否 | 按状态过滤 \(resting, canceled, executed\) |
| `limit` | string | 否 | 结果数量 \(1-200默认值100\) |
| `cursor` | string | 否 | 下一页的分页游标 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `orders` | array | 订单对象的数组 |
| `paging` | object | 用于获取更多结果的分页游标 |
### `kalshi_get_order`
通过 ID 从 Kalshi 检索特定订单的详细信息
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | 是 | 您的 Kalshi API 密钥 ID |
| `privateKey` | string | 是 | 您的 RSA 私钥 \(PEM 格式\) |
| `orderId` | string | 是 | 要检索的订单 ID |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `order` | object | 包含详细信息的订单对象 |
### `kalshi_get_orderbook`
检索特定市场的订单簿(买入和卖出报价)
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `ticker` | string | 是 | 市场代码 \(例如KXBTC-24DEC31\) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `orderbook` | object | 包含买入/卖出报价的订单簿 |
### `kalshi_get_trades`
检索所有市场的最近交易
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `limit` | string | 否 | 结果数量 \(1-1000默认值100\) |
| `cursor` | string | 否 | 下一页的分页游标 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `trades` | array | 交易对象的数组 |
| `paging` | object | 用于获取更多结果的分页游标 |
### `kalshi_get_candlesticks`
检索特定市场的 OHLC 蜡烛图数据
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `seriesTicker` | string | 是 | 系列代码 |
| `ticker` | string | 是 | 市场代码 \(例如KXBTC-24DEC31\) |
| `startTs` | number | 是 | 开始时间戳 \(Unix 秒\) |
| `endTs` | number | 是 | 结束时间戳 \(Unix 秒\) |
| `periodInterval` | number | 是 | 时间间隔1 \(1分钟\), 60 \(1小时\), 或 1440 \(1天\) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `candlesticks` | array | OHLC 蜡烛图数据的数组 |
### `kalshi_get_fills`
检索您的投资组合
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | 是 | 您的 Kalshi API 密钥 ID |
| `privateKey` | string | 是 | 您的 RSA 私钥 \(PEM 格式\) |
| `ticker` | string | 否 | 按市场代码过滤 |
| `orderId` | string | 否 | 按订单 ID 过滤 |
| `minTs` | number | 否 | 最小时间戳 \(Unix 毫秒\) |
| `maxTs` | number | 否 | 最大时间戳 \(Unix 毫秒\) |
| `limit` | string | 否 | 结果数量 \(1-1000默认值100\) |
| `cursor` | string | 否 | 下一页的分页游标 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `fills` | array | 成交/交易对象的数组 |
| `paging` | object | 用于获取更多结果的分页游标 |
### `kalshi_get_series_by_ticker`
通过代码检索特定市场系列的详细信息
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `seriesTicker` | string | 是 | 系列代码 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `series` | object | 包含详细信息的系列对象 |
### `kalshi_get_exchange_status`
检索 Kalshi 交易所的当前状态(交易和交易所活动)
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `status` | object | 包含 trading_active 和 exchange_active 标志的交易所状态 |
### `kalshi_create_order`
在 Kalshi 预测市场创建新订单
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | 是 | 您的 Kalshi API 密钥 ID |
| `privateKey` | string | 是 | 您的 RSA 私钥PEM 格式)|
| `ticker` | string | 是 | 市场代码 \(例如KXBTC-24DEC31\) |
| `side` | string | 是 | 订单方向:'yes' 或 'no' |
| `action` | string | 是 | 操作类型:'buy' 或 'sell' |
| `count` | string | 是 | 合约数量(最少 1|
| `type` | string | 否 | 订单类型:'limit' 或 'market'默认limit|
| `yesPrice` | string | 否 | Yes 价格以美分为单位1-99|
| `noPrice` | string | 否 | No 价格以美分为单位1-99|
| `yesPriceDollars` | string | 否 | Yes 价格(以美元为单位,例如:"0.56"|
| `noPriceDollars` | string | 否 | No 价格(以美元为单位,例如:"0.56"|
| `clientOrderId` | string | 否 | 自定义订单标识符 |
| `expirationTs` | string | 否 | 订单过期的 Unix 时间戳 |
| `timeInForce` | string | 否 | 有效时间:'fill_or_kill''good_till_canceled''immediate_or_cancel' |
| `buyMaxCost` | string | 否 | 最大成本(以美分为单位,自动启用 fill_or_kill|
| `postOnly` | string | 否 | 设置为 'true' 以仅限做市订单 |
| `reduceOnly` | string | 否 | 设置为 'true' 以仅限减少头寸 |
| `selfTradePreventionType` | string | 否 | 自交易预防:'taker_at_cross' 或 'maker' |
| `orderGroupId` | string | 否 | 关联的订单组 ID |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `order` | object | 创建的订单对象 |
### `kalshi_cancel_order`
取消 Kalshi 上的现有订单
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | 是 | 您的 Kalshi API 密钥 ID |
| `privateKey` | string | 是 | 您的 RSA 私钥 \(PEM 格式\) |
| `orderId` | string | 是 | 要取消的订单 ID |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `order` | object | 已取消的订单对象 |
| `reducedBy` | number | 已取消的合约数量 |
### `kalshi_amend_order`
修改 Kalshi 上现有订单的价格或数量
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | 是 | 您的 Kalshi API 密钥 ID |
| `privateKey` | string | 是 | 您的 RSA 私钥 \(PEM 格式\) |
| `orderId` | string | 是 | 要修改的订单 ID |
| `ticker` | string | 是 | 市场代码 |
| `side` | string | 是 | 订单方向:'yes' 或 'no' |
| `action` | string | 是 | 操作类型:'buy' 或 'sell' |
| `clientOrderId` | string | 是 | 原始客户指定的订单 ID |
| `updatedClientOrderId` | string | 是 | 修改后的客户指定订单 ID |
| `count` | string | 否 | 更新后的订单数量 |
| `yesPrice` | string | 否 | 更新后的 yes 价格(以分为单位 \(1-99\) |
| `noPrice` | string | 否 | 更新后的 no 价格(以分为单位 \(1-99\) |
| `yesPriceDollars` | string | 否 | 更新后的 yes 价格(以美元为单位 \(例如,"0.56"\) |
| `noPriceDollars` | string | 否 | 更新后的 no 价格(以美元为单位 \(例如,"0.56"\) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `order` | object | 修改后的订单对象 |
## 注意
- 类别:`tools`
- 类型:`kalshi`