名称: 执行
描述: “在预测市场上执行交易,带滑点保护和订单管理”
表情: “⚡”
条件:
环境变量:
任一:
- POLY_API_KEY
- KALSHI_API_KEY
执行服务 - 完整API参考
在Polymarket和Kalshi上执行交易,带滑点保护、做市单和订单管理。
支持平台
| 平台 |
订单类型 |
功能 |
| Polymarket |
限价、市价、做市单 |
-0.5%做市方返利,GTC/FOK |
| Kalshi |
限价、市价 |
美国监管 |
聊天命令
下订单
/execute buy poly <市场> YES 100 @ 0.52 # Polymarket上限价买入
/execute sell kalshi <市场> NO 50 @ 0.48 # Kalshi上限价卖出
/execute market-buy poly <市场> YES 100 # 市价买入
/execute market-sell poly <市场> NO 50 # 市价卖出
做市单(返利)
/execute maker-buy poly <市场> YES 100 @ 0.52 # 仅做市买入
/execute maker-sell poly <市场> NO 50 @ 0.48 # 仅做市卖出
保护订单(滑点保护)
/execute protected-buy poly <市场> YES 100 --max-slippage 1%
/execute protected-sell poly <市场> NO 50 --max-slippage 0.5%
订单管理
/orders open # 查看未成交订单
/orders open poly # Polymarket上未成交订单
/orders cancel <订单ID> # 取消特定订单
/orders cancel-all # 取消所有未成交订单
/orders cancel-all poly # 取消Polymarket上所有订单
滑点估计
/estimate-slippage poly <市场> buy 1000 # 估计$1000买入的滑点
/estimate-slippage kalshi <市场> sell 500 # 估计$500卖出的滑点
TypeScript API参考
创建执行服务
import { createExecutionService } from 'clodds/execution';
const executor = createExecutionService({
polymarket: {
apiKey: process.env.POLY_API_KEY,
apiSecret: process.env.POLY_API_SECRET,
passphrase: process.env.POLY_API_PASSPHRASE,
privateKey: process.env.PRIVATE_KEY,
},
kalshi: {
apiKey: process.env.KALSHI_API_KEY,
privateKey: process.env.KALSHI_PRIVATE_KEY,
},
// 默认值
defaultSlippageTolerance: 0.5, // 0.5%
autoLogTrades: true,
});
限价订单
// 买入限价订单
const order = await executor.buyLimit({
platform: 'polymarket',
marketId: 'market-123',
side: 'YES',
size: 100, // $100
price: 0.52, // 52美分
timeInForce: 'GTC', // 直至取消
});
console.log(`订单已下: ${order.orderId}`);
console.log(`状态: ${order.status}`);
// 卖出限价订单
const sellOrder = await executor.sellLimit({
platform: 'polymarket',
marketId: 'market-123',
side: 'YES',
size: 100,
price: 0.55,
});
市价订单
// 市价买入 - 立即以最佳价格执行
const order = await executor.marketBuy({
platform: 'polymarket',
marketId: 'market-123',
side: 'YES',
size: 100,
});
console.log(`成交均价: ${order.avgFillPrice}`);
console.log(`成交数量: ${order.filledSize}`);
// 市价卖出
const sellOrder = await executor.marketSell({
platform: 'kalshi',
marketId: 'TRUMP-WIN',
side: 'YES',
size: 50,
});
做市单(仅做市)
// 做市买入 - 仅作为做市方执行(获得返利)
const order = await executor.makerBuy({
platform: 'polymarket',
marketId: 'market-123',
side: 'YES',
size: 100,
price: 0.52,
});
// 如果会立即作为吃单方执行,将被拒绝
if (order.status === 'rejected') {
console.log('价格太激进 - 会成为吃单方');
}
// 做市卖出
const sellOrder = await executor.makerSell({
platform: 'polymarket',
marketId: 'market-123',
side: 'NO',
size: 50,
price: 0.48,
});
保护订单(滑点保护)
// 保护买入 - 执行前检查滑点
const order = await executor.protectedBuy({
platform: 'polymarket',
marketId: 'market-123',
side: 'YES',
size: 100,
maxSlippage: 0.5, // 0.5%最大滑点
});
if (order.status === 'rejected') {
console.log(`拒绝: 滑点将为 ${order.estimatedSlippage}%`);
} else {
console.log(`执行滑点: ${order.actualSlippage}%`);
}
// 保护卖出
const sellOrder = await executor.protectedSell({
platform: 'kalshi',
marketId: 'TRUMP-WIN',
side: 'YES',
size: 50,
maxSlippage: 1,
});
订单管理
// 取消特定订单
await executor.cancelOrder('polymarket', orderId);
// 取消平台上所有订单
await executor.cancelAllOrders('polymarket');
// 取消市场中所有订单
await executor.cancelAllOrders('polymarket', { marketId: 'market-123' });
// 获取未成交订单
const openOrders = await executor.getOpenOrders('polymarket');
for (const order of openOrders) {
console.log(`${order.orderId}: ${order.side} ${order.size} @ ${order.price}`);
console.log(` 状态: ${order.status}`);
console.log(` 成交: ${order.filledSize}/${order.size}`);
}
滑点估计
// 执行前估计滑点
const estimate = await executor.estimateSlippage({
platform: 'polymarket',
marketId: 'market-123',
side: 'buy',
size: 1000,
});
console.log(`对于$1000买入:`);
console.log(` 平均成交价: ${estimate.avgFillPrice}`);
console.log(` 预期滑点: ${estimate.slippagePct}%`);
console.log(` 总成交: ${estimate.totalFilled}`);
console.log(` 消耗层级: ${estimate.levelsConsumed}`);
订单类型
| 类型 |
描述 |
最佳用途 |
| 限价 |
在特定价格或更好价格执行 |
价格敏感订单 |
| 市价 |
立即以最佳可用价格执行 |
紧急执行 |
| 做市单 |
仅做市,获得返利 |
收集返利 |
| 保护订单 |
执行前检查滑点 |
大额订单 |
时间在力
| 值 |
描述 |
| GTC |
直至取消(默认) |
| FOK |
全数成交或取消 - 全部或没有 |
| IOC |
立即成交或取消 - 能成交多少就成交多少 |
费用结构
Polymarket(2026年1月验证)
- 大多数市场: 0%做市方,0%吃单方(零费用)
- 15分钟加密货币市场: 动态吃单费用,在50/50赔率时可达~3%;做市方有资格参加返利计划
Kalshi
- 吃单方: 基于公式~1.2%平均,上限~2%
- 做市方: ~0.17%(基于公式)
最佳实践
- 尽可能使用做市单 - 在Polymarket(大多数市场)无费用
- 大额订单前检查滑点
- 对于大于$500的订单使用保护订单
- 设置适当的时间在力 - GTC用于耐心订单,FOK用于全数成交或没有
- 监控未成交订单 - 取消过时订单
- 从小开始 - 先用小规模测试