# 我用 17 个平行账户,去证伪自己的交易策略

> 一份关于预测市场(Polymarket)的严肃实验记录:从"找边缘"到"亲手推翻自己的边缘"

---

## 写在前面

过去一段时间,我一直在做一件事:**在预测市场里寻找可稳定盈利的方法**。

但我不想写"我发现了稳赚策略"这种文章——因为在这个领域,**你说得越确定,越可能是错的**。

我想写的是另一样东西:**一套能证伪自己的实验系统**。

这篇文章会讲清楚三件事:

1. **赚钱的原理**——钱到底从哪里来(不是玄学,是数学)

2. **工程的实现**——如何把研究变成可验证、可对照、可自我否定的实验平台

3. **翻车记录**——我亲手推翻了自己 4 个"看起来很美"的结论

我认为第 3 部分最有价值。

---

## 一、原理:钱从哪里来?

预测市场的本质是**零和博弈**:你赚的每一分钱,都来自对手方"主动愿意付给你的某种东西"。

穷举下来,只有 5 种利润来源:

| 来源 | 本质 | 稳定性 |

|---|---|---|

| 流动性溢价 | 提供即时成交服务 | 高(但需编程) |

| **时间价值** | 平台锁定资金零利息 | **结构性** |

| **行为偏差** | 散户偏爱买"彩票" | **长期有效** |

| 信息优势 | 更快/更准的认知 | 不稳定 |

| 结构性套利 | 纯技术执行 | 机会极少 |

### 用数据验证,而不是用直觉

我拿 **3,018 个已结算市场**的真实数据(含 5,366 个结算前观测)做了校准检验,结果很反直觉:

**发现 1:尾部定价几乎是完美的。**

- 价格 ≥97¢ 的份额,在结算前 1 天买入,实际胜率 **99.7%**(n=955)

- 价格 <2¢ 的份额,691 个观测中**兑现 0 次**——教科书里的"冷门偏差"在这里几乎不存在

**发现 2:真正的系统性偏差在中段。**

- 定价 **50–70¢** 的市场,在结算前 7 天买入,实际胜率 **64.5%**,期望收益 **+13%**

- 在结算前 30 天买入,实际胜率 **70.4%**,期望收益 **+20.3%**

**机制**:市场会把**远期的中段问题"四舍五入向 50/50 压缩"**——一个定价 58¢、还有一个月到期的事件,往往已在轨道上,实际发生率约 70%。

**发现 3:存在一个"死亡区"。**

- 定价 **70–97¢** 的区间,在所有时间视野下期望收益均为负

- 而这恰恰是散户直觉最爱买的区间("九成把握还挺便宜")

**发现 4:结构性套利不存在。**

我扫描了 360 个多选项事件,初步发现 35 个"套利机会"。但用官方接口验证**腿的完整性**后,全部消失——Σ卖价 − Σ买价 = 0.9%~1.7%,**恰好就是做市商的点差**。市场在顶层盘口是有效的。

### 由此得到的策略

把发现转成"资金日化收益"对比,结论惊人:

| 策略腿 | 条件 | 胜率 | **资金日化** |

|---|---|---|---|

| **B3(核心)** | 50–70¢ · 距结算 3–21 天 | 64.5% | **+1.86%/天** |

| B(扩展) | 50–70¢ · 21–60 天 | 70.4% | +0.68%/天 |

| **C(稳定器)** | ≥97¢ · 距结算 ≤1.5 天 | 99.7% | **+0.37%/天** |

| A(补位) | ≥97¢ · 2–7 天 | 99.5% | +0.04%/天 |

**B3 的日化收益是第一版的 A 腿的 42 倍。** 这直接否定了我最初的资金配置——我原本把 80% 资金放在回报最低的腿上。

---

## 二、工程:如何把它变成可验证的实验

原理只是起点。真正的难点是:**你怎么知道你的结论不是噪音?**

我搭了三层。

### 第 1 层:数据层

- **平台数据**:Gamma API(市场元数据)、CLOB API(盘口与历史价格)、Data API(成交与持仓)

- **外部信息**(全部实测可用):

- **Deribit 期权链** → 用期权价格直接算出"到期高于某价"的**风险中性概率**

- **锐盘体育赔率**(The Odds API)→ 9 家博彩去水后的公平概率

- **Kalshi**(受监管交易所)→ 跨市场共识

- **ESPN** → 免费、无限额的最终比分

- **Google News** → 催化剂预警

### 第 2 层:策略层

过滤器不是拍脑袋定的,每一条都有实证依据:

| 过滤器 | 实证依据 |

|---|---|

| 规则歧义审计(0–10 分) | 规则歧义是尾部亏损的头号来源 |

| 跳过 0.60–0.65 价格段 | 该段期望收益为 **−3.3%** |

| 反追高(3 周涨 >10 点则拦) | 该组胜率仅 **50%** |

