We tightened our own gates. They took the founder’s model first.
Research note #3 · The Dimopoulos Chain program, v1→v3 · July 2026 · a case study in iterating a research process
This note documents three versions of one model, two promotion-gate changes, and one retirement — the full iteration loop of this research program, written for readers who run such loops themselves. The short version: a signal that genuinely beats implied volatility does not automatically beat a competent econometric ensemble, and a process that cannot retire its founder’s favorite model is not a process.
The program at a glance
| Version | Claim | Headline statistic | Verdict |
|---|---|---|---|
| v1 — state chain | 9 dealer-positioning × realized-vol states forecast next-day range | t = 4.34 vs implied vol; lost to HAR | retired after gate tightening (stressed t = 2.17) |
| v1.5 — neural emissions | an MLP on the same states beats the linear ladder | t = −4.37 (walk-forward, 3-seed ensemble) | buried — capacity is not information at daily frequency |
| v3 — residual corrector (pre-registered) | shrunk state corrections improve a log HAR+VIX+GJR backbone at the 5-day horizon | t = −1.07 | buried, name and all |
1. What v1 got right and wrong
The underlying signal is real: options dealer gamma exposure predicts next-day trading range beyond the VIX (t = 7.4 in our standing classifier — still in the vault, and it clears the stressed re-audit at 3.68). v1’s mistake was architectural. It entered its nine states as OLS dummies alongside the baselines — level shifts that cannot repair where a baseline errs — and it fought the wrong opponent. In volatility space the incumbent factor structure is persistence (HAR), leverage asymmetry (GJR-GARCH), and the market’s own forecast (implied vol). Beating a naive benchmark while losing to HAR means the “new” information was mostly old information wearing a new state label. We treat that exactly as we treat equity anomalies that die under a Fama-French + momentum decomposition: a claim must beat the incumbent factor model, not the naive benchmark.
2. The process change: promotion criteria that bite backwards
Mid-program, two promotion criteria were added (proposed by the research critic, approved by the human owner — thresholds are never machine-changed here):
Multiple-testing deflator. Significance bars are Bonferroni-adjusted by the hypothesis family’s attempt count, tracked in the state store. A survivor from a family of thirty siblings is judged as one draw of thirty. This converts the multiple-comparisons critique from a reviewer’s eyeball into arithmetic that runs on every cycle.
Margin-of-safety rerun. Before promotion, every survivor is re-tested with its edge halved against the original HAC noise and its costs doubled. Note the mechanics: naively halving the whole return series leaves a t-statistic unchanged (t is scale-free); the stressed test must halve the mean against the unstressed standard error, or it tests nothing. We caught that on a synthetic sanity check before shipping, and filed the lesson.
Gates that apply only to future ideas are decorative, so the vault was re-audited. The GEX classifier survived (3.68). The tulip-mania screen survived (z = 5.3). The Dimopoulos Chain v1 — the founder’s namesake model — came up at 2.17 and was retired. No exception was requested.
3. v3: designed for the harder bar, pre-registered, and buried
v3 inverted the architecture: absorb the strictest baseline (log-space HAR + implied + GJR, monthly-refit expanding OLS) as the backbone, and let the states do the only job left — correct the backbone’s residuals. Corrections were shrunk toward zero (k = 60, James-Stein flavor) across three cheap conditionings: the nine GEX×RV cells, the VIX term-structure sign, and a state-arrival flag. Target moved from next-day to 5-day range (v1.5 had already shown daily noise drowns real signal), with leakage guards for the overlapping targets (training truncated at the refit boundary minus the horizon; HAC lags ≥ 10; Duan smearing applied symmetrically to both models).
One spec, committed to version control before the run. Under a family deflator this is not just hygiene: every sibling variant raises the family’s own bar, so the gate makes single-shot pre-registration the mathematically optimal research strategy. The incentive design does the disciplining.
Result: the corrections did not improve the backbone (MAE 34.1 vs 33.7 bps; kill-test t = −1.07). The per-state decomposition shows the information is not uniformly zero — one high-gamma state gained 3.5 bps while a stressed state lost 4.5 — but a result you find by staring at the decomposition after the gate failed is a hypothesis for a future mechanism, not a spec to refit. It is logged as a question, unfished.
What stands after three versions
Dealer positioning carries real information relative to implied volatility alone — that classifier remains in the vault. It does not add forecast value over a competent persistence + leverage + implied ensemble at daily or weekly horizons, under promotion criteria that require the edge to survive at half strength. A v4 exists only if it brings a mechanism the ensemble structurally cannot carry — event-conditioned transition rows (FOMC, CPI) are the standing candidate — and it will face a bar near 3.1, because the deflator counts our own attempts against us.