Skip to content

Commit d222906

Browse files
张靖恒claude
andcommitted
v3: fix 4 bugs WW caught, verdict flips to -$263/yr naive / +$117/yr cherry-pick
WW review of PR #9 caught 4 bugs in the v1/v2 maker simulations and verify_group_book.py: 1. Income not capped by realized trade size — formula `fill_rate * avg_edge * intended_basket` assumed every fill captured the full $100. With avg trade sizes of 3-9 units, that overstates by 5-20x. 2. Maker target could cross bestAsk — `max(t, bestBid+0.001)` for narrow spreads could produce target = bestAsk (crossing/taker order, not maker). 3. verify_group_book.py partial-fill cost wrong — `cost = avg_px * size` should be `avg_px * filled`. Inflated negative edge numbers when book ran out. 4. avg_min_leg_sell_size was logged as a caveat but never folded into the main income formula. Fixes: - scripts/simulate_maker_basket_v2.py: per-day actual fill = min(intended, min-over-legs of qualifying-trade-size at price <= target); income = sum(edge_per_unit * actual_units) / window_days; target strictly clamped below bestAsk; skip markup levels with no valid maker zone. - scripts/verify_group_book.py: compute basket cost/fee/edge at actual fillable units (not intended size); flag CAPPED rows where book runs out. Reran both: - v3 (size-capped): naive across 72 groups = -$263/yr; cherry-pick 18 positive-edge groups = +$117/yr @ $100 basket - SC Gov taker @ 200u = +$2.02 (max), capped at 1304u for larger sizes Research summary §3.10 + §3.11 supersede §3.9. TL;DR updated. Honest final verdict: long-tail D-vs-R spread is market friction, not alpha. Retail investor cannot net positive after fee + queue + gas. The thesis isn't dead — it was never alpha to begin with, only looked like alpha because of methodological errors at multiple layers. Thanks to WW for the rigorous review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 4d1e2a6 commit d222906

5 files changed

Lines changed: 301 additions & 147 deletions
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Group Book Validation: will-the-democrats-win-the (2026-05-13T03:20:27.443159+00:00)
1+
# Group Book Validation: will-the-democrats-win-the (2026-05-13T06:27:27.152124+00:00)
22

33
Real-orderbook depth check of basket arb candidate.
44
Group: `0xa8574c0caacc...` (members=2)
@@ -7,25 +7,25 @@ Group: `0xa8574c0caacc...` (members=2)
77

88
| # | Question | bestAsk | depth @ bestAsk | bestBid | gamma_ask | fee | vol24hr | liq |
99
|---|---|---:|---:|---:|---:|---:|---:|---:|
10-
| 1 | Will the Democrats win the South Carolina governor race | 0.059 | 77 | 0.031 | 0.0590 | 0.040 | $0 | $7,244 |
11-
| 2 | Will the Republicans win the South Carolina governor ra | 0.91 | 4 | 0.9 | 0.9100 | 0.040 | $1 | $3,402 |
10+
| 1 | Will the Democrats win the South Carolina governor race | 0.059 | 77 | 0.022 | 0.0590 | 0.040 | $0 | $4,664 |
11+
| 2 | Will the Republicans win the South Carolina governor ra | 0.91 | 4 | 0.89 | 0.9100 | 0.040 | $1 | $5,585 |
1212

1313
## Marginal (1-unit) edge
1414

1515
- bestAsk basket sum: **0.9690**
1616
- marginal fee: 0.00550
1717
- marginal edge_after_fee: **+0.0255**
1818

19-
## Fill simulation
19+
## Fill simulation (fix: cost & edge computed at ACTUAL fillable size, not intended)
2020

