Loading…

Can price and volume data predict a 40% crash within 12 months?

Crash-Odds Model (M-020). Short answer: the hub rates it NOT RELIABLE.

Data as of .

The verdict

NOT RELIABLE: purged out-of-fold AUC 0.552 (Brier within 0.0016 of the constant base rate) shows no discriminative power. The gate step's apparent pass (AUC 0.722) had no 12-month embargo and failed once applied. Retired at v1.

Development summary: Once look-ahead is purged the model has no usable power: gate-step AUC 0.722 lost to a vol-only baseline (0.725) and on precision@20; purged year-block OOF AUC 0.552, Brier 0.1426, within 0.0016 of a constant base rate. Retired at v1.

What the review allows

  • The purged OOF numbers (AUC 0.5517, Brier 0.14259) as the honest record that price/volume-only features do not predict >=40% drawdowns over 12m on this panel — useful negative evidence for scoping a v2.
  • as a reproducibility artifact / regression fixture for a future v2 harness — not as a live signal.

What the review rules out

  • Treat p_crash_12m as predictive of anything — read it nowhere.
  • Cite the gate step's AUC 0.7218 / precision@20 0.2923 as validated performance — superseded by the purged OOF result and very likely inflated by a non-purged split.
  • Assume the volatility-only baseline is validated either — it was only compared on the same non-purged gate window, not purged itself.
  • Extend p_crash_12m's survivorship-biased base rate to any absolute crash-probability claim — it is a measured lower bound.

What it predicts

ItemDetail
Question it answersWhat is the probability that a name suffers a -40% or worse peak-to-trough drawdown within the next 12 months, on price/volume/regime information alone?
MethodRandomForest + purged isotonic
How it worksRandomForest (depth 6, leaf 200, 400 trees, max_features 0.5) on a point-in-time monthly panel; chronological gate vs a vol-only baseline, then purged year-block out-of-fold isotonic calibration.
InputsRealised volatility (multi-window), 52-week drawdown, Distance from moving averages, Momentum (several horizons), Dollar-volume size proxy
Outputp_crash_12m — isotonic-calibrated probability of a >=40% drawdown in the next 252 trading days, per symbol per formation date; plus p_crash_raw and rank_pct.
Horizon252 trading days (~12 months) forward, measured on daily closes only (not intraday lows)
CoveragePoint-in-time monthly panel, matured 2003-2025 formations (667,002 rows, 116,525 confirmed crashes) for the final fit; scored cross-section 2026-08-31 = 8,279 names across 20 markets
MarketsUS, India, Japan, Korea, Hong Kong, Taiwan, Canada, Singapore, UK, Germany, France, Switzerland, Netherlands, Italy, Spain, Sweden, Denmark, Norway, Poland, Finland
Model typeModel · ML/Stat
StageRetired
Versionv1, first recorded 4 Sep 2026

Validation evidence

Training data: not stated. Test data: 2024-09→2025-08. Out-of-sample design: holdout.

Headline results from the model's development record, as the hub publishes them.
MeasureResultCompared withNote
Gate AUC vs volatility-only baseline0.72180.7250 (baseline)baseline won; the gate split lacks the 12-month embargo the purged OOF stage below applies
Gate precision@200.29230.2949 (baseline) / 0.1346 (base rate)gtrain_rows=498,407, gate_rows=85,732, 108 matured cohorts, 32 features, window 2024-09-30..2025-08-31
Purged out-of-fold AUC (production calibration)0.55170.50 = coin flipyear-block OOF, 12-month embargo each side, folds 2016-2025 — this is the honest number
Purged out-of-fold Brier score0.14259~0.1442 = naive Brier at the 17.47% full-sample base rate (116,525/667,002)within 0.0016 of predicting the unconditional rate for every name; base rate not logged separately for the OOF-specific fold population
The hub's standard metrics for this model class (only those the record measured).
MetricSample / windowCompared withValueRange (CI)
AUC (headline)purged OOF 2016–250.50.5517n/a
Precision at kgate 2024-09→25-08 (unpurged)vol-only 29.49%, base 13.46%29.23%n/a
Brier scorepurged OOF 2016–250.14420.1426n/a

