agent-trading.app Evidence-first advisory · Advisory only
2026-05-26 02:21 UTC

Backtests are evidence, not trade instructions. They replay stored signals against price history and simulation rules; they do not tell you to buy or sell.

Replay plan (coverage + commands)

Read-only preview: required tickers, missing file keys, tradable vs skipped signal counts, suggested shell commands.

JSON: GET /api/backtests/replay-plan

(loading…)
Diagnostics

Read-only snapshot of trading DB + price cache (no writes to data/trading.db).

JSON: GET /api/backtests/diagnostics


  
Price coverage (signal replay filters)

Query parameters: strategy, start, end, optional price_provider, price_dir.


    

Example prefetch (manual, uses yfinance if installed — not used in CI tests): see runbook.

Signal replay (writes only data/backtest.db)

Optional RSI filters (no lookahead; see runbook):

./venv/bin/python scripts/run_backtest.py --mode signal_replay --rsi-filter skip_above_80 --start 2025-01-01 --end 2025-03-01 --price-provider csv --price-dir tests/fixtures/prices
./venv/bin/python scripts/run_backtest.py --mode signal_replay --rsi-filter size_half_above_80 --rsi-period 14 --start 2025-01-01 --end 2025-03-01 --price-provider csv --price-dir tests/fixtures/prices

AT22 dashboard API defaults to port 8891 in typical AT22 setups; do not assume 8890 unless you started the server there.

POST /api/backtests/run JSON: start, end, optional strategy, price_provider (csv|empty|yfinance).

Operator pipeline (optional yfinance for missing files only): --ensure-prices yfinance on scripts/run_backtest.py, or POST /api/backtests/run-with-price-check (localhost / AT22_ALLOW_PREFETCH=1).

Recent runs
id mode strategy range status trust
2 signal_replay relative_strength 2025-01-01 → 2026-04-28 COMPLETED INSUFFICIENT_DATA
1 signal_replay relative_strength 2025-01-01 → 2026-04-28 COMPLETED INSUFFICIENT_DATA
Market Analyst Loading market intelligence…