回测方法:FollowCheck 如何回测 Polymarket 跟单
FollowCheck 只回答一个问题:如果你当初跟单了这位交易员,晚了几分钟,按当时真实可成交的价格买入,你能保留他多少收益?
数据
- 交易数据来自 Polymarket 在 Polygon 上的 v2 交易所合约(CTF Exchange V2 和 Neg Risk CTF Exchange V2)的
OrderFilled事件,自 2026-04-28 v2 上线起开始索引。 - 市场信息(标题、类别、结束日期、结算结果)来自 Polymarket 公开的市场 API,大约每 10 分钟刷新一次。
- 网站上的每笔交易都保留了区块号和日志索引(log index),你可以通过「链上核对」在 Polygonscan 上打开原始交易。
- 超短周期的加密货币市场(例如 15 分钟涨跌市场)不纳入统计:延迟跟单在这类市场中没有意义。
- Polygonv2 交易合约的 OrderFilled 事件
- 索引程序每笔成交,带区块号和日志序号
- 回测引擎逐笔重放交易员的买入和卖出
- 延迟模拟0、1、5、30 分钟后的真实吃单成交
- 收益拆解延迟成本、滑点、手续费和跟单者保留的收益
模拟一次跟单
对交易员在时间 t 的每一笔买入,以及每个延迟 d(0、1、5、30 分钟):
- 从 t + d 开始,按时间顺序向后逐笔查看同一结果代币(outcome token)上真实发生的 taker 买入,排除交易员本人的成交。延迟为 0 分钟时,从交易员成交的下一个区块开始:看到这笔成交再下单的跟单者不可能和它在同一个区块里成交。
- 不断累加这些成交,直到跟单订单达到你设定的金额(默认 $100)。跟单价格为所用成交的成交量加权平均价。
- 如果 10 分钟内无法买满,这笔跟单记为部分成交(按实际成交部分计算);如果这 10 分钟里根本没有人买入这个结果,就记为期间无人买入,按没有跟单处理:既不计入跟单者盈亏,也会拉低成交率。
- 卖出也按同样方式镜像处理:交易员平仓时,跟单者以相同延迟平仓。
- 跟单订单共享市场成交。交易员在几分钟内多次买入同一个结果时,每次买入都是一张独立的跟单,但前面的跟单用掉的成交,后面的跟单不能再用;按交易员下单的先后顺序成交。否则一连串小额买入会把同一个卖家的份额重复计算好几次。
刻意使用延迟之后真实发生的成交,是一种偏保守的做法:它假设你付出的是当时其他买家付出的价格,而不是交易员的成交价。
为什么成交率可能偏低
链上没有历史订单簿,只有真实发生过的成交。所以一笔跟单只能和延迟之后 10 分钟内、同一结果上的 taker 买入撮合;当时挂在盘口上、真实跟单者本可以买到的卖单,我们看不到。在冷门市场里,这会让很多跟单显示为部分成交或期间无人买入,即使真实下单也许能成交。因此成交率是一个下限,跟单者盈亏也只覆盖能跟上的那部分交易。如果一位交易员不到一半的买入能完整跟上,钱包页面会先说明这一点,再给出盈亏。
保守口径与含估算口径
页面上的主要数字、收益拆解和曲线在成交假设上都是保守口径:只算真实成交能证明的部分。在跟单者盈亏和成交率旁边,钱包页还会给出一个明显次要的含估算数字,回答另一个问题:没有真实成交证明的那部分,其他证据是否显示你的金额其实买得到?
每笔跟单买入都有一个成交依据:
| 成交依据 | 含义 | 计入哪种口径 |
|---|---|---|
| 实测 | 10 分钟窗口内真实的 taker 买入覆盖了这笔跟单(或其中显示的部分) | 两种都计 |
| 估算(高 / 中 / 低) | 没有(或只有很少)真实成交证明,但证据显示这笔金额(或其中一部分)买得到 | 只计入含估算 |
| 难以成交 | 证据显示这笔金额大概率买不到 | 都不计(按 0) |
| 数据未到 | 这笔交易之后的数据还没索引完 | 都不计 |
每笔买入的证据都能在明细 → 这笔金额能否成交里看到:
- 订单簿:t + d 当时或之前 2 分钟内最近的一张盘口快照,包括买一、卖一,以及卖一上方 1、2、5、10 美分以内的卖单金额。
- 窗口内的市场买入:延迟之后 10 分钟里其他买家真实买入的金额。
- 交易员这笔自己的成交额:交易员在 t 时这笔交易的成交金额,说明当时至少有这么多钱成交。
- 平均每 10 分钟买入:这笔交易前后 24 小时内其他买家在这个结果上的买入额,折算到每 10 分钟。
- 分钟价:Polymarket 在 t + d 时这个结果的价格。
规则(第 1 版),只针对真实成交没有买满的那部分金额:
- 有订单簿快照(可信度高):可成交金额 = 卖一上方 2 美分以内的挂单,最多到你的金额;价格按逐档吃单的均价。
- 没有快照(代理证据):交易员自己的成交额或 24 小时平均每 10 分钟买入额,只要有一项不小于未成交金额,就全部算作可成交(可信度中);不小于三分之一时只按这个金额成交(可信度低);否则记为难以成交。价格 = 分钟价 + 半个典型价差;没有分钟价时用最近一笔成交价,可信度为低。
估算部分同样支付 taker 手续费,之后和真实成交一样参与跟卖和结算。数据未到的交易两种口径都不计。
局限性。 订单簿快照从我们的采集器上线后才有,更早的交易只能用代理证据(可信度中或低)。在行情快速变化的市场里,代理证据可能高估当时真正买得到的金额:24 小时平均会掩盖短时的爆发,交易员自己的成交也可能恰好吃掉了跟单者需要的那部分挂单。请把“含估算”看作偏乐观的上限,把保守口径看作下限。
太新、暂时无法评估的交易
延迟 d 的跟单需要 t + d + 10 分钟 之前的市场数据。最新的几笔交易,这段数据可能还没有索引完。这些交易会标为数据未到(pending),并且完全不计入该延迟下的数字——成交率、跟单者盈亏,以及用来对比的交易员盈亏都不包含它们——而不是被算作未成交。待定的卖出对跟单者和交易员都先不执行,相应持仓按最新价格计价。这样的结果会标为「暂定」,新数据到达后会重新计算。
结算与未平仓持仓
已结算的市场按每份 1 或 0 兑付。仍未结算市场中的持仓,按最近一笔成交价计价,并在每个钱包页面上计为「按市价计价的未结算持仓」。
每笔金额、最高占用资金与回撤
你设定的金额(默认 100 美元)是交易员每买一次你就跟买的金额,不是总资金。一个交易员买了 3000 笔,按 100 美元跟,就是约 30 万美元流经很多仓位,其中不少是同时持有的。跟单者盈亏和收益曲线是所有这些仓位的合计,所以曲线可能跌到远低于 −100 美元,最后在模拟中仍可能为正。
- 累计投入是跟单买入实际花掉的 USDC(完全成交和部分成交都算,不含手续费)。收益率 = 跟单者盈亏 ÷ 累计投入。
- 最高占用资金是同一时刻压在未平仓位上的资金的最大值:按时间顺序重放跟单,每笔买入加上花掉的金额;交易员卖出时,释放卖掉份额的成本;市场结算时,释放还持有的部分。仍未结算的市场一直占用资金。模拟中实际占用的资金峰值是这个数,而不是每笔金额。盈利不再投入,亏损也不扣减,它衡量的是压进去的钱,而不是账户市值。图表的悬停提示会显示每个时点占用的资金。
- 最大回撤是累计盈亏曲线从某个高点到之后低点的最大回落,起点按 0 计算。曲线把每笔买入的最终结果记在买入时间上,所以这是这条曲线的回撤,而不是逐日盯市账户的回撤。
“固定总资金”模式——资金还有空余才跟、用满了就跳过——目前还没有建模。
手续费
taker 手续费按 Polymarket 2026 年的费率表计算,费率随市场类别和价格变化。跟在交易员之后买入的跟单者几乎总是在吃单,因此我们对每一笔跟单都收取 taker 手续费。每笔跟单成交的手续费为 份数 × 费率 × p × (1 − p),其中 p 是成交价,费率按类别而定:加密货币 7%;体育、经济、文化、天气和其他 5%(未列出的类别也按 5%);金融、政治、提及和科技 4%;地缘政治 0%。手续费以 USDC 计,保留 5 位小数。费率取自 Polymarket 手续费文档(2026 年 10 月版本),并套用到整个索引期(包括某类别开始收费之前的成交),今后可能调整。详见手续费。
收益去哪了
每次回测都会把交易员的盈亏(按你的单笔金额等比例缩放)拆成四个部分,四者之和与之严格相等。缩放后的份额不会超过交易员实际买到的份额:交易员在 1 美分花 1 美元买的单,按他实际拿到的 100 股计算,而不是 100 美元的仓位,因为那个价格上没有更多的货。
| 部分 | 含义 |
|---|---|
| 延迟成本 | 从交易员成交到你能出手之间,价格发生的变动 |
| 滑点 | 为买满你的金额而连吃多笔成交产生的额外成本 |
| 手续费 | 跟单订单支付的 taker 手续费 |
| 跟单者盈亏 | 模拟中最终留给跟单者的部分 |
交易员盈亏 − 延迟成本 − 滑点 − 手续费 = 跟单者盈亏
收益保留率、成交率与回测评分
- 收益保留率 = 相同金额下(份额不超过交易员实际买到的,见上文),跟单者盈亏 ÷ 交易员盈亏。100% 表示跟单结果与交易员持平;低于 0% 表示模拟跟单会亏损。
- 成交率 = 在延迟后 10 分钟内能够完全买满的买入笔数占比。还在等数据的交易(数据未到)不计入。“含估算”的成交率还会计入实测加估算能买满的买入。
- 回测评分(0–100) 综合了 5 分钟延迟下的收益保留率、成交率和样本量(买入笔数和市场数量,样本少时打折扣)。各项权重正在用样本外结果进行校准:待定(TBD)。当前的方法版本显示在数据状态页上。
榜单按回测评分排名——也就是按扣除延迟影响后的模拟收益排名,从不按交易员自己的盈亏排名。排名仅描述历史模拟结果,不构成跟单任何交易员的建议。
影子跟单(实时模拟)
影子跟单页面是一个公开的实时纸面模拟。对一小批 Polymarket 钱包,交易员每成交一笔买入,我们在约 2 秒后按当时真实的 Polymarket 订单簿在纸面上模拟跟单,计入吃单手续费,持有到市场结算。不会下任何订单,也不涉及任何资金。每笔分别按 10、100、1000 美元模拟,用来观察金额变大后成交率和收益如何变化。
钱包分成几个策略组,按同样规则比较:扫尾盘(买入几乎确定的结果,价格约 0.90–0.98)、收盘价差(买入后价格常常朝有利方向走)和对照组(随机抽取的普通钱包,作为比较基准)。这些钱包是根据过往链上数据挑选出来做测试的,入选不代表推荐,某一组的模拟结果也不代表它未来的表现。
排除规则
- 统计区间内买入超过 5,000 笔的钱包会被标记为过于频繁:这类钱包几乎都是自动化的高频策略,有延迟的跟单者无法跟上。我们不对它们做回测。
- 只有在钱包至少有 30 笔买入、覆盖至少 5 个市场,且最近 60 天内有过交易时,钱包页面才会被搜索引擎收录。其他钱包页面仍可正常使用,只是带有
noindex。
局限性
- 回测不是预测。过往结果不代表未来表现。
- 我们没有模拟你自己的订单对后续价格的冲击,也没有模拟本可能以更优价格成交的限价单。
- 流动性薄的市场里,价格几分钟内就可能大幅波动;这些市场中的许多跟单只能部分成交或无法成交,我们会如实展示,而不是假设一定能成交。含估算口径用订单簿和成交量证据放宽了这一点,但它只是估算,从不作为主要数字。
免责声明
FollowCheck 是策略测试和模拟验证工具。本站所有数字——回测、榜单、评分和影子跟单——都是基于公开链上数据和算法得出的模拟结果,不是真实交易记录。FollowCheck 不进行交易,不代任何人下单,不持有或管理资金,不做推广或邀请返佣,也不提供跟单服务。本站内容不构成投资建议,也不是跟单任何交易员或买入任何仓位的推荐。过往结果不代表未来表现。FollowCheck 独立运营,与 Polymarket 无关联。