| 成交量门槛下调 | 低成交量段胜率 69.7% > 高成交量段 60.2% |

| 二元市场优先 | 二元 +15.7% vs 多选项腿 +7.4% |

| A 腿排除加密 | 加密是 A 腿唯一亏损类别(EV −0.97%) |

### 第 3 层:17 臂平行实验平台

这是整个系统的核心。

**设计原则:每个臂只改变一个机制,其余一切共享。**

- 共享:候选池、动量/edge/资金流门槛、市场状态快照、所有腿规则

- 不同:只有一个变量(是否用 edge 分档?是否启用逆向止损?是否严格审计规则?)

目前 17 个臂在同时测试:

| 臂 | 测试什么 |

|---|---|

| `ctl` 基线 | 参照物 |

| `veto` | 外部定价能否筛掉差仓 |

| `stop` | 入场后急跌是否知情信号 |

| `whale` | 资金流是否有预测力 |

| `strict` / `norule` | **规则审计本身的价值** |

| `nouma` | UMA 安全网的净贡献 |

| `kalshi` | 跨平台预言机的价值 |

| `lam50` / `lam25` | 外部信号是否过度自信 |

| `deadzone` | **反向检验"死亡区"结论** |

| `weather` / `esports` / `longmid` / `lowvol` | 被排除类别是否值得做 |

| `verify` / `verify2` | "先核对再下注"是否成立 |

**为什么这样设计?**

因为所有臂面对**完全相同的市场状态**(同一批候选、同一价格、同一门槛)——这在统计上叫"共同随机数",能大幅降低方差。**并行的多臂实验比串行实验不仅更快,而且更准。**

---

## 三、翻车记录:我推翻自己的 4 个结论

这部分是我最想写的。**如果没有这套系统,这些错误都会用真金白银来买。**

### 翻车 1:一个符号错误,造出"100% 胜率"的幻觉

我的外部定价模块报出一个惊人的机会:

> 某 ETH 市场,外部估计"触及概率 = **100%**",而市场只定价 36%

看起来是暴利。追查后发现**三个 bug**:

1. 触及概率函数只实现了**上行**触及,而"跌到某价"是**下行**——障碍价低于现价时函数直接返回了 1.0

2. 到期日选择取了"最近的日到期"(0.3 天),而非市场结束日对应的月末

3. 用平值波动率计算**下行**障碍,忽略了看跌偏斜

修复后,外部估计从"100%"变成 **28.7%**,市场定价 36%——**分歧从 −64 点变成 +7.3 点**(这才是真实且有意义的信号)。

**教训:一个方向搞错的公式能凭空造出"必胜"的幻觉,而且它看起来越诱人,越需要怀疑。**

### 翻车 2:缺失一个日期字段,造出 +36 点的假边缘

同类问题:当市场数据缺少结束日期时,模块会选到最近的到期日,得出毫无意义的概率。

修复:缺日期时默认取**该月最晚到期**,并加了一条硬保护——**|edge| > 25 点时视为模型异常,不参与决策**。

### 翻车 3:天气源——免费、精确、但完全不可用

我用 Open-Meteo 的 **31 个集合成员**实现了天气市场定价(成员落在阈值内的比例 = 概率)。数据完美、免费、无需密钥。

**实测结果**:

- 有流动性的天气市场**全部当天结算**——而当天市场参与者**能看到实时实测温度**,我们的"全天预报"是过期信息,全部 edge 深度为负(−70% ~ −96%)

- 明日市场的分歧只有 ±1.8°C,而天气市场的**桶宽只有 1°C** —— 模型误差足以让桶概率完全失真

**结论:不接入。**

**教训:信息源的可用性 ≠ 边缘的存在。免费且精确的数据,也可能因为结算时限或误差尺度而与市场无关。**

### 翻车 4:最高胜率的策略,亏得最多

这是最有价值的一次。

**假设**:市场上有些"事件已结束、但尚未结算"的仓位。现实世界已有答案,只需"核对"一下——这应该是接近无风险的。

蒙特卡洛模拟给出:胜率 99.9%、90 天 +472%。

**实测结果(38 笔结算)**:

```

胜率 92.1%(35 胜 3 负)

总盈利 +$39.95(平均每笔 +$1.14 = +2.3%)

总亏损 −$150.00(平均每笔 −$50.00 = −100%)

净结果 −$110.05

```

**致命的数学不对称**:

> 盈亏平衡所需胜率 = 50 ÷ (50 + 1.14) = **97.8%**

> 实际胜率 = **92.1%**

> → 必亏

**3 笔亏损的真相(全部不是运气)**:

- `Exact Score: Liverpool 0-0 Fulham` → 我们买"No",**比分真的就是 0-0**

- `Oregon vs. Oklahoma State` → **体育爆冷**

- `Tokyo 最低气温 21°C` → **温度桶没中**

