在 Polymarket 上,输掉的那条腿到期归零,在活动流里不留任何记录。 把活动流加总来算盈亏,会系统性地把自己算得比实际赚。 我们拆一个做市钱包时第一版就是这么错的:算出 +$187,重算后是 +$23。
我们拆过一个在加密上下盘做市的钱包,30 小时、23,467 股(只取已结算的盘)。 第一遍按最自然的方式算:把活动流里所有的买入、卖出、赎回加总。得到 +$187。
重算之后是 +$23.23。
差额不是手滑,是数据源本身有个天然的缺口——而且这个缺口只朝一个方向偏: 永远让你显得更赚。
做市方常见的姿势是两边都挂:同一个盘的 Yes 和 No 都放单。 成交之后手上就有两种腿,结局分两类:
| 情形 | 发生了什么 | 活动流里留下 |
|---|---|---|
| 配上对(一份 Yes + 一份 No) | 可以合并(merge)换回 USDC | ✅ 一条 MERGE |
| 没配上、结果赢了 | 结算后赎回,每股拿 $1 | ✅ 一条 REDEEM |
| 没配上、结果输了 | 到期直接归零 | ❌ 什么都没有 |
第三行是全部问题的来源。归零不是一笔交易——没有对手方、没有转账、没有链上事件, 所以活动流里不会出现任何东西。它就是安静地不见了。
已结算的盘里一共有 825 股没配上对。其中 236 股是赢的, 留下了 REDEEM 记录(赎回 $235.69);剩下 589 股输掉了, 在活动流里一条记录都没有。
而买这 825 股是花过钱的——成本 $347.20。只加总活动流, 等于把这笔成本里对应输掉那部分的支出算进去了,却没有任何一条记录告诉你它变成了零。
正确的做法是按腿分类,分别结账,而不是把活动流拉平加总:
| 项 | 每股 | 金额 | 说明 |
|---|---|---|---|
| 配对腿(merge) | +0.326¢ | +$76.61 | 11,321 对,成本 $11,244 |
| 未配对腿 | −0.475¢ | −$111.51 | 赎回 $235.69 − 成本 $347.20 |
| 交易净额 | −0.149¢ | — | 纯交易是亏的 |
| 做市返还 | +0.248¢ | +$58.14 | 公式验证值 |
| 净利 | +0.099¢ | +$23.23 | 30 小时 |
这张表有个自洽检查可以顺手做一下:11,321 对 × 2 + 825 股裸腿 = 23,467 股,
与总股数分毫不差;$235.69 ÷ 236 股 = $0.9987,与「赢家每股赔 $1」也对得上。
两条都闭合,说明分类没有漏项——做这类拆解时先跑一遍闭合检查,比事后 debug 省事得多。
三件事值得单独指出来:
第一,每股数字的分母是全部 23,467 股,不是各自那一类的股数。 这样四行才能直接相加,别混。
第二,这个钱包的纯交易是亏的(−0.149¢/股)。它之所以整体为正, 完全靠做市返还那 +0.248¢/股 —— 也就是说 补贴不是锦上添花,是唯一的利润来源。
第三,+$23.23 是 30 小时的结果。把窗口末尾还没结算的持仓也算进去, 稳态大概是每天 $20–30。这是个真实但很小的数字——重点不在它多少, 而在于如果按活动流算,你会以为它是八倍。
/profit 不含补贴收入
补贴(做市返还、阶梯返利、流动性奖励、邀请返利)都是转账,不是交易盈亏,
所以排行榜接口的 /profit 字段里一分都没有。
这个坑和「隐形亏损」方向正好相反:一个让你高估自己,一个让你低估别人。
两个叠在一起,最容易得出的错误结论就是「我比榜上那些人强」。要算真实净收益,
必须 交易盈亏 + 累计发放额 两条分开查再相加。
拉某个钱包的历史时,接口最多给 5,500 条。对高频钱包来说,这可能只覆盖几个小时—— 而你以为拿到的是全部历史。
所以任何「每天赚多少」的推算,都必须先确认样本真实覆盖了多长时间, 再拿总额去除。我们这次拿到的是 30 小时,所以所有结论都只敢说 30 小时。
取一段时间的数据,开头会有「买在窗口前、结算在窗口内」的腿,结尾会有「买在窗口内、 还没结算」的腿。两头都会污染口径。
这次的处理是把边界腿量化出来(229 股,约占 1%)并从干净口径里剔除, 窗口末尾未结算的部分单独列出(97 对 + 35 股裸腿),不混进主表。
把配对成本摊开看,会发现一件反直觉的事:62 个盘里有 25 个,配对均价之和大于 1.00 (最高到 1.250)。
一份 Yes 加一份 No 合并回来只值 $1。均价和大于 1,意味着这一对在合并时就是亏的—— 它是明知会亏还去成交的。
为什么?因为做市返还只在被成交时产生。它接受在一部分盘上做亏本的配对, 换来的是成交量,而成交量就是返还。这是理解整个打法的钥匙:
它买的不是价差,是成交流。
照抄这类钱包的人常常只抄了挂单结构,却没意识到对方在某些盘上是故意亏的。 只抄形不抄意,结果就是把亏损照抄了,把补贴漏掉了。
Polymarket 的活动流是一份只记录了好消息的账本。 赢的腿有 REDEEM,配上的有 MERGE,输掉的什么都没有。 任何基于活动流的盈亏计算,如果没有单独处理归零的腿, 结论都会朝同一个方向偏——偏向你更赚。
0xd535415f529f41db9232d96bdd71a9c9f4e59fae
链上公开地址,你可以自己拉它的成交流重算一遍。
(本站只给地址、不对地址背后的身份做任何归因。)11321×2 + 825 = 23467 ✓ 235.69/236 = 0.9987 ✓
+76.61 − 111.51 + 58.14 = +23.24 ✓