套利Skill arbitrage

这是一个自动化跨平台套利检测与监控技能,用于在多个预测市场平台上实时识别和监控价格差异套利机会,支持Polymarket、Kalshi、Manifold等平台,提供API接口和聊天命令,方便用户进行量化交易、风险管理和统计套利。关键词:套利、自动化、跨平台、预测市场、量化交易、监控、检测、API、统计套利、风险控制。

统计套利 0 次安装 4 次浏览 更新于 3/10/2026

名称: 套利 描述: “自动化跨平台套利检测与监控” 表情符号: “⚖️” 门: 环境变量: 任意之一: - POLY_API_KEY - KALSHI_API_KEY

套利服务 - 完整API参考

自动化检测和监控预测市场平台上的套利机会。

支持平台

  • Polymarket
  • Kalshi
  • Manifold
  • Metaculus
  • PredictIt
  • Drift
  • Betfair
  • Smarkets

聊天命令

监控控制

/arb start                                  # 启动套利监控
/arb stop                                   # 停止监控
/arb status                                 # 检查监控状态
/arb config --interval 60                   # 设置检查间隔(秒)

手动扫描

/arb check                                  # 运行一次性扫描
/arb check "election"                       # 使用关键词扫描
/arb check --platforms poly,kalshi          # 指定平台

市场比较

/arb compare <market-a> <market-b>          # 比较两个特定市场
/arb compare poly:12345 kalshi:TRUMP        # 按平台:id

查看机会

/arb opportunities                          # 列出当前机会
/arb opportunities --min-spread 2           # 最小2%差价
/arb opportunities --format table           # 表格格式
/arb opportunities --format detailed        # 详细视图

市场链接

/arb link <market-a> <market-b>             # 手动链接市场
/arb unlink <market-a> <market-b>           # 移除链接
/arb links                                  # 查看所有链接
/arb auto-match                             # 自动检测匹配

统计

/arb stats                                  # 套利统计
/arb stats --period 7d                      # 过去7天
/arb history                                # 历史机会

TypeScript API 参考

创建套利服务

import { createArbitrageService } from 'clodds/arbitrage';

const arbService = createArbitrageService({
  platforms: ['polymarket', 'kalshi', 'manifold', 'betfair'],

  checkIntervalMs: 30000,    // 每30秒检查一次
  minSpread: 0.5,            // 最小0.5%差价
  minLiquidity: 100,         // 最小100美元

  // 平台凭据
  polymarket: { apiKey, apiSecret, passphrase },
  kalshi: { apiKey },
});

启动/停止监控

// 启动持续监控
await arbService.start();

// 事件处理程序
arbService.on('arbitrage', (opp) => {
  console.log(`⚖️ 发现套利机会!`);
  console.log(`  ${opp.marketA.platform}: ${opp.marketA.price}`);
  console.log(`  ${opp.marketB.platform}: ${opp.marketB.price}`);
  console.log(`  差价: ${opp.spread.toFixed(2)}%`);
});

arbService.on('arbitrageExpired', (opp) => {
  console.log(`套利机会过期: ${opp.id}`);
});

// 检查状态
const isRunning = arbService.isRunning();

// 停止监控
await arbService.stop();

一次性检查

// 运行单次扫描
const opportunities = await arbService.checkArbitrage({
  query: 'trump',
  platforms: ['polymarket', 'kalshi'],
  minSpread: 1,
});

for (const opp of opportunities) {
  console.log(`${opp.question}`);
  console.log(`  在 ${opp.buyPlatform} 买入 @ ${opp.buyPrice}`);
  console.log(`  在 ${opp.sellPlatform} 卖出 @ ${opp.sellPrice}`);
  console.log(`  差价: ${opp.spread.toFixed(2)}%`);
}

比较特定市场

// 比较两个特定市场
const comparison = await arbService.compareMarkets(
  { platform: 'polymarket', id: 'market-123' },
  { platform: 'kalshi', id: 'TRUMP-WIN' }
);

if (comparison.hasArbitrage) {
  console.log(`存在套利机会!`);
  console.log(`  买入 ${comparison.buySide} 在 ${comparison.buyPlatform}`);
  console.log(`  卖出 ${comparison.sellSide} 在 ${comparison.sellPlatform}`);
  console.log(`  差价: ${comparison.spread.toFixed(2)}%`);
} else {
  console.log(`无套利。价格差异: ${comparison.priceDiff.toFixed(2)}%`);
}

市场链接

// 添加手动匹配
await arbService.addMatch(
  { platform: 'polymarket', id: 'market-123', question: 'Will Trump win?' },
  { platform: 'kalshi', id: 'TRUMP-WIN', question: 'Trump wins 2024' }
);

// 移除匹配
await arbService.removeMatch('polymarket:market-123', 'kalshi:TRUMP-WIN');

// 使用问题相似度自动检测匹配
const autoMatches = await arbService.autoMatchMarkets({
  minSimilarity: 0.85,
});

console.log(`发现 ${autoMatches.length} 个自动匹配`);

获取机会

// 获取当前机会
const opportunities = await arbService.getOpportunities({
  minSpread: 1,
  sortBy: 'spread',  // 'spread' | 'liquidity' | 'confidence'
});

// 格式化显示
const formatted = await arbService.formatOpportunities(opportunities);
console.log(formatted);

统计

// 获取套利统计
const stats = await arbService.getStats({
  period: '30d',
});

console.log(`总机会数: ${stats.totalOpportunities}`);
console.log(`平均差价: ${stats.avgSpread.toFixed(2)}%`);
console.log(`最大差价: ${stats.maxSpread.toFixed(2)}%`);
console.log(`按平台对:`);
for (const [pair, count] of Object.entries(stats.byPlatformPair)) {
  console.log(`  ${pair}: ${count}`);
}

检测的套利类型

1. 跨平台价格差异

市场: "Trump wins 2024"
Polymarket YES: 52¢
Kalshi YES: 55¢

策略: 买入Polymarket YES, 卖出Kalshi YES
差价: 3¢ (5.8%)

2. 内部套利(再平衡)

市场: "Will X happen?"
YES: 45¢
NO: 52¢
总计: 97¢

策略: 同时买入YES和NO
保证利润: 每$1赚3¢

3. 反向市场

市场 A: "Trump wins" = 55¢
市场 B: "Trump loses" = 48¢
总计: 103¢ (应为100¢)

策略: 卖出两者, 获利3¢

配置

arbService.configure({
  // 扫描
  checkIntervalMs: 30000,
  batchSize: 50,

  // 过滤
  minSpread: 0.5,
  minLiquidity: 100,
  minConfidence: 0.7,

  // 匹配
  autoMatchEnabled: true,
  minMatchSimilarity: 0.85,

  // 警报
  alertOnNewArb: true,
  alertThreshold: 2,  // 差价2%+时警报
});

最佳实践

  1. 手动验证匹配 - 自动匹配可能有误报
  2. 检查流动性 - 确保可以实际执行
  3. 考虑费用 - 平台费用减少差价
  4. 快速行动 - 套利机会消失迅速
  5. 使用限价订单 - 避免滑点
  6. 跟踪所有结果 - 构建性能数据