← 返回 Quant Digests · 站点首页

别把这份 2026 Polymarket repo 只读成预测市场工具:对 short-cycle desk,更该先测的是「favorite-side VWAP stretch × 60s momentum × hard-expiry continuation」这条 raw alpha

更新时间:2026-04-11 16:19 UTC 研究时间:2026-04-11 16:17 UTC 类型:2026 GitHub repo source audit(GitHub API metadata + `README.md` + `btc-binary-VWAP-Momentum-bot/README.md` + `PROJECT_LOGIC.md` + `CONFIG.md` + `config.json` + `main.py`)+ Polymarket Gamma API live availability probe 主题标签:raw-alpha/prediction-market/single-market/microstructure/vwap/momentum/hard-expiry/fixed-window/binary/continuation/polymarket/btc/5m/15m/repo/public-data/cost/risk/execution 证据类型:repo source + live public market metadata(repo-based)

源文件:research/quant_digests/2026-04-11_1617_polymarket-favorite-vwap-momentum-alpha.md

先回答一句:这篇东西的 base alpha 是什么?

这轮的 base alpha 不是“Polymarket 很热闹”,也不是“预测市场可以拿来当情绪滤镜”。

真正要 intake 的,是一条非常具体的 single-market raw alpha

> 在固定 5 分钟 / 15 分钟生命周期的二元市场里,赢家侧 token 如果已经站上自己近端成交均价(VWAP),而且过去 60 秒还在继续变贵,那么这更像是“临近结算的顺势延续”,不是单纯随机噪音。

翻成人话: 不是猜最终涨跌,而是看“当前领先那边,是不是还在被继续抢、而且抢得不算过贵”。

所以它不是:

它本身就是一条可以单独回放、单独下单、单独算成本的 raw alpha

---

为什么这轮值得写,而不是把它当成“又一个 prediction-market bot”

原因有 4 个:

  1. raw alpha 够清楚。
  2. 不是“favorite 就买”,而是 favorite-side 自身的成交流是否继续推着它走

  1. 它原生就是 5m / 15m
  2. 不需要把日线逻辑硬压成短周期;产品生命周期本来就是我们现在最关心的时间框架。

  1. 复现门槛低。
  2. 市场发现、盘口、trade prints 都能从公开接口拿;研究回放阶段不需要先有下单权限。

  1. 它和已写过的 prediction-market digest 不同。

也就是说,这轮补的是 binary microstructure continuation,不是再写一遍 prediction-market 套壳。

---

主要来源

1) 主来源:2026 新仓库

2) 公开市场数据路径

3) repo 内写明的公开实时数据通道

> 这轮最值钱的不是“它能自动下单”,而是:它把一条 5m/15m hard-expiry raw alpha,拆成了可逐项审计的信号层。

---

这份 repo 真正给出的,不只是 bot 外壳,而是一条很具体的入场骨架

1) 交易对象直接锁定 5m / 15m BTC hard-expiry market

config.json 明写:

这很关键,因为它不是“先有日内信号,再找地方落地”,而是直接在 原生短周期固定到期产品 上交易。

2) 它不是买任意一侧,而是先识别当前 favorite

repo 的核心定义是:

翻成人话: 不是在二元市场里做对敲,不是做均值回归,而是明确押“当前看起来更可能赢的那一边”,再看它是不是还在被继续追。

3) 入场不是“只看涨跌”,而是三层同时成立

config.json / CONFIG.md / main.py 能拼出它的最小骨架:

也就是:

  1. favorite 不要太便宜(否则说明共识还不够强);
  2. favorite 也不要太贵(否则赔率已经太差);
  3. current price 要明显高于近端成交均价;
  4. 过去 60 秒还得继续往上冲;
  5. 只在市场生命周期后段做。

这 5 条合起来,才是这条 alpha 的本体。

4) 这其实是一种“bounded payoff 里的顺势追价”

在普通 perp 市场里,追涨常常会遇到“上面还有多远”这个问题; 但在二元市场里,收益上限天然被封在 1.00

所以这里最核心的问题不是“还能涨多少”,而是: “在 payout 已封顶的前提下,这个价格是不是还没贵到不值得买,但已经出现了明显的流持续推动?”

repo 用的其实就是这套思路:

---

最值得记录的硬数字

1) 5m 默认参数已经够具体,可以直接做第一轮 replay

从公开 config.json 看到的默认值:

这不是“以后可以再加风险管理”,而是 entry / execution / hedge 已经被写成了第一版完整壳。

2) repo 自己还给了 15m 的参数映射建议

CONFIG.md 里明写:

也就是说,这份 repo 不只是“支持 5m/15m 切换”,而是已经暗示了: 15m 版更像在 market 后半段的一个很窄 admission window 里做 continuation。

3) live public-data availability 是真的,不是 README 口嗨

我直接检查了 Polymarket Gamma API 当前 live market:

这说明最关键的一点: 研究数据入口是公开可得的,最小复现实验不需要先搞私有数据库。

---

为什么我把它归类成 raw alpha,而不是 filter / overlay

因为它的入场条件本身就是闭环的:

这已经是一条完整的 主信号雏形,不是依附于别的 alpha 才能存在的门控层。

当然,它也可以反过来服务别的 raw alpha:

但那是 secondary use-case。第一性分类仍然应该是 raw alpha

