a4-volatility-clustering-persistence
a4 / a4-volatility-clustering-persistence @ a4-v1 · code 3f6e122
campaign strategyREJECTED
Execution+Statistical Gate: Bootstrap 95% CI [-0.0116, 0.0491]R includes zero -- the raw edge is not statistically distinguishable from noise at this sample size.
Lifecycle
completed
Outcome
fail
Phase
Phase A
Research gate
EXECUTION_STAT
Engine
strategy lab
Market
MNQ
Timeframe
MNQ 1-minute OHLC
Side
BOTH
Tracking
Family, lineage and what this record needs nextMechanism family
Volatility expansion / contraction
a4-volatility-clustering-persistence
Mechanism parent
None declared.
Phase detail
Scientific validation lane (Phase A).
Next required test
None — this record is complete.
Integrity & certification
Signals as recorded; NOT_PASSED means not passed or not applicableEngine certified
unknown
Execution certified
unknown
Integrity audit
unknown
Shadow verifier
unknown
Technical invalidation
None recorded.
Artifacts
Everything committed for this recordCampaign record (A4)
research-output/strategy-lab/campaigns/a4/campaign_state.json
Stage ladder
Each cell carries the campaign runner's own classification label — hover for the verdict and its reasonIntake
passed
Pre-reg
passed
Lightning
passed
Robust
passed
Exec/stat
failed
Validation
—
H-eligible
—
Holdout
—
Audit
—
Closed
failed
INTAKE
Registered into campaign A4 at code version 3f6e122.
PREREGISTRATION
Pre-test passed: distinct, causal, executable, required data available.
LIGHTNING
SURVIVED_LIGHTNING_SCREENAggregate expectancy 0.0191R (PF=1.029) over 7025 resolved trades, 3/4 qualifying years (n>=15) agree with the aggregate sign, top-10 winner concentration 14.9% (below the 50% concentration flag). Survives the Lightning Screen -- NOT validated.
ROBUSTNESS
ROBUSTNESS_SURVIVEDNo single-year dependence, no severe winner concentration (no preregistered neighborhood declared).
EXECUTION STAT
EXECUTION_STAT_FAIL_CI_INCLUDES_ZEROBootstrap 95% CI [-0.0116, 0.0491]R includes zero -- the raw edge is not statistically distinguishable from noise at this sample size.
CLOSED
REJECTEDExecution+Statistical Gate: Bootstrap 95% CI [-0.0116, 0.0491]R includes zero -- the raw edge is not statistically distinguishable from noise at this sample size.
Evidence recorded
Quoted from the campaign record — never recomputed hereScreen n (FIXED_2R)
7,025
Expectancy
+0.019R
Profit factor
1.03
Win rate
34.0%
Total R
134
Max DD
105R
Longest L streak
21
Trades / year
1960.9
| Split | Window | n | Expectancy | PF | Max DD |
|---|---|---|---|---|---|
| Discovery | — | — | — | — | — |
| Validation | — | — | — | — | — |
| Holdout | — | — | — | — | — |
Bootstrap CI
95% CI -0.012R .. +0.049R · P(expectancy > 0) = 88%
Winner concentration
Top 5 7.5% · top 10 14.9% · top 20 29.9% of total R.
Leave-one-year-out
No sign flip when any single year is removed.
Read from research-output/strategy-lab/campaigns/a4/campaign_state.json
Holdout position
One-shot, sealed, never retriedEligible
—
Authorised
Not authorised.
Specification frozen
—
Sealed data consumed
No.
Validation data consumed
No.
Lineage
Declared at intake, carrying any prior negative resultRelation to prior work
new independent mechanism
Frozen specification
Snapshotted at intake — not re-read from a live moduleMechanism hypothesis
Consecutive high-realized-volatility intervals (a persistent percentile-rank state, not a single expansion event) cluster and produce predictable directional continuation beyond the expansion itself.
Long rule
On each closed 5-minute bar, compute a short-window (5-bar) realized-volatility reading and its percentile rank within the trailing 60-reading history. If this percentile >= 0.8 for 4 CONSECUTIVE bars, and the net displacement over those 4 bars is positive: enter LONG (continuation) at the next 1-minute bar's open.
Short rule
Same persistence condition with a negative net displacement over the persistence window: enter SHORT.
Entry trigger
A rolling realized-volatility percentile rank stays at or above 0.8 for 4 consecutive closed 5-minute bars. Edge-detected: fires once when persistence is first confirmed, re-arms only once the high-vol-state streak next breaks.
Earliest executable entry
Next 1-minute bar's open after the persistence-confirming bar closes.
Initial stop
1.5x ATR(14, 5-minute, computed only from closed bars strictly before the trigger bar) placed on the adverse side of the entry price.
Exit
FIXED_2R only (this seed strategy's declared A4 scope), via the shared TradeTracker; 5-day max-hold expiry as a backstop.
Causality
Each vol reading and its percentile rank at bar i use only closed 5-minute bars up to and including bar i itself, against a trailing (already-observed) history (standard lagging statistics). The ATR used for the stop is computed only from bars strictly before the trigger bar. Entry is deferred to the next 1-minute bar's open after the trigger bar closes. No same-bar entry.
Expected frequency
LOW
Required data
MNQ 1-minute OHLC
Campaign data window
MNQ 2022-06-03..2026-09-15
Parameters
innerVolWindow5m = 5 (integer) — Trailing window (5-minute bars) each individual realized-vol reading is computed over.volHistoryLength = 60 (integer) — Number of trailing vol readings forming the percentile-rank population.highVolPercentile = 0.8 (number) — Percentile rank at or above which a bar counts as HIGH_VOL_STATE.persistMinBars = 4 (integer) — Consecutive HIGH_VOL_STATE bars required before firing.atrLength5m = 14 (integer) — 5-minute ATR lookback used for the fixed-multiple stop.stopAtrMultiple = 1.5 (number) — Stop distance as a multiple of the 5-minute ATR.
Read from research-output/strategy-lab/campaigns/a4/campaign_state.json
History
Every dated event this record appears in, newest first2026-09-16
a4-volatility-clustering-persistence@a4-v1 registeredREJECTED · EXECUTION_STAT
[a4] Execution+Statistical Gate: Bootstrap 95% CI [-0.0116, 0.0491]R includes zero -- the raw edge is not statistically distinguishable from noise at this sample size.
research-output/strategy-lab/experiment_registry.json