ARIMA_SAX_Hybrid_Forecaster/results/R2-H/R2_H_REPORT.md

132 lines
5.2 KiB
Markdown

# R2-H — HORIZON-BOUNDARY EXPERIMENT EXECUTION
**Experiment:** R2-H
**Protocol:** `r2-h-v0.1.0-frozen` (status: DESIGN-FROZEN, then EXECUTION-AUTHORIZED)
**Execution state:** repository HEAD = the freeze commit; working-tree clean; no commit after freeze
**Outcome:** **NULL** (acceptable, non-positive result)
> This document is the human-readable execution report. Exact hashes, counts,
> and identity metadata are recorded machine-readably in the canonical artifacts:
> `results/R2-H/R2_H_MANIFEST.json` (frozen, protocol + origin + dataset
> identities), `results/R2-H/R2_H_EXECUTION_MANIFEST.json` (execution), and
> `results/R2-H/R2_H_INFERENCE.json` (metrics/bootstrap/FWER). All are byte-
> verified against the attached evidence files. Results are **NOT committed**.
---
## 1. Pre-execution recheck
| check | result |
|---|---|
| HEAD == freeze commit (R2-H) | PASS |
| working tree CLEAN | PASS |
| protocol SHA-256 == manifest | PASS |
| manifest present | PASS |
| source dataset SHA-256 identity | PASS |
| frozen origin lists (hash == manifest) | PASS |
| no commit after freeze | PASS |
| no R1-R modification | PASS |
| no frozen artifact modification | PASS |
All checks PASS; the execution was started strictly under the frozen protocol.
---
## 2. Execution
Every **frozen origin** of the M1 base grid for horizons {15, 60, 240} was
evaluated at exactly the frozen origin & endpoint:
`tau_H(o) = (Close[target_end_index]−Close[o]) / ATR20(o)` (target_end_index is
the FROZEN first valid bar ≥ timestamp(o)+H). Cost per trade applied as the
frozen pre-registered constant `cost_atr(o) = (7.57/10000) × close(o)/ATR20(o)`.
Primary evaluated model: **Drift** (the only model that can carry the primary
decision). **Naive** provides the error reference. Origin lists were read, never
regenerated.
| horizon | role | origins | trade coverage | evidence rows |
|---|:--|--:|--:|--:|
| 15 min | control (outside FWER) | 13,193 | 100% | 26,386 |
| 60 min | primary (FWER family) | 3,169 | 100% | 6,338 |
| 240 min | primary (FWER family) | 863 | 100% | 1,726 |
No-lookahead mutation gates (perturb bars strictly after the frozen target
endpoint at ≥3 origins per primary horizon): **Drift predictions unchanged —
PASS** for all three horizons. DEFECT-001 SAX z-normalization regression:
**PASS** (3/3). Full details in `R2_H_EXECUTION_MANIFEST.json`.
---
## 3. Primary results (Drift; MBB B=60, 10,000 reps, seed=20260826, 95% CI)
Values are observed point estimates; CI = percentile interval. "Interval for
gross" can be wide because per-origin |tau| is heavy-tailed.
| horizon | dir-acc (obs) | dir-acc 95% CI | gross/trade (obs) | gross 95% CI | net/trade (obs) | net 95% CI | MASE | Q1 | Q2 |
|---|---|---|---|---|---|---|---|---|---|
| H15 | 0.494 | [0.485, 0.502] | +0.050 | [−0.052, 0.144] | −3.87 | [−4.08, −3.68] | 1.19 | FALSE | FALSE |
| H60 | 0.490 | [0.470, 0.507] | −0.067 | [−0.624, 0.389] | −3.90 | [−4.62, −3.33] | 1.57 | FALSE | FALSE |
| H240 | 0.479 | [0.440, 0.514] | −0.888 | [−2.92, 0.708] | −4.35 | [−6.54, −2.58] | 2.51 | FALSE | FALSE |
- Q1-A (>0.50): **FALSE** at every horizon (CIs include 0.50; point estimates ≤ 0.49).
- Q1-B (gross > 0): **FALSE** (CI lower bounds ≤ 0).
- Q1-C (Drift error < naive): **FALSE** (paired naive−Drift error CI is negative; MASE > 1).
- Q2 (net > 0 under 7.57 bps): **FALSE**; net is ~ −3.8 to −4.4 ATR/trade because 7.57 bps ≈ 3.5–3.9 ATR/trade on M1.
---
## 4. Global FWER gate (family {60,240}, α=0.05)
Joint cross-horizon block bootstrap (B=60 M1 blocks), max-statistic under a
re-centered global null on the direction-accuracy excess over 0.5.
| | value |
|---|---|
| observed max statistic | −0.0096 (negative: both horizons below 0.5) |
| null 95% critical value | +0.0305 |
| null p-value | 0.94 |
| **gate rejected** | **NO** |
---
## 5. Outcome (frozen matrix)
**OUTCOME = NULL.**
- Global gate not rejected;
- no family horizon passes Q1 (A, B, C);
- no economic survival (Q2).
---
## 6. Scientific interpretation
The ~15-minute R1-R directional null **persists** at 60- and 240-minute
horizons: Drift direction accuracy stays ≤ 0.49 (≤ chance), gross per-trade
return is ~0/negative-lit, error is not statistically better than the naive
baseline, and net economics under the frozen 7.57 bps cost are decisively
negative. No directional signal and no economically viable horizon exists in the
study family. The 240-min horizon is underpowered (n_eff = 14) as
pre-pre-registered, but its point accuracy is below chance, so the NULL
reading stands.
---
## 6bis. Diagnostics note
ARIMA/Sax/Hybrid are diagnostic-only models. They cannot establish the primary
claim, so they were deferred to avoid an impractical runtime on the H15
13k-origin set. Their absence does not change the decision; they can be added as
a later optional diagnostic-only follow-up.
---
## 7. Governance
- All execution artifacts are hash-linked to the frozen protocol; the freeze
manifest and origin hashes are unchanged.
- No frozen parameter, list, model, or criterion was changed.
- Results are **not** committed/pushed (awaiting separate owner authorization).
- Outcome NULL is an acceptable result; no positive result was assumed or
manufactured.
**End of R2-H execution report.**