FollowCheck English

回测方法:FollowCheck 如何回测 Polymarket 跟单

一串区块进入一条处理流程。

FollowCheck 只回答一个问题:如果你当初跟单了这位交易员,晚了几分钟,按当时真实可成交的价格买入,你能保留他多少收益?

数据

  1. Polygonv2 交易合约的 OrderFilled 事件
  2. 索引程序每笔成交,带区块号和日志序号
  3. 回测引擎逐笔重放交易员的买入和卖出
  4. 延迟模拟0、1、5、30 分钟后的真实吃单成交
  5. 收益拆解延迟成本、滑点、手续费和跟单者保留的收益
从链上数据到每个钱包页上的数字。

模拟一次跟单

对交易员在时间 t 的每一笔买入,以及每个延迟 d(0、1、5、30 分钟):

  1. 从 t + d 开始,按时间顺序向后逐笔查看同一结果代币(outcome token)上真实发生的 taker 买入,排除交易员本人的成交。延迟为 0 分钟时,从交易员成交的下一个区块开始:看到这笔成交再下单的跟单者不可能和它在同一个区块里成交。
  2. 不断累加这些成交,直到跟单订单达到你设定的金额(默认 $100)。跟单价格为所用成交的成交量加权平均价。
  3. 如果 10 分钟内无法买满,这笔跟单记为部分成交(按实际成交部分计算);如果这 10 分钟里根本没有人买入这个结果,就记为期间无人买入,按没有跟单处理:既不计入跟单者盈亏,也会拉低成交率。
  4. 卖出也按同样方式镜像处理:交易员平仓时,跟单者以相同延迟平仓。
  5. 跟单订单共享市场成交。交易员在几分钟内多次买入同一个结果时,每次买入都是一张独立的跟单,但前面的跟单用掉的成交,后面的跟单不能再用;按交易员下单的先后顺序成交。否则一连串小额买入会把同一个卖家的份额重复计算好几次。

刻意使用延迟之后真实发生的成交,是一种偏保守的做法:它假设你付出的是当时其他买家付出的价格,而不是交易员的成交价。

为什么成交率可能偏低

链上没有历史订单簿,只有真实发生过的成交。所以一笔跟单只能和延迟之后 10 分钟内、同一结果上的 taker 买入撮合;当时挂在盘口上、真实跟单者本可以买到的卖单,我们看不到。在冷门市场里,这会让很多跟单显示为部分成交或期间无人买入,即使真实下单也许能成交。因此成交率是一个下限,跟单者盈亏也只覆盖能跟上的那部分交易。如果一位交易员不到一半的买入能完整跟上,钱包页面会先说明这一点,再给出盈亏。

保守口径与含估算口径

页面上的主要数字、收益拆解和曲线在成交假设上都是保守口径:只算真实成交能证明的部分。在跟单者盈亏和成交率旁边,钱包页还会给出一个明显次要的含估算数字,回答另一个问题:没有真实成交证明的那部分,其他证据是否显示你的金额其实买得到?

每笔跟单买入都有一个成交依据:

成交依据 含义 计入哪种口径
实测 10 分钟窗口内真实的 taker 买入覆盖了这笔跟单(或其中显示的部分) 两种都计
估算(高 / 中 / 低) 没有(或只有很少)真实成交证明,但证据显示这笔金额(或其中一部分)买得到 只计入含估算
难以成交 证据显示这笔金额大概率买不到 都不计(按 0)
数据未到 这笔交易之后的数据还没索引完 都不计

每笔买入的证据都能在明细 → 这笔金额能否成交里看到:

规则(第 1 版),只针对真实成交没有买满的那部分金额:

  1. 有订单簿快照(可信度高):可成交金额 = 卖一上方 2 美分以内的挂单,最多到你的金额;价格按逐档吃单的均价。
  2. 没有快照(代理证据):交易员自己的成交额或 24 小时平均每 10 分钟买入额,只要有一项不小于未成交金额,就全部算作可成交(可信度中);不小于三分之一时只按这个金额成交(可信度低);否则记为难以成交。价格 = 分钟价 + 半个典型价差;没有分钟价时用最近一笔成交价,可信度为低。

估算部分同样支付 taker 手续费,之后和真实成交一样参与跟卖和结算。数据未到的交易两种口径都不计。

局限性。 订单簿快照从我们的采集器上线后才有,更早的交易只能用代理证据(可信度中或低)。在行情快速变化的市场里,代理证据可能高估当时真正买得到的金额:24 小时平均会掩盖短时的爆发,交易员自己的成交也可能恰好吃掉了跟单者需要的那部分挂单。请把“含估算”看作偏乐观的上限,把保守口径看作下限。

太新、暂时无法评估的交易

