Four steps happen between typing your strategy and reading your results. Here is exactly what each one does — no magic, no black box.
Type your rules the way you'd explain them out loud. No syntax, no formulas, no documentation to study. The more specific you are — indicator names, periods, thresholds — the more faithfully the AI will translate it.
"Buy AAPL when the 20-day moving average crosses above the 50-day. Sell when RSI goes above 70. Test from 2020 to 2024 with $100,000."
# Generated by AlphaBack from backtesting import Backtest, Strategy from backtesting.lib import crossover class SmaRsiStrategy(Strategy): def init(self): self.sma20 = self.I(SMA, self.data.Close, 20) self.sma50 = self.I(SMA, self.data.Close, 50) self.rsi = self.I(RSI, self.data.Close, 14) def next(self): if crossover(self.sma20, self.sma50): self.buy() elif self.rsi[-1] > 70: self.position.close()
A large language model translates your description into a strategy class for backtesting.py, the same open-source engine quants use for prototyping. The code is displayed alongside your results, always.
That transparency is a design decision, not a feature: if you can't read the rules that actually ran, you can't trust the numbers they produced. Copy the code with one click and run it on your own machine — it's standard Python.
Your code runs in an isolated Python environment on our servers. It downloads fresh daily price data from Yahoo Finance, then walks through it one bar at a time — exactly as if the strategy were trading live through those years.
At each bar the engine evaluates your rules using only the data available at that moment — no peeking at the future. Orders fill on the next bar, and commissions and slippage are charged on every trade.
In seconds you get the full report: an equity curve of your portfolio value over time, a drawdown chart of every losing stretch, headline metrics, and a trade-by-trade log of every entry and exit.
Then iterate. Change one threshold, re-run, compare. Side-by-side comparison mode overlays equity curves so you can see not just which version made more, but which made it with less pain.
| AlphaBack | DIY Python | TradingView | Spreadsheets | |
|---|---|---|---|---|
| Time to first backtest | ~1 minute | Days–weeks | Hours | Days |
| Coding required | None | Python + pandas | Pine Script | Formulas |
| Bar-by-bar engine (no look-ahead) | Yes | If you build it right | Yes | Easy to get wrong |
| Commissions & slippage modelled | By default | If you remember | Manual setup | Rarely |
| You can inspect the exact code | Always shown | It's yours | Pine only | — |
| Code is portable (runs anywhere) | Standard Python | Yes | Locked to platform | — |
| Stocks + crypto + forex in one place | Yes | Yes | Yes | Manual imports |
| Cost to start | Free | Free + your weeks | Paid for full tests | Free |
Being fair: if you're a working quant, writing your own Python gives you infinite flexibility — and AlphaBack hands you that exact starting code for free. If you live in TradingView charts all day, Pine Script is great at chart-first workflows. AlphaBack's job is the fastest honest path from "I have an idea" to "here's what history says about it."
We put this on the page because a backtester that oversells certainty is worse than no backtester at all. Used honestly, backtesting is still the single best filter between you and a bad idea. More questions? Read the full FAQ →
You just read the whole pipeline. It's faster to run it than it was to read it.
Run my first backtest →Free during beta · No card required