21-
| Basket size (units) | Avg basket cost | Total fee | Edge $ | Edge % | Max fillable |
21+
| Intended size | Actual fillable | Avg cost/unit | Total fee | Edge $ | Edge % |
2222
|---:|---:|---:|---:|---:|---:|
23-
| 50 | 0.9846 | $0.25 | $+0.52 | +1.04% | 50 |
24-
| 200 | 0.9934 | $1.01 | $+0.31 | +0.15% | 200 |
25-
| 500 | 1.0371 | $2.88 | $-21.44 | -4.29% | 500 |
26-
| 1000 | 1.0644 | $5.75 | $-70.15 | -7.01% | 870 |
27-
| 2000 | 1.0987 | $13.53 | $-211.00 | -10.55% | 870 |
28-
| 5000 | 1.3646 | $57.38 | $-1,880.37 | -37.61% | 870 |
23+
| 50 | 50.0 | 0.9782 | $0.26 | $+0.83 | +1.66% |
24+
| 200 | 200.0 | 0.9845 | $1.07 | $+2.02 | +1.01% |
25+
| 500 | 500.0 | 1.0178 | $3.24 | $-12.12 | -2.42% |
26+
| 1000 | 1000.0 | 1.0430 | $6.53 | $-49.48 | -4.95% |
27+
| 2000 | 1303.9 ⚠️ | 1.0566 | $8.26 | $-82.06 | -6.29% |
28+
| 5000 | 1303.9 ⚠️ | 1.0566 | $8.26 | $-82.06 | -6.29% |
2929

3030
---
31-
*Snapshot: 2026-05-13T03:20:27.443159+00:00*
31+
*Snapshot: 2026-05-13T06:27:27.152124+00:00*
Lines changed: 59 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,76 @@
1-
# Maker Simulation v2 — Trade Tape (2026-05-13T03:50:03.951692+00:00)
1+
# Maker Simulation v3 — Trade Tape + Size-capped (2026-05-13T06:26:16.072251+00:00)
22

3-
**Method**: real Polymarket trade tape. For each (group, day, markup), check if any SELL Yes trade at price <= target occurred on each leg that day. If ALL legs had a qualifying trade, basket fills.
3+
**Method (v3 = v2 + 3 fixes WW caught)**: real Polymarket trade tape.
4+
For each (group, day, markup), check if any SELL Yes trade at price <= target occurred on each leg. **Realized basket units per fill = min(intended_basket, min-over-legs of sum of qualifying-trade sizes that day)**. Maker target strictly clamped below bestAsk and above bestBid; groups with spread < 0.002 skipped.
45

56
**Window**: 14 days (2026-04-29 -> 2026-05-13)
6-
**Basket size**: $100
7-
**Trades fetched**: 48030 raw -> 1602 qualifying (SELL Yes in window)
7+
**Intended basket size**: $100 of payout per fill (capped by trade size)
8+
**Trades fetched**: 48033 raw -> 1603 qualifying (SELL Yes in window)
89
**Days with activity**: 15
10+
**Markup levels with no valid maker (spread too narrow)**: 20
911

10-
## v1 (mid-touch) vs v2 (trade tape) comparison
12+
## Fixes vs prior version (v2 from earlier today)
1113

12-
v1 mid-touch results from earlier today (see `maker-simulation-2026-05-13.md`):
13-
- Total daily $: $+42.59 across 72 groups
14-
- Annualized: $+15,546/yr
15-
- Caveat: mid touching != trade happening at that price
14+
1. **Income now capped by realized basket units, not intended size.** Previous formula `fill_rate * avg_edge * intended_basket` assumed every fill captured the full $100. Per WW's review, that overstates by 5-20x when avg trade size is 5-9 units.
15+
2. **Maker target clamped strictly below bestAsk.** Previously `max(target, bestBid+0.001)` could produce target = bestAsk for narrow spreads (crossing/taker, not maker).
16+
3. **Per-leg fill size = sum of qualifying SELL Yes trade sizes at price <= target**, not total all SELL Yes sizes regardless of price.
1617

17-
## v2 results (this run)
18+
## v3 results
1819

