# CHANGELOG.md All notable changes to this research repository are recorded here. The format follows a light research-change convention: `[phase] date — description` ### Goals - Add frozen E1–E8 pre-registered experiment runner (`scripts/run_e1_e8.py`). - Execute the frozen E1–E8 protocol on the synthetic benchmark dataset. - Produce reproducible evidence artifacts (git-ignored `results/`). ### Executed (2026-08-24, pre-experiment commit `3fbd268`, config hash `ef1e3fd5...`) - Ran E1–E8 zero-optimization measurement on the frozen synthetic 3000-bar XAUUSD M15 series. - Artifacts remain under `results/` (`E1-E8_MANIFEST.json`, `E1-E8_RESULTS.csv`, `E1-E8_SUMMARY.md`, per-experiment JSON/CSV, cost-sensitivity and segment tables). ### Result status (abbreviated) - ARIMA vs naive: **FAIL** (MASE 1.078, negative net expectancy). - SAX vs naive: **FAIL** (MASE 1.353, neg net). - Hybrid vs ARIMA / vs SAX: degenerate paired diff (direction shared), aggregate net negative. - Agreement vs disagreement: inconclusive (both non-positive). - Robustness: not stable across 3 chrono segments. - Scientific conclusion on synthetic benchmark: **INCONCLUSIVE** (no incremental information shown). **Goal of this change:** build the reproducible ARIMA-vs-SAX-vs-Hybrid research harness with strict chronological validation and no-lookahead guarantees. ### Added - Repository governance and protocol documents (`README`, `RESEARCH_PROTOCOL`, `ARCHITECTURE`, `VALIDATION_PROTOCOL`, `LICENSE`). - Initial Python source tree (research harness, no live trading): - common target (`Forward Return / ATR`), forecast record interface - baselines (naive + drift) - SAX component (z-norm, PAA, SAX encoding, analog search, MINDIST) - ARIMA component (statsmodels-backed, configurable `(p,d,q)`) - hybrid evidence layer (deterministic state classification) - data integrity checks - forecast/distribution/economic metric evaluators - chronological walk-forward validation driver - pipeline orchestration -> structured records - Initial test tree (unit, no-lookahead, integration). - Default frozen configuration (`configs/default.json`). - Research log schema (see `src/forecasting/record.py`). ### Notes - No performance claims are made. - No live trading / execution code is included at this stage. - No parameter optimization was performed.