Validation

Strategy transparency

The MA-crossover strategy used by the agent runs through a four-stage Monte Carlo Permutation Test framework. Every stage's result is published below — including failures.

Verdict
NO SHIP
Validated April 29, 2026 · 17,545 bars of 1h SOL/USDC (2024-01-012026-01-01)
Validation FAILED — strategy did not clear the four-stage MCPT gate. The exported parameters are the agent's hardcoded defaults; the agent will compute MA crossover signals but those signals have no demonstrated edge over random. Operator should either (a) keep the strategy disabled in production, (b) retune the search space and re-run validation, or (c) use SpectraQ as a demo only with this verdict surfaced to depositors.

Stage 2 — IS permutation

p-value · 1000 perms
0.3417
≥ 0.05 — fails gate
Real IS Sharpe vs distribution of best-of-grid Sharpes on shuffled price series.

Stage 3 — Walk-forward

OOS Sharpe (annualized)
-0.397
return -32.4% · dd -64.9%
Rolling re-optimization on training window, params applied unchanged to test window.

Stage 4 — WF permutation

p-value · 200 perms
0.4776
≥ 0.05 — fails gate
Real WF Sharpe vs distribution of WF Sharpes on shuffled series. The strongest gate.

Walk-forward OOS equity

Concatenated test-window log returns, exp-cumsum

Walk-forward OOS equity curve

In-sample optimization

IS-best fast / slow
17 / 80
IS Sharpe
+1.328

Live agent params

fast_n
10
slow_n
30

The agent currently runs MA(10, 30). This is the hardcoded default; given the failed verdict, treat the live signal as a demonstration only.

Reproduce

All four stages can be reproduced from the open-source pipeline.

cd strategy
source .venv/bin/activate
python scripts/run_validation.py    # writes data/validation_result.json
python scripts/export_params.py     # publishes to agent + frontend
jupyter lab notebooks/01_validate_ma_crossover.ipynb