19-
- Total expected daily income: **$+2.51/day** across 72 groups @ $100 basket
20-
- Annualized: **$+918/yr**
21-
- Groups with positive expected income at any markup: **17/72**
20+
- Total expected daily income: **$-0.72/day** across 72 groups @ $100 intended basket
21+
- Annualized: **$-263/yr**
22+
- Groups with positive expected income at any markup: **18/72**
2223

23-
## Top 20 by best expected daily income (v2)
24+
## Top 20 by best expected daily income (v3)
2425

25-
| Group | Q | Best markup | Fill rate | Avg edge | Avg sell size | Exp daily $ |
26+
| Group | Q | Best markup | Fill rate | Edge/unit | Avg realized units | Exp daily $ |
2627
|---|---|---:|---:|---:|---:|---:|
27-
| `0x2ecd963d91df...` | Will the Democrats win the Iow vs Will the Re | $0.030 | 20.0% | +5.027% | 77 | $+1.005 |
28-
| `0x5cddfa5bafea...` | Will the Democrats win the Geo vs Will the Re | $0.030 | 20.0% | +3.887% | 9 | $+0.777 |
29-
| `0x7146f4aff656...` | Will the Democrats win the Ill vs Will the Re | $0.050 | 6.7% | +5.738% | 5 | $+0.383 |
30-
| `0x195e8f642b07...` | Will the Democrats win the Tex vs Will the Re | $0.020 | 13.3% | +2.728% | 3 | $+0.364 |
31-
| `0xb17c29a2fb22...` | Will the Democrats win the Ten vs Will the Re | $0.020 | 6.7% | +5.138% | 6 | $+0.343 |
32-
| `0x2aa7cf1991dd...` | Will the Democrats win the Kan vs Will the Re | $0.050 | 6.7% | +5.001% | 10 | $+0.333 |
33-
| `0x6473c875a3d6...` | Will the Democrats win the New vs Will the Re | $0.030 | 13.3% | +2.442% | 5 | $+0.326 |
34-
| `0xac17bb3e2188...` | Will the Democrats win the New vs Will the Re | $0.020 | 13.3% | +1.732% | 1 | $+0.231 |
35-
| `0xd4118b02b567...` | Will the Democrats win the Pen vs Will the Re | $0.020 | 6.7% | +3.282% | 5 | $+0.219 |
36-
| `0x4e43ba407ed4...` | Will the Democrats win the Wis vs Will the Re | $0.030 | 6.7% | +2.476% | 11 | $+0.165 |
37-
| `0x209eca0d8c37...` | Will the Democrats win the Wyo vs Will the Re | $0.030 | 6.7% | +2.183% | 6 | $+0.146 |
38-
| `0x7bd878bdc3cd...` | Will the Democrats win the Nev vs Will the Re | $0.050 | 6.7% | +1.823% | 10 | $+0.122 |
39-
| `0x8941a4153cb2...` | Will the Democrats win the Ver vs Will the Re | $0.010 | 6.7% | +1.546% | 5 | $+0.103 |
40-
| `0x2a010ed53626...` | Will the Democrats win the Flo vs Will the Re | $0.020 | 6.7% | +1.498% | 5 | $+0.100 |
41-
| `0xb61918837517...` | Will the Democrats win the Nor vs Will the Re | $0.010 | 6.7% | +0.725% | 343 | $+0.048 |
42-
| `0x82cc8472987c...` | Will the Democrats win the Kan vs Will the Re | $0.010 | 6.7% | +0.672% | 12 | $+0.045 |
43-
| `0x1304dee4404b...` | Will the Democrats win the Ari vs Will the Re | $0.010 | 6.7% | +0.341% | 5 | $+0.023 |
44-
| `0xb23e25438839...` | Aaron Taylor-Johnson announced vs James Norto | $0.005 | 0.0% | +0.000% | 0 | $+0.000 |
45-
| `0x07311e10dac6...` | Will the Democrats win the Ala vs Will the Re | $0.005 | 0.0% | +0.000% | 0 | $+0.000 |
46-
| `0x25025e1a8d9b...` | Will the Democrats win the Ark vs Will the Re | $0.005 | 0.0% | +0.000% | 0 | $+0.000 |
28+
| `0x5cddfa5bafea...` | Will the Democrats win the Geo vs Will the Re | $0.030 | 20.0% | +3.887% | 9.4 | $+0.073 |
29+
| `0xb61918837517...` | Will the Democrats win the Nor vs Will the Re | $0.010 | 6.7% | +0.725% | 100.0 | $+0.048 |
30+
| `0x2ecd963d91df...` | Will the Democrats win the Iow vs Will the Re | $0.030 | 20.0% | +5.027% | 4.0 | $+0.040 |
31+
| `0x2aa7cf1991dd...` | Will the Democrats win the Kan vs Will the Re | $0.050 | 6.7% | +5.992% | 10.0 | $+0.040 |
32+
| `0x4e43ba407ed4...` | Will the Democrats win the Wis vs Will the Re | $0.030 | 6.7% | +2.476% | 10.9 | $+0.018 |
33+
| `0x6473c875a3d6...` | Will the Democrats win the New vs Will the Re | $0.030 | 13.3% | +2.442% | 5.0 | $+0.016 |
34+
| `0x7146f4aff656...` | Will the Democrats win the Ill vs Will the Re | $0.050 | 6.7% | +4.772% | 5.0 | $+0.016 |
35+
| `0xb17c29a2fb22...` | Will the Democrats win the Ten vs Will the Re | $0.010 | 6.7% | +3.341% | 6.0 | $+0.013 |
36+
| `0x195e8f642b07...` | Will the Democrats win the Tex vs Will the Re | $0.020 | 13.3% | +2.728% | 3.4 | $+0.012 |
37+
| `0xd4118b02b567...` | Will the Democrats win the Pen vs Will the Re | $0.020 | 6.7% | +3.282% | 5.0 | $+0.011 |
38+
| `0x209eca0d8c37...` | Will the Democrats win the Wyo vs Will the Re | $0.030 | 6.7% | +2.391% | 6.2 | $+0.010 |
39+
| `0x7bd878bdc3cd...` | Will the Democrats win the Nev vs Will the Re | $0.050 | 6.7% | +1.012% | 10.0 | $+0.007 |
40+
| `0x2a010ed53626...` | Will the Democrats win the Flo vs Will the Re | $0.020 | 6.7% | +1.498% | 5.0 | $+0.005 |
41+
| `0x12dddaa9289c...` | Will the Democrats win the Ken vs Will the Re | $0.030 | 6.7% | +0.426% | 16.3 | $+0.005 |
42+
| `0x8941a4153cb2...` | Will the Democrats win the Ver vs Will the Re | $0.020 | 6.7% | +0.521% | 5.0 | $+0.002 |
43+
| `0x82cc8472987c...` | Will the Democrats win the Kan vs Will the Re | $0.010 | 6.7% | +0.672% | 3.9 | $+0.002 |
44+
| `0xac17bb3e2188...` | Will the Democrats win the New vs Will the Re | $0.020 | 13.3% | +1.732% | 0.7 | $+0.002 |
45+
| `0x1304dee4404b...` | Will the Democrats win the Ari vs Will the Re | $0.010 | 6.7% | +0.341% | 5.0 | $+0.001 |
46+
| `0xb23e25438839...` | Aaron Taylor-Johnson announced vs James Norto | $0.005 | 0.0% | +0.000% | 0.0 | $+0.000 |
47+
| `0x07311e10dac6...` | Will the Democrats win the Ala vs Will the Re | $0.005 | 0.0% | +0.000% | 0.0 | $+0.000 |
4748

