Polymarket Bot 教程 · 第 26 章,共 32 章
Polymarket 上的选举和政治市场 bots:美国 2024 经验、2028 设置、欧盟和英国市场、特朗普相关市场、民调与市场价差、长期持仓仓位大小,以及监控多个选举市场的代码。
本章内容
政治是 Polymarket 上成交量最高的类别。策略范围从国家级选举的数月持仓,到针对单条政治新闻的 headline-arb。本章会坦诚区分:哪些方法能活下来,哪些会亏损。
- 为什么政治是 Polymarket 成交量最高的类别
- 政治 bot 的长期持有 vs 短期持有
- 民调与市场价差
- 新闻流与 headline arb
- 国际选举(欧盟、英国、印度)
- 风险:黑天鹅民调
- 代码:每日扫描政治市场
为什么政治是 Polymarket 成交量最高的类别
政治是 Polymarket 的旗舰类别。2024 年美国总统周期推动 Polymarket 总成交量从 2024 年初的累计 2 亿美元,增长到 11 月的 90 亿美元以上。到 2026 年累计已超过 630 亿美元。
原因在于:受众与加密交易者高度重叠,事件周期足够长,价格发现会经历很多轮,媒体报道又会持续驱动订单流。其他市场是在争夺注意力,政治则定义了这个平台。
bot 经济学:即使竞争激烈,政治市场的深度也足够大,1,000 美元的头寸不会显著推动价格。如果 edge 真实存在,零售 bots 也有很大空间。
政治 bot 的长期持有 vs 短期持有
政治策略有两个方向。
- 长期持有(数周到数月):基于基本面观点建立头寸,穿过新闻周期持有,到结算前退出。优势:模型准确性 + 风险承受能力。
- 短期持有(几分钟到几小时):对特定新闻事件做出反应(辩论瞬间、法院裁决、民调发布)。优势:低延迟 + 解释速度。
大多数零售 bots 会先尝试短期持有,然后失败,因为竞争太激烈。长期持有的拥挤度较低,但需要在操作上有纪律,忽略日常噪音。坦率地说:长期持有在心理上更难,但在机制上更容易。根据你自己的行为模式来选。
民调与市场价差
一种常见交易是:做空民调平均值领先于市场隐含概率的候选人,或者反过来。
例子:538 在 10 月 15 日的选举预测给 Candidate A 65%;而 Polymarket 上 A 交易在 55%。这 10c 的价差意味着市场认为 538 错了,或者市场掌握了 538 还没吸收的信息。
交易规则:如果价差持续 7 天以上,且没有任何能解释它的新闻,那么市场就是错的;以市场价格做多更有优势的一侧。对新的价差至少等一周再行动;每天都会有能缩小价差的新闻。
新闻流与 headline arb
以下几类新闻会稳定地推动政治市场,足以被 bot 交易。
- 民调下调,来自 NYT、Reuters、Bloomberg-这些主要来源在发布时通常会让市场波动 1-3c。
- 法院裁决,涉及候选人资格、上票资格、起诉。会立刻波动 3-8c。
- 辩论瞬间-失言、表现强势。会在辩论期间波动 2-5c。
- 健康事件-任何会带来真实候选人替换风险的事件。确认后会波动 10-20c。
bot 模式:订阅一个精选新闻源列表,通过关键词对事件类型分类,按预期方向下 FOK 且仓位合适的单。第 14 章讲的是通用模式;政治市场是它最有回报的应用场景。
国际选举(欧盟、英国、印度)
Polymarket 会列出不同成交量水平的国际选举。英国和欧盟选举通常各吸引 100 万到 1,000 万美元;印度大选(因用户基础大得多而受关注)可以吸引 5,000 万美元以上。拉美选举通常更薄。
edge 特征:国际市场比美国市场低效,因为交易者群体更偏美国本土。一个对特定国家有专业知识的 bot(比如德国政治分析师、印度本地人)在这些市场中会有真实 edge,而在美国政治里未必有。
如果你不是当地人,也没有特定专业知识,国际市场不适合 bot 交易-相较于美国市场的低效,并不等于更低效。领域知识占主导。
风险:黑天鹅民调
政治 bot 最灾难性的失败模式,是黑天鹅民调或事件在 24 小时内让市场波动 15-25c。重仓单边的 bot 会被彻底打爆。
例子:
- 2024 年 Biden 辩论表现 → Biden 替代的隐含概率在两周内从 8% 跳到 65%。
- 历史上的重大候选人健康事件会在数小时内让市场波动 15-30c。
- 起诉或重大丑闻可在一天内造成 10-20c 波动。
防御措施:单一政治头寸不要超过总资金的 20%;使用止损单,尽管它在预测市场里并不完美;当隐含波动率超过基线 2 倍时,暂停新开仓。
代码:每日扫描政治市场
参考:每日扫描高成交量政治市场,对显著波动发出警报。
def daily_politics_scan():
events = gamma_events(tag_id=2, limit=100, order="volume24hr")
for ev in events:
for m in ev["markets"]:
prev = load_last_snapshot(m["slug"])
curr = float(json.loads(m["outcomePrices"])[0])
if abs(curr - prev) > 0.05:
alert(f"big move on {m['slug']}: {prev:.2f} → {curr:.2f}")
save_snapshot(m["slug"], curr)
这个 alert 是人工复核的触发器(或者是给订阅你 alert feed 的下游 bots 用的触发器)。不要因为大幅波动就自动交易-政治波动通常由新闻驱动,bot 需要 alert 不具备的上下文。





