Backtests

Run a backtest across a pair universe (async)

Backtests one strategy across a pair universe. Pair cap depends on tier: Pro 50, Power 250 (Power covers crypto-top-250 in one job). Asynchronous — returns only job_id + poll_url; poll /api/v1/jobs/{job_id} until status='completed'. Background runtime ~1.5s × n_pairs, so a 250-pair job takes roughly 6 minutes. Use universe_id (e.g. 'crypto-top-10') or pairs[]. Benchmarks bnh_fixed and dca_reference_v2 are accepted — run one over the same universe and interval, because an excess over buy-and-hold is not a statement without the buy-and-hold value itself. Results live only in the job response; they are deliberately not persisted to backtest_runs and will not appear in /v1/backtests later. Per-day quota: Pro 5/Tag, Power 50/Tag. [API Pro tier]

post/api/v1/backtests/universe

Request

  • Base URL: https://tradingstrategies.work
  • URL: https://tradingstrategies.work/api/v1/backtests/universe
  • Auth: HTTP bearer

Request body

universe_idstring

Pre-curated crypto universe id from /v1/universes (e.g. 'crypto-top-10', 'crypto-top-250'). Capped by tier (Pro 50, Power 250); a larger universe is rejected, not silently truncated.

pairsstring[]

Explicit pair list (alternative to universe_id).

strategystring required

Strategy key from /v1/strategies.

interval'1d' | '2d' | '3d' | '1w' | '1M' required
date_fromstring date required
date_tostring date
capitalnumber
paramsobject

Response

Job accepted. Use job_id with /api/v1/jobs/{job_id} to poll.

Changes

No recorded changes to this operation across all 1 revision of this API.