PMWallets 是怎么给 Polymarket 钱包算账的
多数钱包榜单只是别人 API 的一张截图。这一个每次运行都从 Polygon 账本重新算出来,而且是照着「能被你核对」这个目标做的。
多数钱包榜单的问题
把 Polymarket 的地址按盈利排个序,谁都会。各家排出来的结果互相对不上,原因很少是算错了,而是下面这三件事通常没人交代:
- 算的是哪段时间。一个不说窗口的数字,会悄悄把某人最好的那个月混进这一周。
- 历史会不会被重算。如果昨天的数字今天可能变,你就没法拿它做决定。
- 哪些地址其实是同一个人。在 Polymarket 上,一个交易者通常至少有两个地址。
这三件事我们都在页面上直接回答 —— 而这些答案本身就是产品。
只前向累计
发布过的数字不会再动。每次运行只算一个固定的区块窗口并作为一次 run 写下来,之后的运行是追加新窗口, 不是改写旧的。周二看着不错的钱包,到周五那份周二的数字还在、还是那句话。战绩之所以是战绩而不是 「事后算出来的移动平均」,靠的就是这一点。
这同时意味着我们没法在改进方法之后偷偷把过去也一起改好看:口径变了就开一次新的 run,不会去重刷旧的。
从链上算,不是从 API 抄
每一个数字都来自我们自己抓的 Polygon 日志:交易所合约的成交,加上决定一个仓位究竟值多少钱的 split、merge、赎回和结算。窗口内已结算的市场按结算价计,没结算的按窗口端点计。
手续费用的是合约实际收取的现金费,不是公布的费率表。市场还没结算的部分,浮动估值单独列出, 绝不混进已实现 PnL —— 浮动说到底是对价格的一个猜测,而战绩里不该坐着一个猜测。
算实体,不算地址
Polymarket 的交易者一般用一个地址签名、通过代理合约持仓。按地址排,同一个人会出现两次、各讲一半故事, 而真正持着仓的那个看起来像是只进不出的钱包。我们把确实作为一个整体在交易的地址聚成一个实体,按实体算账。
聚类依据是链上关系;我们打的标签描述的是账本显示了什么,不是我们认为你该拿它干什么。
实时成交
订阅一个实体,它的成交会走 WebSocket 推给你,通常在出块后一秒内。延迟页把实测分布(从出块到推送的 p50 与 p95)直接发布出来 —— 一个你没法核对的速度承诺,那叫广告。
这不是什么
这是数据,不是建议。一个钱包在某个窗口赚了钱,可能只是运气好,可能它掌握着你没有的信息, 也可能马上就不行了。我们给胜率标置信区间正是为了这个:20 个市场里的 70% 和 500 个市场里的 70% 不是同一个论断,而把两者都印成「70%」的榜单,是在藏起其中的差别。