ARTICLE 06 ADVANCED LEARNING

Polymarket TWAP 与市场结算机制:为什么最后一笔价格不再决定结果

深入解释 30 秒与 60 秒 Chainlink TWAP、Price to Beat、数据源差异、相等判定,以及从结果发生到市场正式结算的完整过程。

一句话先懂:TWAP 用一段时间内的价格平均来代表起点或终点,因此最后一秒的单笔价格只是输入之一,不再天然等于结算价格。

为什么 TWAP 值得单独学习

2026 年 8 月,Polymarket 的短周期加密 Up/Down 市场开始使用 Chainlink 计算的 30 秒或 60 秒 TWAP。对于只做手动方向判断的人,买 Up 或 Down 的按钮没有变化;但对结算理解、尾盘交易和自动化脚本来说,这是一次根本变化。

旧思路是:

结束瞬间价格 > 起点价格 → Up

当前常见思路是:

结束 TWAP ≥ 起点 Price to Beat/起点 TWAP → Up
否则 → Down

具体比较符号、数据源和窗口长度必须以每个市场 Rules 为准。

TWAP 是什么

TWAP 是 Time-Weighted Average Price,中文通常称时间加权平均价格。它试图回答:在某段时间内,价格平均处于什么水平,而不是最后一笔成交在哪里。

为了建立直觉,假设一段时间内有四个等间隔示意价格:

时点 示意价格
T1 65,000
T2 65,020
T3 64,990
T4 65,010

简单平均为 65,005,而最后一笔是 65,010。若 Price to Beat 为 65,008:

  • 只看最后一笔,会以为 Up;
  • 看示意平均,则可能是 Down。

这个例子只用于理解“平均与最后一笔不同”。Chainlink 的正式 TWAP 不应被当成四个点的简单算术平均来复刻。

30 秒和 60 秒代表什么

官方文档说明,30 秒与 60 秒指回看窗口,不是数据每隔 30 秒或 60 秒才发布。

当前常见映射为:

  • 5 分钟加密 Up/Down:30 秒 TWAP;
  • 15 分钟加密 Up/Down:60 秒 TWAP;
  • 4 小时加密 Up/Down:60 秒 TWAP。

Polymarket 的实时数据服务 RTDS 可以转发 Chainlink 计算的 TWAP 更新;直接使用 Chainlink Data Streams 也可以取得正式数据。手动交易者不需要自己写接口,但要知道页面现货数字、其他交易所价格和正式 TWAP 可能短暂不同。

为什么不要自己“算一个差不多的 TWAP”

官方开发文档明确提醒:Chainlink 当前没有公开该定制数据流的全部采样边界、权重、舍入与缺失输入处理方式。

所以你可以用本地平均值观察大致方向,却不能把它当成精确结算值。尤其在起点附近只差几美元甚至几美分时,微小计算差异就可能改变 Up/Down。

正确优先级是:

  1. 市场 Rules 指定的数据流;
  2. Polymarket 显示的 Price to Beat;
  3. 官方转发或签名的 TWAP 值;
  4. 其他交易所和自己计算的参考值。

第四项只能辅助,不能推翻第一项。

起点和终点为什么都要一致

如果起点使用瞬时价格、终点使用平均价格,比较会带入不对称误差。当前短周期市场的设计通常让起点和终点使用同类 TWAP 数据,再比较两者。

假设:

  • 起点 30 秒 TWAP:65,000;
  • 中途 BTC 一度冲到 65,300;
  • 结束 30 秒 TWAP:64,998;
  • 结束瞬间某交易所最后价:65,040。

尽管中途上涨很多、最后一笔也高于起点,按上述 TWAP 规则仍可能结算为 Down。市场只回答规则定义的问题,不奖励“这一段大部分时间方向看对”。

相等时为什么也必须读 Rules

当前 BTC 短周期页面通常写明:结束 TWAP 大于或等于起点时判 Up,否则判 Down。

这意味着完全相等时可能由 Up 获胜,而不是自动 50–50。但历史市场、其他周期或其他类别可能有不同相等处理。不要凭产品名称猜测。

TWAP 改变了尾盘交易什么

单一尖刺的影响下降