What the validation review found

Is the design sound? The harness (point-in-time monthly panel, rolling gate cutoff, purged year-block OOF isotonic calibration, RandomForest) is a direct, appropriate mirror of growth-model's validated Moonshot Odds Model applied to the opposite tail — same problem class, same overfitting risk — and the target definition (path-based max drawdown from daily closes, censoring-aware label) is the right read of '>=40% drawdown within 12 months' for a risk lens. The gap between the two evaluation stages is itself conceptually informative: it demonstrates why the embargo step exists rather than casting doubt on the harness design.

Data quality. Features are price/volume/regime only, correctly excluding fundamentals (not point-in-time before 2026-08-22) and short interest (single undated snapshot) rather than testing them and hoping. Survivorship was measured directly on, not assumed: 0 of 10,988 symbols end more than 180 days early, 23 (0.21%) end more than 30 days early — the panel is today's listed universe with history attached, so measured crash rates are a lower bound, in the same direction and for the same reason Moonshot's absolute-return upper bound is documented.

Backtest. Two-stage: a chronological gate (train strictly before a 12-cohort out-of-time window, 108 matured cohorts, 498,407 train / 85,732 test rows, 32 features) against a trailing-rvol_12m baseline on identical rows, then a purged year-block (12-month embargo each side) out-of-fold isotonic calibration on the all-cohorts final fit (667,002 rows, 116,525 positives), folds 2016-2025. The gate reported AUC 0.7218 (baseline 0.7250, baseline won) and precision@20 0.2923 (baseline 0.2949, base rate 0.1346); the purged OOF — the stage that actually embargoes the forward-looking label window — returned AUC 0.5517 and Brier 0.14259. The two numbers disagree sharply, and the purged one is the one to trust.

Calibration. Purged OOF Brier of 0.14259 is close to (0.0016 above) the Brier a constant prediction at the full-sample base rate (17.47% = 116,525/667,002) would score (~0.1442) — i.e. isotonic calibration on this fitted score adds essentially nothing over ignoring every feature and predicting the unconditional rate for every name. Consistent with that, p_crash_12m collapses to 34 distinct values with 60.2% of the scored cross-section (4,986/8,279 names) pinned at the single floor value 0.1545 — the calibrated output is not a spectrum for most of the universe.

Limitations

Questions

Is the Crash-Odds Model validated?
Its validation review dated 4 Sep 2026 rated it NOT RELIABLE: purged out-of-fold AUC 0.552 (Brier within 0.0016 of the constant base rate) shows no discriminative power. The gate step's apparent pass (AUC 0.722) had no 12-month embargo and failed once applied. Retired at v1.
What does the Crash-Odds Model predict?
It answers: What is the probability that a name suffers a -40% or worse peak-to-trough drawdown within the next 12 months, on price/volume/regime information alone? Output: p_crash_12m — isotonic-calibrated probability of a >=40% drawdown in the next 252 trading days, per symbol per formation date; plus p_crash_raw and rank_pct. Horizon: 252 trading days (~12 months) forward, measured on daily closes only (not intraday lows). Coverage: Point-in-time monthly panel, matured 2003-2025 formations (667,002 rows, 116,525 confirmed crashes) for the final fit; scored cross-section 2026-08-31 = 8,279 names across 20 markets.
How was the Crash-Odds Model tested?
Training data not stated, test data 2024-09→2025-08, out-of-sample design: holdout. Purged out-of-fold AUC (the honest number): 0.5517 vs 0.50 = coin flip; Gate AUC vs volatility-only baseline: 0.7218 vs 0.7250 — baseline won; Purged out-of-fold Brier score: 0.14259 (~= naive base-rate-only Brier of ~0.1442).

Source: the Model Hub's public model register, as of 6 Nov 2026. The M-020 page in the live Model Hub carries the full development and validation record, monitoring and open decisions. All 30 models and their verdicts.

Terms used on this page