延迟 d 的跟单需要 t + d + 10 分钟 之前的市场数据。最新的几笔交易,这段数据可能还没有索引完。这些交易会标为数据未到(pending),并且完全不计入该延迟下的数字——成交率、跟单者盈亏,以及用来对比的交易员盈亏都不包含它们——而不是被算作未成交。待定的卖出对跟单者和交易员都先不执行,相应持仓按最新价格计价。这样的结果会标为「暂定」,新数据到达后会重新计算。

一条时间线。交易员成交并经过延迟后,按时间顺序使用之后的吃单成交,直到跟单金额凑满;其余用不到。标记显示 10 分钟上限。交易员成交延迟 d用于你跟单的吃单成交用不到10 分钟上限时间
模拟一笔跟单:延迟之后的真实吃单成交按时间顺序填满你的订单;到 10 分钟仍未凑满的,记为部分成交或未成交。

结算与未平仓持仓

已结算的市场按每份 1 或 0 兑付。仍未结算市场中的持仓,按最近一笔成交价计价,并在每个钱包页面上计为「按市价计价的未结算持仓」。

每笔金额、最高占用资金与回撤

你设定的金额(默认 100 美元)是交易员每买一次你就跟买的金额,不是总资金。一个交易员买了 3000 笔,按 100 美元跟,就是约 30 万美元流经很多仓位,其中不少是同时持有的。跟单者盈亏和收益曲线是所有这些仓位的合计,所以曲线可能跌到远低于 −100 美元,最后在模拟中仍可能为正。

“固定总资金”模式——资金还有空余才跟、用满了就跳过——目前还没有建模。

手续费

taker 手续费按 Polymarket 2026 年的费率表计算,费率随市场类别和价格变化。跟在交易员之后买入的跟单者几乎总是在吃单,因此我们对每一笔跟单都收取 taker 手续费。每笔跟单成交的手续费为 份数 × 费率 × p × (1 − p),其中 p 是成交价,费率按类别而定:加密货币 7%;体育、经济、文化、天气和其他 5%(未列出的类别也按 5%);金融、政治、提及和科技 4%;地缘政治 0%。手续费以 USDC 计,保留 5 位小数。费率取自 Polymarket 手续费文档(2026 年 10 月版本),并套用到整个索引期(包括某类别开始收费之前的成交),今后可能调整。详见手续费。

收益去哪了

每次回测都会把交易员的盈亏(按你的单笔金额等比例缩放)拆成四个部分,四者之和与之严格相等。缩放后的份额不会超过交易员实际买到的份额:交易员在 1 美分花 1 美元买的单,按他实际拿到的 100 股计算,而不是 100 美元的仓位,因为那个价格上没有更多的货。

部分 含义
延迟成本 从交易员成交到你能出手之间,价格发生的变动
滑点 为买满你的金额而连吃多笔成交产生的额外成本
手续费 跟单订单支付的 taker 手续费
跟单者盈亏 模拟中最终留给跟单者的部分

交易员盈亏 − 延迟成本 − 滑点 − 手续费 = 跟单者盈亏

收益保留率、成交率与回测评分

榜单按回测评分排名——也就是按扣除延迟影响后的模拟收益排名,从不按交易员自己的盈亏排名。排名仅描述历史模拟结果,不构成跟单任何交易员的建议。

影子跟单(实时模拟)

影子跟单页面是一个公开的实时纸面模拟。对一小批 Polymarket 钱包,交易员每成交一笔买入,我们在约 2 秒后按当时真实的 Polymarket 订单簿在纸面上模拟跟单,计入吃单手续费,持有到市场结算。不会下任何订单,也不涉及任何资金。每笔分别按 10、100、1000 美元模拟,用来观察金额变大后成交率和收益如何变化。

钱包分成几个策略组,按同样规则比较:扫尾盘(买入几乎确定的结果,价格约 0.90–0.98)、收盘价差(买入后价格常常朝有利方向走)和对照组(随机抽取的普通钱包,作为比较基准)。这些钱包是根据过往链上数据挑选出来做测试的,入选不代表推荐,某一组的模拟结果也不代表它未来的表现。

排除规则

局限性

延伸阅读:滑点、手续费、样本外检验和数据对账。

免责声明

FollowCheck 是策略测试和模拟验证工具。本站所有数字——回测、榜单、评分和影子跟单——都是基于公开链上数据和算法得出的模拟结果,不是真实交易记录。FollowCheck 不进行交易,不代任何人下单,不持有或管理资金,不做推广或邀请返佣,也不提供跟单服务。本站内容不构成投资建议,也不是跟单任何交易员或买入任何仓位的推荐。过往结果不代表未来表现。FollowCheck 独立运营,与 Polymarket 无关联。

FollowCheck 的回测基于历史链上成交模拟。过往结果不代表未来表现,不构成投资建议。