Strategies · Record

a5-15-trend-embedded-compression

a5 / a5-15-trend-embedded-compression @ a5-v1 · code 67d8d64

campaign strategyREJECTED

Execution+Statistical Gate: Bootstrap 95% CI [-0.0353, 0.1113]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 next
Mechanism family
Volatility expansion / contraction
a5-15-trend-embedded-compression
Mechanism parent
a03-vol-contraction-expansion
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 applicable
Engine certified
unknown
Execution certified
unknown
Integrity audit
unknown
Shadow verifier
unknown
Technical invalidation
None recorded.

Artifacts

Everything committed for this record
Campaign record (A5)
research-output/strategy-lab/campaigns/a5/campaign_state.json

Stage ladder

Each cell carries the campaign runner's own classification label — hover for the verdict and its reason
Intake
passed
Pre-reg
passed
Lightning
passed
Robust
passed
Exec/stat
failed
Validation
H-eligible
Holdout
Audit
Closed
failed
INTAKE
Registered into campaign A5 at code version 67d8d64.
PREREGISTRATION
Pre-test passed: distinct, causal, executable, required data available.
LIGHTNING
SURVIVED_LIGHTNING_SCREENAggregate expectancy 0.0367R (PF=1.056) over 1606 resolved trades, 3/4 qualifying years (n>=15) agree with the aggregate sign, top-10 winner concentration 33.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.0353, 0.1113]R includes zero -- the raw edge is not statistically distinguishable from noise at this sample size.
CLOSED
REJECTEDExecution+Statistical Gate: Bootstrap 95% CI [-0.0353, 0.1113]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 here
Screen n (FIXED_2R)
1,606
Expectancy
+0.037R
Profit factor
1.06
Win rate
34.6%
Total R
59
Max DD
51R
Longest L streak
17
Trades / year
449.1
SplitWindownExpectancyPFMax DD
Discovery
Validation
Holdout
Bootstrap CI
95% CI -0.035R .. +0.111R · P(expectancy > 0) = 84%
Winner concentration
Top 5 16.9% · top 10 33.9% · top 20 67.8% of total R.
Leave-one-year-out
No sign flip when any single year is removed.

Read from research-output/strategy-lab/campaigns/a5/campaign_state.json

Holdout position

One-shot, sealed, never retried
Eligible
Authorised
Not authorised.
Specification frozen
Sealed data consumed
No.
Validation data consumed
No.

Lineage

Declared at intake, carrying any prior negative result
Relation to prior work
experimental descendant
Note
Legacy volCompression, A0.3 and A2's BB/Keltner squeeze all tested compression -> expansion unconditionally and direction-agnostically, and all were rejected. In A5.15 the trend stack is a REQUIRED precondition and direction is fixed by the trend rather than by the break. Declared descendant; carries those negative priors.

Frozen specification

Snapshotted at intake — not re-read from a live module
Mechanism hypothesis
Compression INSIDE an intact trend is continuation coiling, not a reversal setup -- the trend gate is a required precondition, not a filter bolted on afterwards.
Long rule
close > SMA50 > SMA200 for 20 consecutive bars; range(10) <= P25(trailing 240) with no close crossing SMA50 during it; a close above the compression band: enter LONG next bar open.
Short rule
Mirrored for a downtrend.
Entry trigger
Edge-triggered on the break; re-arms only once a new compression forms.
Earliest executable entry
The OPEN of the next 1-minute bar after the trigger bar closes. Enforced structurally by A5StrategyBase's pending-entry queue, which is drained at the top of the following ingest() -- a rule cannot fill on its own trigger bar.
Initial stop
The compression band's opposite boundary.
Exit
FIXED_2R via the shared TradeTracker, max-hold backstop.
Session restriction
RTH onlyThe compression percentile population is dominated by thin overnight ranges if sessions are pooled.
Causality
Both moving averages and the compression percentile end at the trigger bar. Every statistic is computed from closed 1-minute bars up to and including the trigger bar, against trailing (already-observed) history. Entry is deferred to the next bar's open. No same-bar entry.
Expected frequency
LOW
Required data
MNQ 1-minute OHLC
Campaign data window
MNQ 2022-06-03..2026-09-15
Parameters
trendBars = 20 (integer) — Consecutive bars the trend stack must hold.compWindow = 10 (integer) — Compression measurement window.compPercentile = 0.25 (number) — Compression percentile.

Read from research-output/strategy-lab/campaigns/a5/campaign_state.json

History

Every dated event this record appears in, newest first
2026-09-17
a5-15-trend-embedded-compression@a5-v1 registeredREJECTED · EXECUTION_STAT
[a5] Execution+Statistical Gate: Bootstrap 95% CI [-0.0353, 0.1113]R includes zero -- the raw edge is not statistically distinguishable from noise at this sample size.
research-output/strategy-lab/experiment_registry.json