Polymarket Bot 教程 · 第 14 章,共 32 章
Polymarket 上的新闻套利:如何通过头条、来源订阅源(RSS/Twitter/AP)、延迟预算、误报过滤,以及当新闻优势被市场价格消化后,该如何应对。
本章涵盖内容
新闻套利是在市场重定价之前,利用公共信息更快交易的策略。这个优势真实存在,但窗口很窄-大多数“新闻”在人工读完之前就已经反映到价格里了。本章将介绍哪些来源真正能跑赢市场、决定策略成败的延迟预算,以及如果没有误报过滤,bot 如何会对每一条转发都进行交易。
- 信息优势是什么样子
- 新闻来源:RSS、Twitter、AP、官方 feeds
- 延迟预算:从阅读到交易控制在 2 秒以内
- 误报过滤器
- 新闻优势何时消失
- 代码:轮询新闻 feed 并在相关市场上挂 FOK
- 风险:半真半假的消息和被撤回的头条
信息优势是什么样子
新闻套利指的是在市场重定价之前,更快地基于公共信息进行交易。这个优势只存在于一个很窄的窗口-通常是 30-300 秒-介于事实公开和 Polymarket 反映该事实之间。
要让这种优势真实成立,必须满足三件事。第一,新闻来源必须比 Polymarket 的中位交易者更快(Twitter 比主流媒体快;AP wire 比 Twitter 更快)。第二,新闻必须明确无歧义(例如伤病公告、法院裁决)-任何解释都会吞噬延迟优势。第三,市场深度必须足够,价格变动值得支付点差成本。
追逐这种优势的 bots 通常分为两类:一类直接订阅来源并解析内容,另一类观察 Polymarket 上异常的价格波动并反推发生了新闻。两者都可行;前者领先,后者跟随。
新闻来源:RSS、Twitter、AP、官方 feeds
按“到达公共信息状态”的延迟排序,越快越靠前。
- 直接的一手来源:法院文件、政府新闻稿、央行公告。通常有公开 RSS 或 API。最快,误报率最低。
- AP wire / Reuters Eikon(付费)。传统交易员使用的新闻线。相比普通 Twitter 用户,通常领先约 5-30 秒。
- Twitter(X,付费 API)。重点关注已验证账号列表:官方组织账号、跑线记者。免费 API 限流太严;要么购买 Pro 级别,要么使用中继服务。
- 专业 newsletter / Discord:付费 Substack、带 embargo 的行业 feeds。对 niche 市场(crypto、esports)很有用。
- 主流媒体网站:对于新闻套利优势来说太慢了。
凡是支持 RSS 的都用 RSS-免费,而且轮询间隔稳定。其余用 Twitter。要做生产级别的新闻桌面,AP 是更合适的选择。
延迟预算:从阅读到交易控制在 2 秒以内
bot 需要在总计 1-2 秒内完成 ingest、分类、决策和下单。预算如下:
- Ingest:50-300ms(websocket feed、RSS 轮询、Twitter stream)。
- Classify:50-200ms(regex / 关键词匹配,如有缓存 prompt,也可使用 LLM)。
- Decide:50ms(规则表查询;从新闻 tag 映射到 market slug)。
- Place:200-500ms(发送到 CLOB 的 FOK 签名订单)。
最消耗预算的单项是 LLM 分类。一次 500 token 的 GPT-4 调用会增加 1-3 秒;整个套利窗口就没了。用于生产时,应使用关键词规则进行分类;LLM 仅用于离线校准关键词集合。
误报过滤器
不做误报过滤的新闻套利 bot 会对每一次转发都交易,并通过点差成本持续流血。以下是三个过滤器。
- 来源白名单:只对预先批准列表中的账号/feeds 采取行动。该列表应尽量小(10-30 个来源)。
- 关键词 + 确认配对:单一关键词命中通常是噪音;30 秒内来自两个独立来源的命中才是信号。
- 市场状态守卫:如果某个市场在过去 60 秒内已经移动了 > 5%,就跳过-别人已经先一步捕捉到了新闻,优势已经消失。
调得好的过滤器误报率大约是 1/5 到 1/10。90% 的误报率会摧毁策略;50% 的误报率如果仓位足够小,仍然可用。
新闻优势何时消失
从“新闻公开”到“价格反映新闻”的窗口,每年都在变短。2020 年,中等价位的政治市场需要几分钟才能消化一条头条。到了 2026 年,同样的头条会在 30-90 秒内压缩完毕,然后价格才会完全移动。
优势已消失的迹象包括:被标记交易的单笔 PnL 在 30 笔样本窗口内从 +3c 下降到持平;最终被证明已被计价的误报比例上升到 70% 以上;或者市场在 200ms 内就打到你的 FOK ask,因为别人先到了。
当优势消失时,诚实的转向是:转到更慢、解释性更强的新闻(法院裁决、央行会议纪要),因为理解其含义所花的时间比延迟竞赛更长。或者干脆停止运行该策略。
代码:轮询新闻 feed 并在相关市场上挂 FOK
生产骨架:轮询一个新闻来源,运行规则匹配,命中后发出 FOK 订单。
import feedparser, time, re
from py_clob_client.client import ClobClient
RULES = [
{"regex": re.compile(r"out for season|torn ACL", re.I), "tag":"injury-fade"},
{"regex": re.compile(r"federal reserve.*(rate cut|rate hike)", re.I), "tag":"fed-move"},
]
seen = set()
while True:
feed = feedparser.parse("https://example.com/news.rss")
for entry in feed.entries[:20]:
if entry.id in seen: continue
seen.add(entry.id)
for rule in RULES:
if rule["regex"].search(entry.title + " " + entry.summary):
# Look up relevant Polymarket markets, place FOK
fire(rule["tag"], entry)
break
time.sleep(15)
轮询间隔:RSS 为 5-15 秒。可用时使用 WebSocket(Twitter、AP wire)。始终用来源提供的 ID 去重;绝不要假设轮询是 exactly-once。
风险:半真半假的消息和被撤回的头条
新闻套利 bot 最糟糕的一天,是头条后来被证明是错的。例子:一条 Reuters 推文写着“Trump fires Yellen”,市场跳涨 8 美分,12 分钟后该推文被删除并更正。一个在 +8c 买入的 bot 现在持有的仓位变成了 -3c,而且没有补救办法。
防御措施:
- 双来源确认:绝不要只基于单条推文交易;要求在 60-180 秒内有第二个独立来源给出佐证信号。
- 仓位大小按来源置信度缩放:AP wire = 全仓位;来自已验证跑线记者的 Twitter = 50%;传闻来源 = 25%。
- 在撤回信号出现时自动退出:如果你使用的某个来源在 30 分钟内发布更正,无论 PnL 如何,都按市价退出。
被撤回的问题是新闻套利仓位大小的硬上限。每个信号交易 $50 可以让你在 30% 的误报率下活下来;交易 $500 则不行。