48-
## Markup-level aggregate (v2)
49+
## Markup-level aggregate (v3)
4950

50-
| Markup | Avg fill rate | Avg edge given fill | Groups positive | Total daily $ |
51-
|---:|---:|---:|---:|---:|
52-
| $0.005 | 5.5% | -1.067% | 8/72 | $-5.02 |
53-
| $0.010 | 5.5% | -0.180% | 13/72 | $-1.62 |
54-
| $0.020 | 5.4% | +0.638% | 16/72 | $+0.98 |
55-
| $0.030 | 5.1% | +0.932% | 15/72 | $+1.79 |
56-
| $0.050 | 4.9% | +1.102% | 15/72 | $+1.85 |
51+
| Markup | Avg fill rate | Avg edge/unit | Avg realized units | Groups positive | Total daily $ |
52+
|---:|---:|---:|---:|---:|---:|
53+
| $0.005 | 5.9% | -1.266% | 19.7 | 7/72 | $-2.09 |
54+
| $0.010 | 5.8% | -0.382% | 19.8 | 13/72 | $-1.04 |
55+
| $0.020 | 5.7% | +0.241% | 20.1 | 15/72 | $-0.88 |
56+
| $0.030 | 5.6% | +0.656% | 19.4 | 16/72 | $-0.78 |
57+
| $0.050 | 5.4% | +0.903% | 20.0 | 15/72 | $-0.75 |
5758

