2026-08-24 17:10:57 +07:00
|
|
|
# CHANGELOG.md
|
|
|
|
|
|
|
|
|
|
All notable changes to this research repository are recorded here.
|
|
|
|
|
|
|
|
|
|
The format follows a light research-change convention:
|
|
|
|
|
|
|
|
|
|
`[phase] date — description`
|
|
|
|
|
|
2026-08-24 18:38:38 +07:00
|
|
|
### 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).
|
2026-08-24 17:10:57 +07:00
|
|
|
|
|
|
|
|
**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.
|