10 月上旬,Python 策略在 Polymarket 上的回放时间系数一周里上调三次。10-11 的测量和修改记录里有两块明显开销:worker 往容器喂数据时逐行 write,以及冷解码时逐行把 chunk 交给 gzip。前者占回放时间,后者占取数时间。 系数一路往上调 回测的墙钟预算按「秒/市场日」乘市场日数算,系数按(平台, 语言)分开定。polymarket/pyt...
回测沙箱:锁定内置对象、删除 shell 和提交检查
Node harness 和用户策略在同一个 JavaScript realm 中,共享 Array.prototype、JSON、Math。gVisor 隔离宿主机资源,同进程内的引擎状态仍需要保护。10-11 给 harness 加了内置对象锁定,并从镜像删掉 shell;10-08、10-12 另补了外部数据和 Python 参数声明的提交检查。 同一个 realm 里能做什么 ...
改口径之后重建历史:标记价加权和 Polymarket Protocol V2 接入
增量 PnL 引擎把每天的结果登记成带指纹的按天事实。10-10 到 10-12,标记价规则和 V2 视图翻译发生了变化,规则版本也要进入指纹:原始账本行不变,计算结果仍可能改变。V2 接入同时增加了新的账本输入。 一个对不上的钱包 线索来自一个钱包,我们算出的 30 天盈亏与 Polymarket 的 user-pnl-api 相差很大。调查到的流动形状是:收到 YES + N...
LPSignal 的卡支付:免费试用、Managed Payments 和从 Stripe 回来按钮全灰
LPSignal 的卡支付在 09-30 凌晨提交(b4152af),10-01 修改过 Managed Payments 不接受的参数,10-02 的项目规范记下了 Stripe 已切到 live,同一天加入 Basic 七天免费试用。10-12 又出现 Managed Payments 与 API 版本不兼容的问题,线上结账返回 503;当天还修了从 Stripe 结账页返回后定价页...
盘口节流的丢帧与合并:存储量、重建误差和回测修正
Polymarket 的盘口增量 price_change 从采集第一周起就采用 keep-first 节流。到这次探针运行时,窗口按币种分档:BTC 20ms、ETH 100ms、其余 500ms。节流键是市场级,每次放行后,窗口内其余帧丢弃。 代价是盘口重建不完整。被丢掉的删除更新会让重建盘口留下旧档位。10 月 10 日到 12 日写探针并测存储量、重建误差,10-13 的笔...
归档从 T+2 提前到次日:出货编排与导出水位
10 月 9 日把每日归档从 T+2 的固定任务改成「前一天审计通过就发」。对外文案是通常次日 02:00 UTC 前,审计未通过的日子次日 13:00 前;这些是出货目标,hold、导出或镜像故障仍会延后。提前发布之后,回填不能再按日历判断哪一天可写,需要读取数据库里的导出水位。 原来的做法 原来的流程是几条独立的定时任务:每天凌晨导出两天前的数据,打包发布到 GitHub R...
从全量重算到增量 PnL:按天事实、晚到的映射和被限流的 CPU
到九月底,每轮榜单都用 compute-pnl 重读 [coverageStart, b1] 的流水,30 天一轮约 1.75 小时。几个大步骤占 11–14 GiB,ClickHouse 上限是 23.28 GiB。09-28 先将账本保留范围设为 60 天,09-29 实现增量引擎并开始影子运行,10-02 切换到生产,10-05 又因为主机 CPU 限流调整调度。 公式为什么能拆...
LPSignal 的机会信号从 finalized 归档挪到链头
LPSignal 第一版的机会信号全部从 finalized 归档算。docs/design-head-signals.md 记录了 10-01 的延迟测量:以太坊和它的 L2 的 finalized 区块落后链头 13 到 21 分钟,呈锯齿状;归档再按 50 个块一段写入,一个小时结束后约 20 到 35 分钟才能发信号。BSC 和 Polygon 几秒就 finalize,只晚 1...
LPSignal:给集中流动性池算扣除无常损失的 APR
09-29 深夜我建了 LPSignal 的仓库,09-30 凌晨提交了后端的第一个版本(da3592f,提交说明记了 103 个单元/集成测试),随后提交卡支付,当天下午提交网页和稳定币付款;10-02 的项目规范记下了 Stripe 已切到 live。项目当时支持 Ethereum、BSC、Base、Arbitrum、Optimism、Polygon,对白名单代币的集中流动性池按「手...
pmwallets 的成交推送:延迟锚点、LISTEN/NOTIFY 和一条钉住 xmin 的等锁语句
pmwallets 的付费功能之一是订阅钱包的成交推送:被订阅的钱包在链上成交,我们通过 WebSocket 或 webhook 推给订阅者。网站上有一个公开的延迟看板,头条数字是「收到区块头 → 推送」。从 09-19 看板第一次显示数字,到 10-01 做完 Postgres 重启演练,这条链路改了好几轮,这里按时间记下来。 看板上的 −574 秒 看板上线初期出现过 p50...