58-
## Notes
59+
## Notes / honest disclaimers
5960

60-
- This uses the REAL trade tape — every SELL Yes trade in the past 14 days at price <= target is counted as a potential fill.
61-
- Still optimistic: assumes (a) our resting bid was first in queue, (b) our size was always available, (c) per-leg fills are independent within a day.
62-
- avg_min_leg_sell_size = avg of (min sell-size across legs on filled days). If this is < intended basket size, we couldn't have filled in full.
63-
- Maker fee assumed equal to taker fee_rate from feeSchedule. Polymarket maker fees may be lower or rebated — actual income could be HIGHER.
64-
- v2 vs v1 mismatch: v2 < v1 means mid-touch over-counts (less real trade activity at target); v2 > v1 means mid-touch under-counts (trades happened that mid-snapshot didn't capture).
61+
- Real Polymarket trade tape. SELL Yes trades at price <= target are the only ones that would have hit a resting maker bid.
62+
- Realized basket units = min(intended_basket, min_over_legs of total qualifying-trade size that day). This is the **upper bound** on what we could have filled.
63+
- Still optimistic on (a) queue priority — assumes our bid was first in line at our price level, (b) per-leg fills are independent within a day.
64+
- Maker fee assumed = taker fee_rate from feeSchedule. Polymarket maker fees are sometimes lower or rebated — actual income could be slightly HIGHER from fees alone.
65+
- Realistic adjustment: discount by 0.4-0.6x for queue priority + correlation + gas, additional partial-fill hedging risk.
66+
67+
## Comparison to prior versions
68+
69+
| Version | Method | Annualized | Issue |
70+
|---|---|---:|---|
71+
| v1 (mid-touch) | did mid touch target on day d | $15,546 | Massively over-counted; mid touching != fill |
72+
| v2 (trade tape, size-uncapped) | sum SELL-Yes sizes regardless of target | $918 | Income computed at full $100/fill regardless of trade size |
73+
| **v3 (this run)** | per-target qualifying sizes, capped income | **$-263** | Honest within stated assumptions |
6574

6675
---
67-
*Snapshot: 2026-05-13T03:50:03.951692+00:00*
76+
*Snapshot: 2026-05-13T06:26:16.072251+00:00*

reports/research-summary-2026-05-13.md

Lines changed: 76 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@
2020
1. mid-price 给出的"持续 edge"和 bestAsk 实际可成交 edge 是两个东西(§3.4)
2121
2. TAKER 一次性吃光 bestAsk 在 2 个测试组(James Bond + SC Gov)下死亡(§2 + §3.7)
2222
3. 我据此说"thesis 死了" —— 用户当场质疑(§3.9)
23-
4. 补做 MAKER 模拟:v1 mid-touch 给 $15k/yr 假象,v2 trade tape 给 $918/yr 真值
24-
5. 修正后预期:**$200-500/yr @ $100 basket,或 $2-5k/yr @ $1000 basket**(capital 占用 $144k)
23+
4. 补做 MAKER 模拟:v1 mid-touch 给 $15k/yr 假象,v2 trade tape 给 $918/yr 真值(§3.9)
24+
5. **WW review 抓 4 个 bug,修完跑 v3**(§3.10)
25+
6. **最终修正**:naive 跨 72 组 = **−$263/yr**;cherry-pick 18 个正期望组 = **+$117/yr**(§3.11)
2526

26-
**今天 Claude 的判决(修正后****Taker 死,Maker 活在 hobby 规模。最严重的教训是 §3.9:我用 1 个角度的测试做了全局结论,错了。用户的"不信邪" 把这份报告从错误里拉了回来**
27+
**今天 Claude 的判决(最终 v3 修正****长尾 D-vs-R spread 不是 alpha,是市场摩擦**。普通投资者做不到 net positive。3 次大错:(a) 用 2 个 snapshot 推全局死亡 (b) v1/v2 maker 模拟带 bug 估出 $918/yr 假象 (c) 公式没按真实成交量封顶。每次都靠外部 review(用户 + WW)拉回。**最有支撑的当前判决是 §3.11**
2728

2829
---
2930

@@ -224,6 +225,78 @@ scripts/verify_group_book.py --group-id 0xa8574c0caacc --basket-sizes "50,200,50
224225

225226
也就是说,整个 thesis 的逻辑链是反的:**我们以为"长尾持续 edge = 别人没注意",实际上"长尾持续 edge = 别人不愿意为了 \$3 折腾这一套订单流"**。市场是有效率的,只是有效率的定价区间只对应"值得做"的回报。
226227

228+
### 3.10 WW review 后再次大修(v3,正确数字)
229+
230+
> **阅读顺序提示**:§3.10 + §3.11 是 Day 3 **最新** 的修正,supersede 下面的 §3.9(中间过渡的 v1/v2 结果,被 WW 4 条 bug review 推翻)。先读 3.10 + 3.11 拿到最终 verdict,再读 3.9 看演变历史。
231+
232+
WW 当面查 v2 代码,挑出 4 个 bug:
233+
234+
1. **收益没按真实成交量封顶** —— v2 公式 `fill_rate × avg_edge × $100` 假设每次都 fill 满 $100 basket。但 avg sell size 大量是 3-9 单位。**这单一 bug 把 v2 高估 5-20×**
235+
2. **Maker target 可能越过 bestAsk** —— `max(t, bestBid+0.001)` 在 narrow spread 下可能让 target = bestAsk = crossing order
236+
3. **Taker partial-fill 计算错** —— `verify_group_book.py:173` `cost = avg_px * size` 应为 `avg_px * filled`。书空了时的负收益被夸大
237+
4. **报告已发但用错误公式** —— PR 里的 $918 / $200-500 都不能信
238+
239+
修完三个 bug 后重跑 v3:
240+
241+
| Version | 方法 | 年化 |
242+
|---|---|---:|
243+
| v1 mid-touch | mid 是否 touch target | +$15,546 |
244+
| v2 trade tape(有 bug)| sum SELL-Yes sizes regardless of target | +$918 |
245+
| **v3 size-capped + no-crossing** | 真实 trade size 封顶 + 严格 maker 约束 | **−$263** |
246+
247+
是的,**v3 总期望负数**。在 72 组上 naive 部署做市策略 → 平均每年亏 $263。
248+
249+
更细的 markup 表:
250+
251+
| Markup | Avg fill rate | Avg edge/unit | Avg 实际成交单位 | 正期望组 | 总日 $ |
252+
|---:|---:|---:|---:|---:|---:|
253+
| $0.005 | 5.9% | -1.27% | 19.7 | 7/72 | -$2.09 |
254+
| $0.010 | 5.8% | -0.38% | 19.8 | 13/72 | -$1.04 |
255+
| $0.020 | 5.7% | +0.24% | 20.1 | 15/72 | -$0.88 |
256+
| $0.030 | 5.6% | +0.66% | 19.4 | 16/72 | -$0.78 |
257+
| $0.050 | 5.4% | +0.90% | 20.0 | 15/72 | -$0.75 |
258+
259+
**关键发现**:avg edge/unit 在小 markup 时负 —— 即使我们填满,**fee 吃掉了 spread 捕获**。只有挂到 $0.02 以上才正期望。
260+
261+
**Cherry-pick 那 18 个正期望组**(用 hindsight bias risk):约 +$0.32/day → **+$117/yr @ $100 basket**。但这需要知道哪些组会赚 —— 真实部署没有这个 oracle。
262+
263+
#### Taker partial-fill 修正后
264+
265+
SC Gov D/R 重跑(用修正后的 verify_group_book.py):
266+
267+
| Intended | Actual | Edge $ | Edge % | Note |
268+
|---:|---:|---:|---:|---|
269+
| 50u | 50 | +$0.83 | +1.66% | |
270+
| **200u** | **200** | **+$2.02** | **+1.01%** | ← max dollar |
271+
| 500u | 500 | -$12.12 | -2.42% | |
272+
| 2000u | **1304** ⚠️ | -$82 | -6.29% | book capped at 1304 |
273+
| 5000u | 1304 ⚠️ | -$82 | -6.29% | same |
274+
275+
数字比 buggy 版本(200u: +$0.31)实际**更好**(200u: +$2.02),但这是因为今天市场动了一点。Taker peak per-event = $2,1 次性,不是 daily。
276+
277+
### 3.11 最终修正后的 verdict
278+
279+
| 策略 | 实际预期 $/yr | 状态 |
280+
|---|---:|---|
281+
| **Taker basket arb** | $0-200 一次性 | ❌ 死,深度太薄 |
282+
| **Maker v1 mid-sim** | $15k 幻觉 | ❌ 方法错 |
283+
| **Maker v2 size-uncapped** | $918 错误号 | ❌ 没按 trade size 封顶 |
284+
| **Maker v3(修正版)naive 部署** | **−$263/yr** | ❌ 平均亏钱 |
285+
| **Maker v3 cherry-pick 18 个正期望组** | **+$117/yr @ $100** | ⚠️ 需要 oracle |
286+
287+
**最诚实的结论**:长尾 D-vs-R 通选的 spread 不是 alpha,只是**正常市场摩擦**。fee + spread + 队列优先级 + gas 综合下来,普通投资者做不到 net positive。这不是"thesis 死了",是"thesis 从来就不是 alpha,只是看上去像 alpha"。
288+
289+
#### 教训层级
290+
291+
| Day | 错误 | WW 反馈 | 我学到 |
292+
|---|---|---|---|
293+
| Day 1 | 没读 fees.py 就说"代码错" | WW push commit 证伪 | 先读代码 |
294+
| Day 2 | 数字算术不一致(4 人 × 25 ≠ 200) | WW 直接 fix | inline 算术 |
295+
| Day 3 早 | 用 2 个 snapshot 推"thesis 死了" | 用户当面质疑 | 多视角测试 |
296+
| Day 3 晚 | v1/v2 maker 模拟 high-cited bug | WW 4 条点评 | 公式正确性 vs 表面合理 |
297+
298+
**今天最重要的进步**:从"过度乐观"和"过度悲观"两个方向都犯了错。WW 的 fix 让数字第三次稳定下来 —— 这次的 $-263/yr naive / $117 cherry-pick 是迄今最有支撑的判决。
299+
227300
### 3.9 我之前判错了 —— MAKER thesis 是活的(小规模)
228301

229302
写完 §3.8 之后用户当面质疑:"你的实验方法确认准确?真正的技术在哪里?"

0 commit comments

Comments
 (0)