最后一秒突然拉升或下跌,只占平均窗口的一部分。要显著改变 TWAP,需要价格在整个回看窗口中持续偏向一侧,或产生足够大的偏离。

最后 30—60 秒都变重要

不是说尾盘不重要,而是权重从“某一个瞬间”扩展到一段窗口。一个在最后 20 秒持续的走势,可能比最后 1 秒的更大尖刺更有影响。

旧的快照脚本可能失效

任何只读取到期时单点价格、再与开盘单点比较的机器人,都可能判断错误。自动化系统需要直接消费对应 TWAP 数据,并检查时间戳与数据新鲜度。

市场可能更愿意提供尾盘流动性

单点价格决定结果时,做市商面临瞬时翻转风险,容易在临近到期撤单或扩大价差。平均结算降低了单一打印改变结果的风险,但不能保证尾盘一定有深度。

TWAP 没有消除哪些风险

  • BTC 在整个窗口内仍可剧烈波动;
  • 你的页面或网络仍可能延迟;
  • Chainlink TWAP 与常用交易所价格仍可能不同;
  • 订单簿仍可能瞬间撤单;
  • 持续性价格冲击仍会影响平均值;
  • 数据中断、时间戳和错误订阅仍会让机器人失效;
  • Rules 未来仍可能更新。

TWAP 提高了单点影响结果的成本,不代表市场变成无风险产品。

结果发生后,为什么还没有立刻变成 $1

“比赛结束”或“时间窗结束”只是基础事件完成,市场还要进入正式结算流程。

Polymarket 的一般结算框架包括:

  1. 按预设 Rules 和 Resolution Source 确定结果;
  2. 由提议者提交结果并提供保证金;
  3. 进入挑战期;
  4. 若无人争议,结果最终确定;
  5. 若发生争议,进入进一步裁决流程;
  6. 获胜份额可以按每份 $1 赎回,失败份额归零。

官方当前一般说明中的挑战期为 2 小时,常见提议保证金约为 $750 pUSD,但不同市场与专用解析机制可能有所不同。不要把“页面已经显示 99¢”当成正式结算完成。

Rules、Resolution Source 与 Oracle 的关系

可以把三者理解为:

层级 作用
Rules 定义问题、时间、边界和特殊情况
Resolution Source 指定去哪里读取答案
结算/Oracle 流程 把答案正式写入并允许争议

例如,一个 BTC 5 分钟市场:

  • Rules 定义起止时间、Up 的比较条件和相等处理;
  • Resolution Source 指向 BTC/USD 30 秒 TWAP 数据流;
  • 结算系统根据该来源确认最终结果并让获胜份额可赎回。

只看其中一层都不完整。

手动交易者应该怎样观察

  1. 直接从市场页面记录 Price to Beat;
  2. 确认使用 30 秒还是 60 秒 TWAP;
  3. 不用 Binance、OKX 或永续标记价替代;
  4. 最后一分钟观察一整段价格,而不是只盯最后一笔;
  5. 价格接近起点时,承认自己无法精确重建正式 TWAP;
  6. 未正式结算前,不把 99¢ 仓位当现金;
  7. 下一个时间窗重新读 Rules,不复制旧假设。

自动化交易者的额外检查

  • 使用正确交易对,如 btc/usd,不要混用 BTC/USDT;
  • 明确订阅 30 秒或 60 秒窗口;
  • 使用 TWAP 事件中的观测时间检查新鲜度;
  • 断线后重新订阅,因为实时流不保证补发历史;
  • 保存精确十进制值,避免浮点误差;
  • 为数据缺失设置停止交易逻辑;
  • 用真实 TWAP 历史重新回测,不把旧快照数据冒充新规则。

最后记住

TWAP 并没有改变 Up/Down 的表面玩法,却改变了“什么价格才算答案”。

结算看的是 Rules 指定的平均价格,不是你最熟悉交易所的最后一根针;结果看的是正式流程,不是页面提前显示的 99¢。

理解这两点,才能避免在方向判断正确时仍输给数据口径。

重要说明

进阶内容用于解释机制和风险,不构成收益承诺或交易建议。市场范围、手续费、数据源和结算规则都可能调整,请以下单当日页面与 Rules 为准。