docs: Arc 0 baseline — full research loop green from this project

Scaffold -> run -> sweep -> walkforward -> mc -> generalize -> reproduce,
all over real recorded data (GER40/US500/EURUSD/XAUUSD, 2018-2026 m1).
Zero engine friction; reproduce re-derived 6/6 sweep members bit-identically.
Engine: aura @ 1ebb94c.
This commit is contained in:
2026-07-13 15:13:50 +02:00
parent bc9552655e
commit 221c408ac7
+89
View File
@@ -0,0 +1,89 @@
# Arc 0 — baseline through the full research loop
**Date:** 2026-07-13
**Engine:** aura @ `1ebb94c` (release build)
**Project commit at run time:** `bc95526` (the `aura new` scaffold, untouched)
## Purpose
Prove that an external, data-only project carries the entire research loop —
scaffold → run → sweep → walkforward → mc → generalize → reproduce — on real
recorded data. Arc 0 is explicitly *not* edge-finding: the starter blueprint
(SMA 2/4 cross → bias) on minute bars is expected to be noise, and it is.
Every friction found here is an engine finding; Arc 0 found none.
## Universe and window
| instrument | pip (sidecar) | coverage used |
|---|---|---|
| GER40 | 1 | 2018-01-01 .. 2026-06-30 |
| US500 | 1 | 2018-01-01 .. 2026-06-30 |
| EURUSD | 0.0001 | 2018-01-01 .. 2026-06-30 |
| XAUUSD | 0.1 | 2018-01-01 .. 2026-06-30 |
Window flags: `--from 1514764800000 --to 1782863999999` (Unix ms). Data root
is the built-in archive default; `Aura.toml` needs no `data` entry.
## What ran (all from this project directory)
```bash
aura sweep blueprints/signal.json --list-axes
# aura_quadriga_signal.fast.length:I64 default=2
# aura_quadriga_signal.slow.length:I64 default=4
# aura_quadriga_signal.bias.scale:F64 default=0.5
# baseline run, all four instruments (~3 s each, 8.5 y of m1 bars)
aura run blueprints/signal.json --real GER40 --from 1514764800000 --to 1782863999999
# sweep: bound-default overrides, 3x2 grid (1.9 s wall, 6 members)
aura sweep blueprints/signal.json --real GER40 --from ... --to ... \
--axis aura_quadriga_signal.fast.length=2,4,8 \
--axis aura_quadriga_signal.slow.length=16,32 --name arc0-sweep-ger40
# walkforward: 100 windows x 3 IS trials, deflation per window (5.8 s wall)
aura walkforward blueprints/signal.json --real GER40 --from ... --to ... \
--axis aura_quadriga_signal.fast.length=2,4,8 --name arc0-wf-ger40
# mc R-bootstrap: 1000 resamples over the OOS R-sequence (7.8 s wall)
aura mc blueprints/signal.json --real GER40 --from ... --to ... \
--axis aura_quadriga_signal.fast.length=2,4,8 --resamples 1000
# generalize: one candidate graded across the universe (5.3 s wall)
aura generalize blueprints/signal.json --real GER40,US500,EURUSD,XAUUSD \
--axis aura_quadriga_signal.fast.length=8 --from ... --to ... --name arc0-generalize
# registry + determinism
aura runs families # lists the recorded content ids
aura reproduce 6c20bf8d-0-GER40-w0-r0-s0-0 # 6/6 members bit-identical
```
## Headline results (noise, as expected)
- Baseline expectancy_r per instrument: GER40 +0.0016, US500 0.0164,
EURUSD 0.0143, XAUUSD 0.0149 (700840k trades each — the m1 SMA cross
churns; conviction terciles and sqn_normalized ≈ 0).
- Walkforward stitched OOS: expectancy_r +0.0016 over 490k trades,
param_stability shows the IS winner wandering (fast.length mean 4.58,
p5=2, p95=8) — a textbook no-edge picture.
- MC R-bootstrap: P(E[R] ≤ 0) = 0.253 — indistinguishable from zero.
- Generalize (fast.length=8): sign_agreement 3/4, worst_case 0.0024 —
no candidate survives the floor, correctly.
## Engine verdicts
- Manifests are self-describing: swept axes + stop regime in `params`,
untouched bound values in `defaults`, per-instrument sidecar pip in the
broker label, engine and project commits stamped.
- Determinism holds from an external project: `reproduce` re-derived all
6 sweep members bit-identically.
- Throughput: every verb over 8.5 years of m1 data finishes in single-digit
seconds on this box (sweep 527 % CPU, walkforward 1288 % — parallelism
across disjoint sims).
- Friction found: none. (One near-miss: the raw `runs/families.jsonl`
`family` field is a storage key, not the reproduce handle — the public
path is `aura runs families``aura reproduce <family_id>`.)
## Next
Arc 1+ is real research over this universe (orthogonal confirm/refute
components, conditional R-curve shapes) — direction to be set per arc.