Equity curve
Your account value across the whole window, with drawdown shaded underneath rather than exiled to a second chart. One picture, one story: what you made and what you had to sit through to make it.
A single return figure is the least useful number in a backtest. These are the parts that decide whether an idea survives a real account — and every one of them is in every report, free tier included.
There is no strategy builder, no node graph, no parameters panel. You write what you would say out loud, and that is the strategy:
"Buy when the 20-day average crosses above the 50-day, sell when it crosses back."
A model turns that into a real backtesting.py strategy class. Moving averages, RSI, MACD, Bollinger bands, breakouts, momentum, mean reversion, stop losses and take-profits are all things you can simply name. If a phrase is ambiguous, the generated code shows you which reading it took — which is a far more useful answer than a validation error.
You can also dictate it. The microphone in the composer uses the browser's own speech API, so nothing is uploaded to transcribe it.
Every run, every tier. Nothing here is held behind an upgrade.
Your account value across the whole window, with drawdown shaded underneath rather than exiled to a second chart. One picture, one story: what you made and what you had to sit through to make it.
"Total change", "worst drop", "steadiness", "trades that won". The formal names are one hover away, but the label you read first is the one you already understand.
Every position: date in, date out, price in, price out, percentage and dollar result. A backtest you cannot audit line by line is a backtest you should not act on.
Twelve columns, one row per year. It answers the question a headline return can't: was this steady, or was it one extraordinary quarter dragging four flat years behind it?
The same rules re-run through the February 2020 crash, the 2022 bear market and a long flat stretch. Plenty of strategies look excellent right up until one of those three.
Collapsed by default, one click away, copyable. Run it yourself, change it, or disagree with it. It is evidence rather than a feature.
Put several versions of an idea on one chart. Runs are aligned on a shared calendar, so a shorter test can never win by accident — a real trap in most comparison tools.
Commission comes out of every trade. Orders fill on the bar after your signal, never the one it fired on. Friction is where most paper strategies quietly die.
Keep the ideas worth returning to and re-run them against a new window in one click. Your run history sits in the sidebar for as long as the session lasts.
| Market | Examples | History | Resolution |
|---|---|---|---|
| US stocks & ETFs | AAPL, MSFT, NVDA, SPY, QQQ | Back to listing, often 20+ years | Daily bars |
| Major indices | ^GSPC, ^IXIC, ^DJI | Decades | Daily bars |
| Crypto | BTC-USD, ETH-USD, SOL-USD | From listing | Daily bars |
| FX | EURUSD=X, GBPUSD=X, USDJPY=X | Roughly 20 years | Daily bars |
| Commodities | GC=F, CL=F, SI=F | Varies by contract | Daily bars |
There are good reasons to use something else. Here they are.
| AlphaBack | Python by hand | Charting platforms | A spreadsheet | |
|---|---|---|---|---|
| Time to first result | Seconds | Days to weeks | Hours, plus a scripting language | Hours, and it will be wrong |
| Needs code | No | Yes, plus data plumbing | Yes — a proprietary one | Formulas, which is code wearing a hat |
| Shows its working | Full Python, every run | You wrote it | Usually a black box | Yes, painfully |
| Intraday data | Not yet | If you pay for it | Yes | No |
| Live trading | No — deliberately | If you build it | Yes, via a broker | No |
| Cost to start | Free, no card | Free, minus your time | Usually a subscription | Free |
Five free runs, no card, about five seconds each.