---

这份 repo 最重要的价值,不是“能直接上线”,而是“能直接拿来拆”

这里要特别老实一点:

1) 文档和代码的 momentum 门槛并不完全一致

README / CONFIG.md 的语言更像:

main.py 实际写的是:

也就是要求: favorite token 相对 60 秒前,已经涨了 5% 以上。

这不是一个小差异。 因为对二元 token 来说,+5% 不是很轻的门槛,尤其当价格已经在 0.75~0.88 区间时,这会大幅减少信号数。

所以第一轮实验不能只照 README 抄,必须把:

做成三档比较。

2) exit / PnL 记账在公开代码里并不够严谨

main.py 里有一个很值得警惕的实现:

这意味着公开代码里:

对研究来说,这样做会把两件事混在一起:

  1. alpha 是否真预测了结算结果
  2. 临近收盘 token 自身 mark-to-market 有没有提前反映

所以它的策略骨架值得拿,但 PnL / exit accounting 不能直接信

3) win_rate_csv 在配置里被引用,但公开仓库树里没有直接看到该文件

config.json 引用了:

但本轮 GitHub 树检查时,没有在公开目录里直接拉到这个路径。

这不影响我们复现 alpha 本体, 但说明: repo 里某些“显示历史胜率”的配套材料,不应被当成可直接复现的既成事实。

因此本轮 4 个字段里,我把“是否可直接落地完整策略”标成了 。 不是因为它没有策略壳,而是因为: 它的公开实现仍然需要先把 exit / accounting / conditioning table 审清楚。

---

最小可复现实验怎么做

数据源

  1. Gamma API
  1. Polymarket market WebSocket
  1. resolution 结果

公开性

更新频率

最小实验口径

我建议第一轮先只做 BTC,别一上来加多币:

实验 1:忠实复刻 repo 信号,但修正结算口径

先看:

实验 2:和“favorite-only late-entry”基线做增量比较

同样只做 favorite,但分三版:

  1. 只看 favorite + price band
  2. favorite + price band + deviation
  3. favorite + price band + deviation + momentum

目的不是证明 repo 神,而是回答一个更有价值的问题: VWAP / momentum 到底有没有提供增量信息,还是只是把交易数砍少了?

实验 3:拆开 5m15m

不要合并统计。 因为两者虽然都叫 Up/Down binary,但结构并不一样:

有很大概率会出现:

实验 4:检验“过贵区”是不是主要杀手

重点分桶:

因为这类 bounded payoff 策略最常见的失败,不是方向错,而是: 方向对了,但赔率已经不值。

---

我最建议先测的 4 个假设

假设 1:deviation × momentum 比单独任何一个都更值钱

只有高于 VWAP,不代表趋势在继续; 只有 60s momentum 为正,也可能只是偶发拉价。

更可能有效的是: 价格已经站上近期成交均价,而且还在继续被买。

假设 2:0.80~0.86 可能比 repo 默认整段更甜

0.75 太低时,共识可能不够稳; 0.88 太高时,赔率经常太差。

所以真正的甜蜜区,很可能是中间更窄的一段,而不是整段 [0.75, 0.88]

假设 3:15m 的最优入场窗口可能比 repo 建议更靠后

repo 文档建议 15m 把 min_elapsed_sec 拉到 530 左右。

但真正值得测的是:

因为 hard-expiry 市场常常在最后一小段才真正把赔率压实。

假设 4:对这类策略,赔率纪律 比“是否追上车”更重要

很多人看到这类 token continuation,第一反应是怕错过。

但 binary 的数学本质决定了: 买得太贵,比晚一点买更伤。

所以这条策略最终更可能死在:

而不是死在“方向逻辑完全无效”。

---

风险与失败模式

  1. bounded payoff 的赔率天花板非常硬
  1. 最后一分钟最容易出现流动性抽干
  1. favorite flip 的速度比 indicator 刷新更快
  1. 公开 repo 的结算/PnL 写法会污染研究结论
  1. prediction-market alpha 不应直接硬搬到 perp

---

和当前 short-cycle desk 的关系

1) 最自然的主战场就是 5m / 15m

这条策略不需要“映射”成短周期,它原生就是短周期。

2) 对 1m / 3m 的意义主要在两个地方

3) 它补的是我们素材池里还不够多的一类 alpha

我们已经有不少:

hard-expiry binary 内部的 order-flow continuation 仍然不多。 这类素材值得单独占一个位置。

---

结论

这轮最该拿走的,不是“又一个 Polymarket bot”,而是这条更干净的研究命题:

> 5m / 15m hard-expiry binary 市场里,favorite-side token 若处于“不过贵的中高赔率区”,并且同步出现 站上近端 VWAP + 60s 正向 momentum,它是否会比简单的 favorite-only late-entry 更稳定地延续到结算?

这是一条:

但也要保持克制: repo 的公开实现值得拆,不值得照抄。 尤其是:

---

下一步怎么测

第一优先(建议今天就开)

做一个 BTC-only Polymarket 5m/15m replay

第二优先

把以下 3 个参数做 3×3×3 小网格:

先看哪一层真正提供了 EV,而不是只减少交易数。

第三优先

若 Polymarket 原生 alpha 成立,再去测:

也就是: 先把它当 alpha,本体成立后,再把它当 sidecar。