市场数据Feed技能Skill feeds

此技能提供从多个预测市场平台(如Polymarket、Kalshi等)获取实时和历史市场数据的API接口,支持量化交易、算法交易和数据分析,关键词包括市场数据、实时数据、预测市场、量化金融、API、WebSocket、REST。

算法交易 0 次安装 0 次浏览 更新于 3/9/2026

名称: 数据流 description: “来自8个预测市场平台的实时市场数据流” emoji: “📡”

市场数据流 - 完整API参考

从Polymarket、Kalshi、Manifold、Metaculus、PredictIt、Drift、Betfair和Smarkets获取实时和历史市场数据。

支持的平台

平台 数据流类型 交易 数据
Polymarket WebSocket + RTDS 价格、订单簿、交易
Kalshi WebSocket 价格、订单簿
Betfair WebSocket 赔率、交易量
Smarkets WebSocket 赔率、交易量
Drift REST 价格、资金
Manifold WebSocket 只读 价格、评论
Metaculus REST 只读 预测
PredictIt REST 只读 价格

聊天命令

搜索市场

/feed search "trump"                        # 在所有平台搜索
/feed search "election" --platform poly     # 在特定平台搜索
/feed search "fed rate" --limit 20          # 限制结果数量

获取价格

/feed price poly <市场-id>                # 获取当前价格
/feed price kalshi TRUMP-WIN                # Kalshi市场
/feed prices "trump"                        # 所有匹配市场的价格

订单簿

/feed orderbook poly <市场-id>            # 获取订单簿
/feed orderbook poly <市场-id> --depth 10 # 限制深度

订阅 (实时)

/feed subscribe poly <市场-id>            # 订阅价格更新
/feed unsubscribe poly <市场-id>          # 取消订阅
/feed subscriptions                         # 列出活跃订阅

新闻

/feed news "trump"                          # 获取主题新闻
/feed news <市场-id>                      # 特定市场新闻
/feed news --recent 10                      # 最近10条新闻

边缘分析

/feed edge poly <市场-id>                 # 分析边缘 vs 模型
/feed kelly poly <市场-id> --prob 0.55    # 计算凯利分数

TypeScript API参考

创建数据流管理器

import { createFeedManager } from 'clodds/feeds';

const feeds = createFeedManager({
  platforms: ['polymarket', 'kalshi', 'manifold', 'betfair'],

  // 启用实时
  enableRealtime: true,

  // 平台凭证(只读时可选)
  polymarket: { apiKey },
  kalshi: { apiKey },
  betfair: { appKey, sessionToken },
});

搜索市场

// 在所有平台搜索
const results = await feeds.searchMarkets('trump election', {
  platforms: ['polymarket', 'kalshi'],
  limit: 20,
  sortBy: 'volume',
});

for (const market of results) {
  console.log(`[${market.platform}] ${market.question}`);
  console.log(`  价格: ${market.price}`);
  console.log(`  交易量: $${market.volume.toLocaleString()}`);
}

获取单个市场

// 获取特定市场
const market = await feeds.getMarket('polymarket', 'market-123');

console.log(`问题: ${market.question}`);
console.log(`是: ${market.yesPrice} / 否: ${market.noPrice}`);
console.log(`交易量: $${market.volume.toLocaleString()}`);
console.log(`结束日期: ${market.endDate}`);

获取价格

// 获取当前价格
const price = await feeds.getPrice('polymarket', 'market-123');

console.log(`是: ${price.yes}`);
console.log(`否: ${price.no}`);
console.log(`价差: ${price.spread}`);
console.log(`更新时间: ${price.timestamp}`);

获取订单簿

// 获取订单簿
const orderbook = await feeds.getOrderbook('polymarket', 'market-123', {
  depth: 10,
});

console.log('买盘(是):');
for (const bid of orderbook.bids) {
  console.log(`  ${bid.price}: $${bid.size}`);
}

console.log('卖盘(是):');
for (const ask of orderbook.asks) {
  console.log(`  ${ask.price}: $${bid.size}`);
}

订阅实时更新

// 订阅价格更新
const subscription = await feeds.subscribePrice('polymarket', 'market-123');

subscription.on('price', (update) => {
  console.log(`价格更新: 是=${update.yes}, 否=${update.no}`);
});

subscription.on('trade', (trade) => {
  console.log(`交易: ${trade.side} ${trade.size} @ ${trade.price}`);
});

// 取消订阅
await subscription.unsubscribe();

新闻

// 获取最近新闻
const news = await feeds.getRecentNews('trump', { limit: 10 });

for (const article of news) {
  console.log(`[${article.source}] ${article.title}`);
  console.log(`  ${article.summary}`);
  console.log(`  ${article.url}`);
}

// 搜索新闻
const searchResults = await feeds.searchNews('federal reserve', {
  from: '2024-01-01',
  sources: ['reuters', 'bloomberg'],
});

边缘分析

// 分析边缘 vs 外部模型
const edge = await feeds.analyzeEdge('polymarket', 'market-123');

console.log(`市场价格: ${edge.marketPrice}`);
console.log(`模型估计:`);
for (const model of edge.models) {
  console.log(`  ${model.name}: ${model.estimate}`);
  console.log(`    边缘: ${model.edge > 0 ? '+' : ''}${model.edge.toFixed(1)}%`);
}
console.log(`共识边缘: ${edge.consensusEdge.toFixed(1)}%`);

凯利准则

// 计算最优仓位大小
const kelly = await feeds.calculateKelly({
  platform: 'polymarket',
  marketId: 'market-123',
  estimatedProbability: 0.55,  // 您的估计
  bankroll: 10000,             // 您的资金
  kellyFraction: 0.5,          // 半凯利以确保安全
});

console.log(`市场价格: ${kelly.marketPrice}`);
console.log(`您的估计: ${kelly.estimatedProb}`);
console.log(`边缘: ${kelly.edge.toFixed(1)}%`);
console.log(`全凯利: ${kelly.fullKelly.toFixed(1)}%`);
console.log(`推荐大小: $${kelly.recommendedSize}`);

平台特定功能

Polymarket RTDS (实时数据服务)

// 连接到RTDS以获取超低延迟更新
const rtds = await feeds.connectRTDS('polymarket');

rtds.on('tick', (tick) => {
  console.log(`${tick.market}: ${tick.price} (${tick.side})`);
});

rtds.subscribe(['market-123', 'market-456']);

Betfair赔率

// 获取Betfair赔率
const odds = await feeds.getBetfairOdds('event-123');

for (const runner of odds.runners) {
  console.log(`${runner.name}: ${runner.backOdds} / ${runner.layOdds}`);
}

Metaculus预测

// 获取Metaculus社区预测
const forecast = await feeds.getMetaculusForecast('question-123');

console.log(`社区中位数: ${forecast.median}`);
console.log(`25th百分位数: ${forecast.q25}`);
console.log(`75th百分位数: ${forecast.q75}`);
console.log(`预测者数量: ${forecast.forecasterCount}`);

数据刷新率

平台 REST WebSocket
Polymarket 5秒 实时
Kalshi 10秒 实时
Betfair 1秒 实时
Manifold 30秒 实时
Metaculus 60秒 不适用
PredictIt 30秒 不适用

最佳实践

  1. 使用WebSocket 用于实时交易决策
  2. 缓存响应 用于非时间敏感查询
  3. 遵守速率限制 - 尽可能批量请求
  4. 选择性地订阅 - 只订阅您需要的市场
  5. 处理重连 - WebSocket连接可能断开