**同一个事实:市场在 0.95–0.99 的折价,是真实的风险溢价,不是免费午餐。**

"已过期但未结算" ≠ "结果已知"——UMA 之所以还没结算,恰恰因为结果可能仍有争议。

### 由此诞生的修正版:真正的"核对"

我重新实现了 `verify2`:**用外部数据源确认事实后才买**。

- 体育 → 用 ESPN 的**最终比分**确认

- 加密 → 用 Deribit 在**结算时刻的价格**确认

- 天气 / 精确比分 / 政治 / 电竞 → **不做**(宁可放弃机会,绝不冒错误风险)

**实现过程中又拦下一个危险的误判**:初版把大学橄榄球的 "Pittsburgh" 匹配到了棒球队 **Pittsburgh Pirates**、把 "Cincinnati" 匹配到 **Cincinnati Reds**——这会让我们基于**错误事实**下单。

修复后(要求**双方队名都命中**):正确识别出 Oregon 那笔真实亏损,同时放行了 Indiana、James Madison 等真实赢家。无法确认的比赛一律"无法核对"——**安全放弃**。

---

## 四、当前进展(诚实版)

17 个臂,每个以 $10,000 虚拟本金起步,各自建仓。

**第一批真实结算数据**:

| 臂 | 净值 | 已实现 | 胜率 |

|---|---|---|---|

| `strict` 严规则审计 | **$10,005.07** | +$9.14 | 7/7 |

| 基线等 10 个臂 | $9,992.85 | +$9.14 | 7/7 |

| `deadzone` 死亡区 | $9,988.81 | +$9.14 | 7/7 |

| `longmid` 超长中段 | $9,940.65 | +$9.14 | 7/7 |

| **`verify` 仅看时间** | **$9,359.60** | **−$99.74** | **39/42 = 92.9%** |

| **`verify2` 已核对** | $9,939.97 | +$9.14 | 7/7(新上线) |

**能读出的早期信号**(样本仍小):

- **C 腿(债券)7 战全胜**,与 3,018 市场回测的 99.7% 一致

- **`verify` 已被证伪**,正在继续亏损

- **`strict`(更严的规则审计)浮亏最小**——与"规则歧义是最大杀手"的预期一致

- `deadzone` / `longmid` 浮亏较大——与死亡区判断方向一致

**尚未定论的**:`verify2` 的胜率能否回到 99%+。这是我们目前最有希望的假设,需要 20–30 笔结算才能定论。

---

## 五、几个可迁移的方法论

如果你也在做类似的事,这 10 条可能有用:

1. **先证伪,再优化**——设计一个能推翻自己的实验,比找到一个"好策略"更重要

2. **信息源的可用性 ≠ 边缘的存在**——免费、精确的数据也可能毫无用处

3. **注意payoff 不对称**——92% 胜率可以亏钱,因为赢赚 2%、输亏 100%

4. **多臂并行优于串行**——共享同一批候选与门槛(共同随机数),方差更小、速度更快

5. **每臂只改一个变量**——否则无法归因

6. **共享候选流与门槛,但绝不共享持仓**——我曾让 17 个臂继承同一份组合,结果因为事件去重吃掉了 39% 的候选,所有臂的决策**完全相同**,实验等于空转

7. **消除一切时点偏差**——门槛各算一次会不同、结算各查一次会不同,必须共享快照

8. **外部模型的极端分歧,几乎总是自己错了**——先怀疑自己

9. **宁可放弃机会,绝不冒错误的确定性**——核对模块返回"无法确认"是安全的

10. **警惕"看起来完美"的数据源**——它越完美,越值得怀疑

---

## 六、两个必须说的现实约束

### 约束 1:这类策略的容量极小

平台最小下单量是 **5 股**。在 97¢ 时,一个仓位的最小成本是 **$4.97**。

这意味着:

- **$20 本金** → 最多开 4 个仓位 → 单次亏损就是 −25% 本金 → 蒙特卡洛显示**亏损月概率 54%、最差回撤 78%**

- **$200 本金** → 40 个仓位 → 亏损月概率 9%、回撤 <16% → 这才是"稳定"的起点

更重要的是:**全平台只有约 115 个符合策略条件的候选侧**,其中核心的中段腿只有 7–18 个。按单仓 $125–200 计算,**中段腿的容量上限约 $875–3,600**。

**它是"捡贝壳",不是"挖矿"——不随本金线性放大。**

---

## 结语

这套系统到今天为止,**没有让我赚到钱**——它的价值在于**阻止了我用真钱去验证 4 个错误结论**。

在预测市场这类零和市场里,我认为最重要的能力不是"预测得准",而是**区分"我发现了边缘"和"我的模型有 bug"**。

而我给自己找到的最可靠方法,就是那 17 个平行账户。

$BNB

$BTC

BTC
BTC
83,212.01
-2.82%