Backtests, in one SQL call

Same SQL as live, against any past day — just add ?asof=YYYY-MM-DD. Point-in-time across the historical window, with signal-fire history (/signals/.../history) and ticker snapshots (/tickers/{t}/history) for the full backtest pipeline. No backtest engine to build.

GET /v2/scan?asof=

Replay any screen against history

Pass the same WHERE clause you’d use live, plus an asof=YYYY-MM-DD parameter. We return the tickers that matched at that moment, with point-in-time prices, volumes, and signal flags. Loop over a range of dates to build a triggers-and-outcomes table.

historical query
-- same WHERE clause, against history
GET /v2/scan
  ?q=rsi_oversold
   AND volume_unusual_2x
   AND day_change_pct > 0
  &asof=2025-12-31
history
200·47 triggers · 2025
datetickerrsi_14day_change_pct+5d
2025-02-14SOFI28.4+2.1%+6.4%
2025-03-22PLTR29.8+3.4%+11.2%
2025-05-09CRWD27.1+1.8%−2.3%
2025-07-16NET29.5+4.2%+7.8%
2025-09-03SQ26.9+2.7%+3.1%
+ 42 more · 64% positive +5d

endpoints you’ll use

Three history primitives, full backtest pipeline

A real backtest needs the screen at a past date, point-in-time snapshots, and forward-return time series. All three on the same schema.

/v2/scan?asof=YYYY-MM-DD

Run any SQL screen against historical state. Returns the tickers that matched on that day.

Docs →

/v2/tickers/.../history

Full snapshot of one ticker at a past date: price, indicators, flags, fundamentals. For entry sizing and risk eval.

Docs →

/v2/signals/.../history

Time series for any signal × ticker. For forward returns, MAE/MFE, holding-period analysis.

Docs →

/v2/rules

Save the backtested screen as a named rule. Promote to live with zero rewrite.

Docs →

why this works

Built for devs who want signal, not infrastructure

comparison

QuantConnect vs Tickerbot

QuantConnect

Python engine, infra-heavy

  • Full Python engine; steep learning curve
  • You manage data ingestion, indicator computation, framework
  • Backtest results live in their platform, not your stack
  • Going to production means deploying their algos in their cloud

Tickerbot

One HTTP call, no engine

  • Replay any screen with a single REST call + ?asof=
  • Indicators + signal flags pre-computed; bring just a SQL filter
  • Returns JSON; integrate with whatever you already use
  • Same query backtests AND runs live as a webhook

works with your agent

Agents are experts at SQL. Hand them the loop.

Hand the strategy-iteration loop to an agent. The same WHERE clause that runs live also backtests with one extra parameter, so the agent can validate hundreds of variants against history before any of them touch real capital.

See the agent integration →

ship it

Get started