Files
signal-platform/reports/README.md
T

100 lines
4.6 KiB
Markdown

# Backtest report index
Reports dated 2026-07-11 or earlier are the historical production research
record and are intentionally left untouched.
The retained 2026-07-12/13 S/R reports mark a decision or provide the matching
control for one:
- The initial full-period clean-detector regression,
`backtest-20260712-sr-detector-rewrite.json`, remains a local-only report and
is intentionally not added to version control.
- `backtest-sr-v2-train-production_control.json`: pre-July-2024 production
control shared by the detector matrices.
- `backtest-sr-v2-train-rewrite.json` and
`backtest-sr-v2-train-rewrite_legacy_primary.json`: isolate detector geometry
from the primary-target selector.
- `backtest-sr-v2-train-rr_aligned_control.json` and
`backtest-sr-v2-validation-rr_aligned_control.json`: show why primary target
selection must not simply inherit the 2.0 activation floor.
- `backtest-sr-traffic-train-legacy_traffic_grid_only.json`: reproduces the
accidental legacy grid edge.
- `backtest-sr-traffic-train-legacy_range_grid_neutral.json`: proves that the
grid effect does not require volume or touch strength.
- `backtest-sr-v2-validation-production_control.json` and
`backtest-sr-v2-validation-legacy_range_grid_neutral.json`: the post-2024
control and failed range-grid replication. The compact paired result remains
in `sr-v2-validation-comparison.json` and `sr-v2-validation-cohorts.csv`.
- `backtest-sr-range-factor-train-production_range504.json` and
`backtest-sr-range-factor-train-rewrite_range504_legacy_primary.json`: isolate
the explicit 504-day multiplicative-range factor.
- `backtest-sr-range-residual-train-rewrite_range504_structural_legacy_primary.json`
and `backtest-sr-range-residual-train-rewrite_range504_structural_primary2.json`:
the final target-source and primary-floor decision.
The full-period production comparison writes:
- `backtest-sr-full-production_control.json`
- `backtest-sr-full-rewrite_range504_structural_legacy_primary.json`
- `sr-full-production-vs-candidate-comparison.json`
- `sr-full-production-vs-candidate-cohorts.csv`
Those outputs should be retained as the final decision point for this research
branch.
The follow-up breadth-preserving ranking experiment writes
`backtest-sr-overlay-full.json`. Retain it only as the decision point for the
pre-registered 5% clean-structure overlay; exploratory weight sweeps should not
be committed.
The Gate Target Ladder (the `explicit_target_ladder` research arm) parity run
writes:
- `backtest-sr-full-explicit_target_ladder.json`
- `sr-explicit-target-ladder-comparison.json`
- `sr-explicit-target-ladder-cohorts.csv`
These establish the final architectural decision: the volume-free explicit
ladder retains all 1,086 qualified setups and exactly reproduces the production
book (Sharpe 2.03, CAGR 50.0%, max drawdown 21.4%, 321 trades). The final rerun
after scanner integration passed: the regenerated report changed only its
`generated_at` timestamp, confirming that the shared helper preserves exact
parity. Nothing in this research branch deploys the change to production.
The archived single-parameter decision point is:
- `backtest-20260713-gtl-tuning-matrix.json`
- `backtest-20260713-gtl-tuning-matrix.md`
These two compact consolidated files are retained; the 20 full per-arm reports
were removed after consolidation.
The completed 2026-07-13 matrix found no single-parameter replacement that
passed all robustness checks. Retain its JSON and Markdown as that decision
point. The retained-versus-added decomposition is retained as:
- `backtest-20260713-gtl-confirmation-matrix.json`
- `backtest-20260713-gtl-confirmation-matrix.md`
Detailed per-arm reports were not retained.
The completed confirmation matrix found one near-hit but no formal winner:
strength-1000 intersection improved full/train/post-2024 Sharpe and CAGR, while
max drawdown worsened from 21.4% to 21.7%. Retain that matrix as the cohort-
decomposition decision point. The final stability check is retained as:
- `backtest-20260713-gtl-strength-sensitivity.json`
- `backtest-20260713-gtl-strength-sensitivity.md`
Its pre-registered decision requires at least two adjacent scales to pass all
six unchanged checks.
Final sensitivity result: exact control and strength-1000 replication passed.
Scale 1500 was the sole 6/6 arm, but no adjacent scale passed, so the stable-
plateau rule rejected it. Retain the consolidated JSON/Markdown as the closing
GTL decision point. No confirmation or tuned strength value should be promoted
from this snapshot.
The temporary matrix runners and their configurable backtest hooks were removed
after consolidation. The normal local snapshot backtester remains.