CLI
signalai is the command line for the SDK. Install it with:
curl -fsSL https://signal-ai-mu.vercel.app/install.sh | sh
init <path>
Scaffold a new strategy file.
signalai init my_strategy.py
login
Sign in so submit / status can reach your account. signalai login opens your browser, authenticates, and stores the credential locally (macOS Keychain; an 0600 file on Linux).
signalai login
Headless / CI (no browser): store a token directly with signalai login --token <your-token> (from API tokens), or set SIGNALAI_TOKEN in the environment.
check <file>
Verify a strategy file builds on your machine — it imports the file, instantiates
your Strategy, and calls init(), catching syntax, import, name, and init() errors
before you upload anything.
signalai check my_strategy.py
Runs in your local Python, so it needs pip install signalai-quant (plus whatever
your strategy imports). signalai backtests submit runs the same build check first and
won't send a strategy that doesn't build. Library users can call it directly:
from signalai_quant import check_strategy_builds → check_strategy_builds(path)
returns a list of problems (empty when valid).
Commands
Commands are grouped by noun. Every read command accepts --json.
signals
signalai signals list
signalai signals show <signal_id>
signalai signals history <signal_id> [--from 2024-01-01] [--to 2024-06-01] [--limit 500]
backtests
signalai backtests submit <file> --symbols AAPL,MSFT --from 2015-01-01 --to 2024-12-31 [--resolution daily|minute]
signalai backtests list
signalai backtests get <backtest_id>
| Submit flag | Meaning |
|---|---|
--symbols | Comma-separated tickers |
--from / --to | Date range (YYYY-MM-DD) |
--resolution | daily (long model) or minute (intraday model) |
View full backtest results at your backtests.
strategies
signalai strategies list
signalai strategies show <strategy_id>
signalai submitandsignalai statusstill work but are deprecated — usesignalai backtests submit/signalai backtests get.