Skip to main content
Polymarket 的每个结果都对应一种在 CLOB 上交易的代币。代币价格反映交易者愿意为该结果支付的金额,订单簿则显示当前挂出的买单和卖单。 以下示例假设你已经有一个市场对象,可以从中读取结果代币 ID。要查找或获取市场,请参阅 发现市场
从市场对象中读取结果代币 ID:

订单簿

获取某个结果代币当前挂出的买单和卖单。买单按价格升序排列,卖单按价格降序排列,因此最优买价和卖价分别位于对应数组的最后一项。每个响应还包含订单簿状态的 hash。将其与上一次响应的哈希比较,即可判断两次读取之间订单簿是否发生变化。

获取订单簿

PublicClientSecureClient 上调用 fetchOrderBook(),获取某个结果的订单簿。
返回的 OrderBook 描述各价格档位,以及解读这些档位所需的市场详情:

获取多个订单簿

批量读取订单簿可在一次请求中返回多个结果当前挂出的买单和卖单。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchOrderBooks(),通过一次请求获取多个订单簿。
每一项都采用上文所述的 OrderBook 结构:

最优市场价格

读取某个结果和方向的最优可成交价格。BUY 返回最低卖价,即买入时需要支付的价格;SELL 返回最高买价,即卖出时可以获得的价格。

获取价格

PublicClientSecureClient 上调用 fetchPrice(),获取某一方向的最优价格。对于 BUY,该方法返回最低卖价。
该方法以十进制字符串返回价格:

获取多个价格

批量读取价格可在一次请求中返回多组“结果与方向”组合的最优市场价格。当同一视图或计算需要多个结果时,请使用此方式。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchPrices(),通过一次请求获取多个价格。
Prices 将每个代币 ID 映射到请求的方向和价格:

中间价

中间价是最优买价与最优卖价的平均值,用作订单簿买卖双方之间的参考价格。

获取中间价

PublicClientSecureClient 上调用 fetchMidpoint(),获取中间价。
该方法以十进制字符串返回中间价:

获取多个中间价

通过一次请求获取多个结果的中间价。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchMidpoints(),获取多个中间价。
Midpoints 将每个代币 ID 映射到其中间价:

买卖价差

买卖价差是最优卖价与最优买价之间的差值。价差越窄,表示订单簿买卖双方的价格越接近。

获取买卖价差

PublicClientSecureClient 上调用 fetchSpread(),获取买卖价差。
该方法以十进制字符串返回买卖价差:

获取多个买卖价差

批量读取价差可在一次请求中返回多个结果的买卖价差。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchSpreads(),通过一次请求获取多个买卖价差。
结果将每个代币 ID 映射到其买卖价差:

最新成交价

最新成交价记录某个结果最近一次撮合成交的信息,包括成交价格和方向。

获取最新成交价

PublicClientSecureClient 上调用 fetchLastTradePrice(),获取最新成交记录。
LastTradePrice 将成交价格与订单方向组合在一起:

获取多个最新成交价

通过一次请求获取多个结果最近一次撮合成交的信息。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchLastTradePrices(),获取多条最新成交记录。
每个 LastTradePriceForToken 都标识相应结果及其成交价格和方向:

价格历史

价格历史是某个结果的一组观测价格时间序列。你可以获取相对时间窗口或绝对时间范围,但不能同时使用这两种形式。还可以控制返回观测值之间的间隔;时间范围较长时必须设置采样间隔。
PublicClientSecureClient 上调用 fetchPriceHistory(),获取历史价格。设置 interval 可指定相对时间窗口;设置 startTsendTs 可指定绝对时间范围。使用 fidelity 以分钟为单位设置采样间隔。
每个 PriceHistoryPoint 都包含时间戳及其观测价格: