ARTICLE 13 ADVANCED LEARNING

Polymarket 定量分析:从历史数据到概率模型与回测

用基础概率、校准、Brier Score 和可执行价格建立量化研究流程,并避开过拟合、未来函数、样本偏差与成本遗漏。

一句话先懂:量化分析不是用复杂公式预测每一场结果,而是把“我为什么认为概率不同”变成可重复、可回测、能扣除真实成本的过程。

预测市场为什么适合量化

Polymarket 的核心输出就是概率价格。你可以把模型给出的概率与市场可成交价格直接比较:

模型概率:64%
市场 Ask:57¢
表面优势:7 个百分点

但“模型高于市场”只是研究起点。真正的交易判断还要处理:

  • 模型误差;
  • Rules 差异;
  • Bid / Ask 与滑点;
  • 手续费;
  • 样本是否可比;
  • 多个仓位是否相关;
  • 结果数据是否被修订。

量化的价值不是制造确定性,而是让这些问题能够被记录和检验。

量化不等于自动交易

可以分成三层:

第一层:表格化判断

用电子表格记录市场、基础概率、关键变量、模型概率、实际 Ask 和最终结果。对大多数个人交易者,这已经能显著优于纯直觉。

第二层:统计模型

用回归、Elo、贝叶斯更新、泊松分布、蒙特卡洛或其他方法,把多项变量转换成概率。

第三层:自动扫描与执行

程序持续读取市场数据,寻找模型与价格的分歧,再根据流动性和规则过滤。自动化提高速度,却也放大错误数据与错误模型。

先证明第一层有效,再扩展到后两层,通常比一开始就做机器人更稳妥。

可以使用哪些数据

Polymarket 当前提供多类公开接口:

数据层 主要用途
Gamma 数据 发现事件、市场、标签与元数据
CLOB 数据 读取 Bid、Ask、深度、成交与历史价格
Data 数据 分析账户活动、持仓、市场参与和历史记录
实时频道 跟踪订单簿、价格和市场状态更新
链上记录 核对交易与资金活动的公开记录

此外还需要外部数据:

  • 体育:比赛、球员、伤停、Elo、赛程和天气;
  • 政治:民调、投票记录、选举制度和人口结构;
  • 经济:政府统计、调查预期、历史修订和日历;
  • 加密:价格、波动率、资金流、期权和链上指标;
  • 天气:测量站实况、历史站点数据与预报模型;
  • 电竞:版本、地图、BP、阵容和赛事格式。

最重要的不是数据越多越好,而是每项数据在预测发生之前已经可获得,并且与市场 Rules 的目标一致。

第一步:把市场转换成标准数据行

每个样本至少包含:

market_id
完整问题与 Rules 版本
观测时间
当时 Bid / Ask / 深度
你的模型概率
外部特征
最终结算结果
手续费与实际成交均价

不能只保存“最终价格”和“最终结果”。如果回测时使用了当时不存在的数据,就会产生未来函数。

例如,你想测试“首发公布后买入体育市场”的策略,特征必须使用首发公布那一刻可获得的信息,不能把赛后统计或后续修订混进去。

第二步:从基础概率开始

复杂模型以前,先问类似事件历史上发生多少次。

假设你研究某联赛主队获胜:

  • 过去 400 场同类比赛,主队胜 188 场;
  • 基础胜率约为 47%;
  • 当前主队实力、休息和伤停更有利;
  • 模型调整后给出 55%。

基础概率让模型拥有一个稳定起点,也能阻止你因为一条近期新闻直接从 40% 跳到 80%。

样本越小,越应该把估计向更大样本的平均值收缩。10 场赢 8 场不等于真实胜率就是 80%。

第三步:只加入有解释力的变量

一个变量应该同时满足:

  1. 在结果发生前可观察;
  2. 与结果存在合理机制;
  3. 在留出样本中仍有预测力;
  4. 不只是另一个变量的重复表达;
  5. 数据定义长期一致。

例如体育模型可加入实力差、主客场、休息天数和核心伤停。把“最近三场赢了几场”“最近五场赢了几场”“最近十场赢了几场”全部加入,可能只是重复追逐近期表现。

模型不是变量收藏夹。每增加一个变量,都增加过拟合和维护成本。

一个简单的概率交易示例

你研究 200 个规则一致、样本可比的事件,其中 Yes 发生 116 次:

基础概率 = 116 ÷ 200 = 58%

根据当前两个有效变量,模型给出 62%。你考虑样本误差后,把保守概率设为 59%。

订单簿显示:

  • 最佳 Ask 54¢,但只有 50 份;
  • 买入 300 份的平均价格为 56¢;
  • 预计费用与其他执行成本约 1¢;

真实比较应该是:

保守概率 59¢
- 平均成交 56¢
- 成本约 1¢
= 净优势约 2¢ / 份

2¢ 是否足够,还取决于模型历史误差。若模型的典型误差为 6 个百分点,这不是强信号。

评估模型不能只看胜率

校准度

如果你给出的 70% 预测长期只发生 55%,模型过度自信;若长期发生约 70%,才算校准。

可以把预测分桶:

预测区间 样本数 实际发生率
50%—59% 120 54%
60%—69% 95 63%
70%—79% 70 74%
80%—89% 35 77%

最后一组显示模型在高概率区域可能过度自信。

Brier Score

Brier Score 用来衡量概率预测误差:

Brier = (预测概率 - 实际结果)²

实际发生记为 1,不发生记为 0。分数越低越好。

  • 预测 70%,结果发生:误差为 (0.70 - 1)² = 0.09;
  • 预测 90%,结果没发生:误差为 (0.90 - 0)² = 0.81。

它会严厉惩罚自信却错误的预测,比单纯胜率更适合概率模型。

相对市场表现

还要把模型与同一时刻的市场概率比较。模型准确不代表可交易;如果市场更准确,你仍没有优势。

回测必须使用可执行价格

常见错误是看到历史图上价格为 50¢,就假设自己能以 50¢ 买到任意数量。

真实回测至少需要:

  • 当时最佳 Ask,而不是中间价;
  • 你的订单规模对应的多档深度;
  • 市场是否收费;
  • 部分成交和未成交;
  • 退出时使用 Bid;
  • 重大新闻时挂单是否会撤走;
  • 资金被占用的时间。

若没有历史订单簿,只能做保守假设,例如在观测价格上额外加入固定滑点,并明确这只是近似。

七个最常见的量化陷阱

1. 未来函数

使用当时尚未发布的数据、最终修订值或赛后信息。

2. 过拟合

模型完美解释历史,却无法预测未来。变量太多、样本太少是典型原因。

3. 多重测试

测试 100 个策略,总会有几个偶然表现惊人。必须保留真正未参与调参的样本。

4. 样本选择偏差

只下载今天还能看到的市场,可能漏掉已删除、异常或低流动性样本。

5. 规则不一致

标题相似的市场可能有不同截止时间、结算源和边界条件。把它们混在一起会污染标签。

6. 市场环境变化

手续费、参与者、产品和结算机制会变化。去年有效的策略不一定适用于当前市场。

7. 忽略相关性

模型同时找出十个“独立机会”,但它们可能都依赖同一项 CPI、同一支球队或同一次选举。风险不能按十笔分散计算。

量化与基本面应该怎样结合

最实用的分工是:

  • 模型负责扫描:从几百个市场找出价格分歧;
  • 基本面负责验证:检查规则、数据质量和模型遗漏;
  • 订单簿负责执行:判断优势能否以真实价格成交;
  • 风控负责组合:限制单笔、相关风险和流动性。

模型说 68%、市场 55¢ 时,不应自动买入。它应该触发一张研究工单:为什么分歧这么大?模型是否漏了新信息?Rules 是否与训练标签不同?

一套从零开始的量化流程

  1. 只选一个熟悉且规则相对统一的市场类别;
  2. 定义每个样本的观测时点与结果标签;
  3. 收集当时可获得的数据和可执行价格;
  4. 用基础概率建立最简单基准;
  5. 增加少量有机制解释的变量;
  6. 分成训练集、验证集和真正留出测试集;
  7. 检查校准、Brier Score 与相对市场表现;
  8. 加入费用、滑点、深度和资金占用;
  9. 先用模拟或极小规模进行前向测试;
  10. 每次规则、费率或市场结构变化后重新验证。

什么时候模型不应该交易

  • 市场 Rules 无法标准化;
  • 当前事件超出历史样本范围;
  • 数据源刚发生定义变化;
  • 模型概率在短时间异常跳变,却找不到原因;
  • 订单簿太薄,真实均价消除优势;
  • 分歧来自一条模型尚未读取的新消息;
  • 优势只存在于回测,不存在于前向测试。

最后记住

量化分析真正追求的是可证伪:

数据是什么、在何时可用、模型怎样产生概率、价格能否成交、成本如何扣除、结果是否校准——每一步都能被别人复现。

复杂模型不会自动产生优势。一个使用正确时间、正确规则和真实 Ask 的简单模型,通常比使用错误数据的精密模型更有价值。

重要说明

进阶内容用于解释机制和风险,不构成收益承诺或交易建议。市场范围、手续费、数据源和结算规则都可能调整,请以下单当日页面与 Rules 为准。