Strategies · Record

a4-signed-volume-persistence

a4 / a4-signed-volume-persistence @ a4-v1 · code 3f6e122

campaign strategyREJECTED

Execution+Statistical Gate: Bootstrap 95% CI [-0.0021, 0.0374]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
Order flow / aggressor imbalance
a4-signed-volume-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 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 (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 reason
Intake
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.0176R (PF=1.027) over 24805 resolved trades, 3/4 qualifying years (n>=15) agree with the aggregate sign, top-10 winner concentration 4.6% (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.0021, 0.0374]R includes zero -- the raw edge is not statistically distinguishable from noise at this sample size.
CLOSED
REJECTEDExecution+Statistical Gate: Bootstrap 95% CI [-0.0021, 0.0374]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)
24,805
Expectancy
+0.018R
Profit factor
1.03
Win rate
34.0%
Total R
436
Max DD
147R
Longest L streak
25
Trades / year
6924.1
SplitWindownExpectancyPFMax DD
Discovery
Validation
Holdout
Bootstrap CI
95% CI -0.002R .. +0.037R · P(expectancy > 0) = 96%
Winner concentration
Top 5 2.3% · top 10 4.6% · top 20 9.2% 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 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
new independent mechanism

Frozen specification

Snapshotted at intake — not re-read from a live module
Mechanism hypothesis
A sequence of directional bars carrying disproportionately high volume in the SAME direction (a proxy for persistent directional participation, not true order flow) predicts short-horizon continuation.
Long rule
Over the last 5 closed 5-minute bars, sign each bar's own volume by its own close-vs-open direction and compute netFraction = sum(signed volume) / sum(raw volume). If netFraction >= 0.6 AND at least 4 of the 5 bars closed up: enter LONG (continuation) at the next 1-minute bar's open.
Short rule
Same computation; if netFraction <= -0.6 AND at least 4 of the 5 bars closed down: enter SHORT.
Entry trigger
A rolling 5-bar signed-volume net fraction (a directional-volume PROXY from observable OHLCV, not true order flow) reaches +/-0.6 with at least 4 of the 5 bars sharing that same direction. Edge-detected: re-armed only once the window next fails to qualify, then qualifies again.
Earliest executable entry
Next 1-minute bar's open after the triggering 5-minute 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
The signed-volume net fraction at bar i uses only closed 5-minute bars up to and including bar i itself (a standard lagging statistic). 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
MODERATE
Required data
MNQ 1-minute OHLC, MNQ 1-minute volume (available via loadVolumeResearchBars(), 2022-06-03 onward)
Campaign data window
MNQ 2022-06-03..2026-09-15
Parameters
lookback5m = 5 (integer) — 5-minute bars over which the signed-volume net fraction is computed.persistenceThreshold = 0.6 (number) — Minimum absolute net fraction required.minSameSignBars = 4 (integer) — Minimum number of the lookback bars that must share the dominant direction.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 first
2026-09-16
a4-signed-volume-persistence@a4-v1 registeredREJECTED · EXECUTION_STAT
[a4] Execution+Statistical Gate: Bootstrap 95% CI [-0.0021, 0.0374]R includes zero -- the raw edge is not statistically distinguishable from noise at this sample size.
research-output/strategy-lab/experiment_registry.json