发布于 2026年7月13日
直接回答
Polymarket 新闻机器人应把交易场所 API 与 TweetStream 的 X 提醒(服务端检测中位数 167ms)及支持的 Truth Social 帖子结合起来,并在执行前落实明确的映射、分类、去重和风险边界。
分离市场数据与信息到达
Polymarket 的订单簿反映市场当前的判断,而来源账号流告诉你什么信息可能迫使这种判断改变。机器人同时需要两者:用交易场所数据获取价格并执行,用最早可用的社交事件建立信息优势。
- Polymarket API:市场、赔率、流动性、仓位和订单
- TweetStream:指定 X 账号和支持的 Truth Social 帖子
- 策略服务:来源映射、分类、置信度和风控
- 执行服务:订单构建、限额、幂等和对账
把每个市场映射到决定性来源
先为每个市场建立来源映射,再编写关键词规则。如果市场依据机构公告结算,就跟踪该机构和负责官员;如果依据公司行动结算,就跟踪公司、高管和一线记者。对于政治市场,在相关时纳入支持的 Trump 与白宫 Truth Social 帖子。
- 把市场 ID、结算条件、来源账号、关键词和到期时间存储在一起
- 第一方来源的优先级高于评论账号
- 先使用作者身份和发布时间,再解释文本内容
- 市场关闭或交易逻辑改变后立即停用映射
构建实时事件管线
建立一条 TweetStream WebSocket 连接,按作者路由内容事件,并把匹配的帖子关联到实时 Polymarket 市场。第一轮判断应保持确定性:来源匹配、关键词匹配、市场仍开放、事件足够新且尚未处理。
- 使用 TweetStream v1 WebSocket 子协议认证
- 在产生任何交易副作用前持久化事件 ID
- 当影响市场的信息发布在图片中时使用 OCR 文本
- 消费富化事件,但不要无谓延迟首次内容判断
把帖子转成有边界的决策
分类器应输出一个小型决策对象,而不是自由文本观点:市场 ID、隐含方向、置信度、证据片段、事件时间和到期时间。这样风控规则可以审查,也能防止语言模型本身成为执行策略。
- 拒绝无法映射到明确结算条件的帖子
- 流动性越低或价差越大,要求越高的置信度
- 设置最大事件年龄和入场前最大赔率变动
- 把含义不明确的事件交给人工交易台,不要强行交易
衡量从信号到成交,而不是单一供应商指标
只有整条链路都被测量,快速提醒才有价值。记录来源帖时间、TweetStream 到达时间、分类完成时间、订单提交、交易所确认和成交时间。TweetStream 公布的服务端检测中位数为 167ms;请用自己的观察列表测试,因为端到端链路仍包括网络、处理和交易场所执行。
先证明策略,再投入资金
实盘前,先用历史市场快照回放捕获的事件,再让生产数据流以影子模式运行而不下单。只有来源映射、过期事件规则和损失上限在两条路径中都经受住验证的策略,才能进入实盘。
- 分别回测市场映射和分类器方向
- 影子运行实时事件,对比理论价格与可执行价格
- 从严格的仓位和单日亏损上限开始
- 把终止开关放在分类器和执行 worker 之外
实施资产:Polymarket 来源路由器
在分类、市场数据检查和执行风控前,可以先用这个路由器。 请根据你的市场映射、来源列表和风控规则进行调整。
const sourceRules = [
{
handles: ["whitehouse", "potus"],
strategy: "policy-markets",
terms: ["tariff", "executive order", "signed"],
},
{
handles: ["secgov"],
strategy: "crypto-regulation-markets",
terms: ["approved", "denied", "settlement"],
},
];
export function routePolymarketSourceEvent(event: {
id: string;
ts: number;
d?: { author?: { handle?: string }; text?: string };
}) {
const author = (event.d?.author?.handle ?? "").toLowerCase().replace(/^@/, "");
const text = (event.d?.text ?? "").toLowerCase();
const source = sourceRules.find((item) => item.handles.includes(author));
const matchedTerm = source?.terms.find((term) => text.includes(term));
return {
deliver: Boolean(source && matchedTerm),
eventId: event.id,
matchedTerm,
strategy: source?.strategy,
};
}为什么用 TweetStream 实施
这套流程可以用原始 API、轮询和自建抓取拼出来,但如果你关心速度、删除/置顶提醒、资料/关注信号、代币/OCR 富化和稳定 WebSocket 投递,TweetStream 是更好的起点。开始 3 天试用,把第一组高信号账号接入你的提醒或交易流程。
开始 3 天试用