Posts
Ligengxin's Blog
Cancel

LPSignal 的 Smart LP 排行:从 NFT 事件重建仓位与刷分修复

  LPSignal 除了按池子发信号,还有一个 Smart LP 排行榜,按过去 30 天、90 天的 LP 相对持币收益排名。Pro 用户可以在 30 天榜前 20 名或者自己关注的钱包开出至少 1 万美元的仓位时收到推送。功能在 09-30 凌晨提交(41b2fed),随后修了 NFT 转让、重开仓位和评分写回的问题。10-01 又补了机器人过滤和性能优化。 分数怎么定义   一个...

把账本回填到 08-14:已知的坏形状、512MB 字符串上限和一张只写不删的副本

  pmwallets 上线时,实时链路只覆盖最近十来天,榜单的 30 天窗口填不满。09-24 开始用 QuickNode 的 rpc-scan 往回补,目标是 08-14 00:00 UTC(块 91,973,715)。到 09-27,ingest_blocks 最早一块就是 91,973,715,缺失高度为 0。这篇记回填过程中的几件事,以及同一天上线的按钱包读成交的副本表。 一天一...

盈亏被算成 0:步骤顺序、0 金额转账和过宽的 partialHistory

  pmwallets 的 PnL 管线遇到算不准的仓位,默认做法是排除:无法定价、NegRisk 转换解释不了、生命周期事件配不上对,这些 (钱包, 市场) 不进胜率和排名,按原因单独计数披露。这个做法的代价是,管线自己出 bug 时,结果看起来也只是「排除多了一点」,不会报错。09-26 这一天连续查出四处这样的问题,记在这里。 自动兑换的仓位被算成 0   那天用浏览器插件检查钱包...

discovery 静默停摆后的盘口回补和二级采集点

  9 月 21 日到 25 日这几天,采集侧连着出了几件跟盘口有关的事:一个服务静默卡死了 10 个多小时;补数据时发现两台机器的 recv_ms 不能拿来对帧;新机器上最忙的 WebSocket 连接一天被服务端踢掉几百次。最后的结果是加了一个盘口二级采集点,专门补主机断连的窗口。 停摆的十个小时   09-21 19:00:15 UTC,老主机上的 gamma-discovery ...

付费回测失败没有告警:超时分类、回放预算和重排队

  09-23 查生产回测记录时,发现付费 run 的超时失败一直没有通知。失败会自动全额退回 credits,成交有 💰 通知,失败没有。   当时核查确认,9 个真实客户 run 的回放墙钟超时被报成了喂数据失败,另外还有取数预算耗尽的情况。 超时被报成了 EPIPE   这批 run 是 worker 主动触发的墙钟 kill,但写给客户的错误是: E_RUNTIME coul...

榜单第一次发出来之前:漏掉的抵押品、回退的 ASOF join 和 ClickHouse 内存

  09-19 加了 stats worker,定时重算 PnL 并发布榜单。之后 /v1/periods 一直返回 []。发布校验要求未映射数量为零,计算又不断超内存,失败轮次还留下中间表和服务端查询。09-21 处理完这些问题,榜单第一次发布。 闸门卡在 underivableTokens   发布前有一个 preflight,其中一项是「所有出现过的 token 都能推导出所属市场...

一个人做 outcometick:预测市场数据订阅与回测的三个多月

  从 6 月初开始,我一直在业余时间做一个叫 outcometick 的小产品。它采集 Polymarket 和 Predict.fun 上加密货币涨跌(Up/Down)市场的 tick 级数据,按天归档,提供数据订阅,后来又加了在线回测。现在有了第一批付费用户,也踩了不少坑,趁还记得写下来。 为什么做这个   Polymarket 上有一类市场很适合做量化:「BTC 在接下来 5 分...

pmwallets 起步:只信链上日志的 Polymarket 实体账本

  09-16 开始做 pmwallets,以实体为单位还原 Polymarket 账本,提供榜单和订阅钱包的成交推送。最初设计还包括从首次上榜日起累计的 forward 指标。产品主要提供钱包和实体级交易数据,榜单半公开。技术栈是 TypeScript + NestJS,账本和统计放 ClickHouse,账户、计费、订阅、游标和锁放 Postgres,前端 Next.js。这篇记 09-...

一次 ECONNRESET 丢掉的成交通知,和两个进程同一秒 git pull

  这周(09-13 到 09-15)碰到两个问题:网站 API 的成交通知失败后没有重试,采集侧两个归档进程同时操作同一个 git clone。 一条消失的成交通知   09-13 凌晨 2 点(北京时间),一笔稳定币订单正常结算:权限开通了,key 签发了,买家 6 秒后就在付款页上确认收到了。但发给我的 Telegram 成交通知没有送达。   数据库里看不出问题。订单行完全正常...

Predict.fun 的结算判据和平局:一个冻结的 status 字段,和一个第三种结果

  outcometick 的回测除了 Polymarket,也支持 Predict.fun 的加密货币涨跌市场。这周(09-11 到 09-13),我连续修了两个结算问题:判断市场是否结算的条件用错了,平局也没有被当成结果。两种情况都会丢掉市场,报告里写着「outcome could not be read」,所在的市场日却照样按整天收费。 Predict 市场长什么样   回测读的是...