# Backtesting software and platforms

Every card that can replay a strategy or an allocation against history, sorted by what it is and by what it assumes about fills and data.

*https://stockmarketstack.com/collections/backtesting*

## One flag, five different purchases

A `backtesting` flag on a card says the product can replay something against history. That
covers at least five things nobody would put side by side:

- **A tester inside a charting platform** — [TrendSpider](https://stockmarketstack.com/tools/trendspider), the Pine Script
  strategy tester in [TradingView](https://stockmarketstack.com/tools/tradingview), the OddsMaker in
  [Trade Ideas](https://stockmarketstack.com/tools/trade-ideas), ProBacktest in [ProRealTime](https://stockmarketstack.com/tools/prorealtime).
- **A desktop platform with its own language** — [AmiBroker](https://stockmarketstack.com/tools/amibroker) in AFL,
  [MultiCharts](https://stockmarketstack.com/tools/multicharts) in PowerLanguage, [NinjaTrader](https://stockmarketstack.com/tools/ninjatrader) in
  NinjaScript, [WealthLab](https://stockmarketstack.com/tools/wealthlab) in C#.
- **A no-code builder** — [Composer](https://stockmarketstack.com/tools/composer), [Tradetron](https://stockmarketstack.com/tools/tradetron),
  [Option Alpha](https://stockmarketstack.com/tools/option-alpha), and the strategy generators [Build Alpha](https://stockmarketstack.com/tools/build-alpha)
  and [StrategyQuant X](https://stockmarketstack.com/tools/strategyquant-x).
- **An engine you call from code** — [Backtrader](https://stockmarketstack.com/tools/backtrader), [LEAN](https://stockmarketstack.com/tools/lean),
  [vectorbt](https://stockmarketstack.com/tools/vectorbt), [NautilusTrader](https://stockmarketstack.com/tools/nautilus-trader).
- **An allocation backtest or a withdrawal replay** —
  [Portfolio Visualizer](https://stockmarketstack.com/tools/portfolio-visualizer), [testfolio](https://stockmarketstack.com/tools/testfolio),
  [Backtest by Curvo](https://stockmarketstack.com/tools/curvo), [cFIREsim](https://stockmarketstack.com/tools/cfiresim), [FI Calc](https://stockmarketstack.com/tools/ficalc).

Whoever searches for "backtesting software" usually wants the first or the third: a product with a
screen. The libraries make up the [backtesting frameworks](https://stockmarketstack.com/categories/backtesting-frameworks)
section, along with AmiBroker and WealthLab, where the backtest is the thing being bought. The rest
are filed by their main job, under [no-code strategy builders](https://stockmarketstack.com/categories/no-code-strategy-builders),
[charting and screeners](https://stockmarketstack.com/categories/charting-screeners),
[trading platforms](https://stockmarketstack.com/categories/trading-platforms) and
[retirement planning](https://stockmarketstack.com/categories/retirement-planning).

## What decides whether a result means anything

**The fill.** Composer tests on daily adjusted closes with a default [slippage](https://stockmarketstack.com/glossary/slippage)
of one basis point and no intrabar fills. Backtesting.py fills a market order at the next bar's
open unless told to use the close. LEAN's default brokerage model charges the Interactive Brokers
commission schedule and assumes zero slippage. Backtrader can slip by a percentage or a fixed amount
and cap a fill at a share of the bar's volume; Option Alpha fills at the mid and does not model
assignment; Build Alpha asks for slippage and commission per strategy rather than assuming them.

**The data, and whose it is.** TrendSpider includes real-time US equity data for
non-professionals and reaches 50-plus years where a symbol has it, with each test capped by candle
count. Build Alpha bundles history
back to 2006, intraday from one to 240 minutes. AmiBroker, MultiCharts, vectorbt and
NautilusTrader ship none, so the feed is a second bill. LEAN ships samples, and its US Equity
Security Master of splits, dividends and ticker changes costs $600 a year on a Researcher seat.

**Survivors and corporate actions.** A universe stripped of its delisted names tests only the
companies that made it — [survivorship bias](https://stockmarketstack.com/glossary/survivorship-bias). Portfolio123 keeps
delisted stocks, WealthLab's bundled DataSets track index membership as it was on the day,
QuantConnect's AlgoSeek equities from 1998 are survivorship-bias-free, and QuantRocket and ORATS
retain delisted tickers. [CSI Data](https://stockmarketstack.com/tools/csi-data) sells delisted stocks only as a premium
add-on. ETFreplay runs on total return with distributions reinvested; Curvo assumes reinvestment
whether or not the fund distributes. The sourcing is in
[how to backtest on a survivorship-free universe](https://stockmarketstack.com/how-to/backtest-on-survivorship-free-data).

**The language.** Clicks in Composer and TrendSpider; Pine Script, AFL, PowerLanguage, ProBuilder
or NinjaScript on the platforms; Python or C# in the engines. A proprietary language keeps the
strategy where it was written: ProBuilder code runs nowhere but ProRealTime, and AFL nowhere but
AmiBroker. Build Alpha, StrategyQuant X and [Adaptrade Builder](https://stockmarketstack.com/tools/adaptrade-builder) cross that
line by emitting code for other platforms, and all three cards say that
[overfitting](https://stockmarketstack.com/glossary/overfitting) is built into searching for rules.

## Where the free plan stops

TradingView's free plan loads 5K bars; paid plans raise that to 40K, and deep backtesting opens at
Premium. TrendSpider has no free tier: its $82 plan tests nothing finer than two-hour bars over
2,000 candles, and one-minute testing starts at $183. Trade Ideas sells the scanner at $127 and
keeps the OddsMaker for the $254 tier. ProRealTime's free web version runs no backtests.

Composer works the other way: backtests are free, and the $40 Trading Pass buys automated execution
and unlimited backtesting. Tradetron charges ₹20 a run. Portfolio123 gives a free account 30 days
of backtests, then prices its plans by years of history, from 5 to 20. QuantConnect's free tier has
one backtest node, no second or tick data and a 10,000-order ceiling per backtest. NinjaTrader's
backtesting needs no funded account; the free MultiCharts is a simulator on sample data.

For allocations, Portfolio Visualizer limits free ticker backtests to ten years, testfolio's free
tier keeps full history and [PortfoliosLab](https://stockmarketstack.com/tools/portfolioslab) stops at five years. cFIREsim,
FI Calc and Curvo have no paid tier at all.

## The cards here for a different reason

- **Retirement planners** — [FIREproof](https://stockmarketstack.com/tools/fireproof), [ProjectionLab](https://stockmarketstack.com/tools/projectionlab),
  [Pralana Gold](https://stockmarketstack.com/tools/pralana-gold), [Pralana Online](https://stockmarketstack.com/tools/pralana-online),
  [WealthTrace](https://stockmarketstack.com/tools/wealthtrace). They replay a whole plan, taxes included, through past
  sequences or simulated ones; as the FIREproof card notes, overlapping windows are not independent
  trials, so a success rate is not a probability.
- **Trade journals** — [TraderSync](https://stockmarketstack.com/tools/tradersync), [TradesViz](https://stockmarketstack.com/tools/tradesviz),
  [TradeZella](https://stockmarketstack.com/tools/tradezella), each with a market replay or a backtester beside the journal,
  for practising on history rather than recording it.
- **Research sites with a backtest tab** — [Uncle Stock](https://stockmarketstack.com/tools/uncle-stock),
  [GuruFocus](https://stockmarketstack.com/tools/gurufocus), [YCharts](https://stockmarketstack.com/tools/ycharts), [ORTEX](https://stockmarketstack.com/tools/ortex),
  [Quiver Quantitative](https://stockmarketstack.com/tools/quiver-quantitative), [WhaleWisdom](https://stockmarketstack.com/tools/whalewisdom),
  [Snowball Analytics](https://stockmarketstack.com/tools/snowball-analytics),
  [The Dividend Tracker](https://stockmarketstack.com/tools/the-dividend-tracker): a test run over the site's own data, such
  as a saved screen or a 13F fund held as a portfolio.
- **Options data with a tester attached** — [ORATS](https://stockmarketstack.com/tools/orats) sells an intraday backtester
  as an add-on; [OptionNET Explorer](https://stockmarketstack.com/tools/optionnet-explorer) replays positions by hand.
- **Data for somebody else's engine** — [CSI Data](https://stockmarketstack.com/tools/csi-data) exports into whatever
  backtester you run, [SimFin](https://stockmarketstack.com/tools/simfin) ships as-reported statements for backtesting, and
  [FXMacroData](https://stockmarketstack.com/tools/fxmacrodata) timestamps each release so a test can ask what was known on
  the day.
- **MCP servers and agents** — [tradingview-mcp](https://stockmarketstack.com/tools/tradingview-mcp) runs nine preset
  strategies, [MaverickMCP](https://stockmarketstack.com/tools/maverick-mcp) adds vectorbt tools,
  [FinRobot](https://stockmarketstack.com/tools/finrobot) wraps Backtrader, and [AI Hedge Fund](https://stockmarketstack.com/tools/ai-hedge-fund) fills at
  the close with no costs modelled.

## Cards

### Backtesting Frameworks & Algo Trading Libraries (21)

- [AmiBroker](https://stockmarketstack.com/tools/amibroker.md) — Windows portfolio backtester scripted in AFL, sold as a perpetual licence.
- [Backtesting.py](https://stockmarketstack.com/tools/backtesting-py.md) — A single-instrument Python backtester — one OHLC series, one strategy, no live trading.
- [Backtrader](https://stockmarketstack.com/tools/backtrader.md) — An event-driven Python backtester with 122 indicators, frozen since April 2023.
- [Blueshift](https://stockmarketstack.com/tools/blueshift.md) — Free hosted Python backtesting with bundled minute data and broker execution.
- [bt](https://stockmarketstack.com/tools/bt.md) — Python backtesting for allocation and rebalancing rules, not entries and exits.
- [fastquant](https://stockmarketstack.com/tools/fastquant.md) — A one-call wrapper over Backtrader, dormant since 2023 and broken on PyPI.
- [FinRL](https://stockmarketstack.com/tools/finrl.md) — Gym-style market environments and deep-RL agents for trading research, MIT-licensed.
- [FinRL-X](https://stockmarketstack.com/tools/finrl-x.md) — FinRL's successor, carrying one portfolio-weight vector from stock selection to Alpaca.
- [LEAN](https://stockmarketstack.com/tools/lean.md) — QuantConnect's engine without the cloud — your server, your data, your broker login.
- [Lumibot](https://stockmarketstack.com/tools/lumibot.md) — One strategy class for backtest and live, plus a built-in LLM agent runtime.
- [NautilusTrader](https://stockmarketstack.com/tools/nautilus-trader.md) — Rust core, Python API, one strategy that backtests and trades live unchanged.
- [PyBroker](https://stockmarketstack.com/tools/pybroker.md) — Python backtester with walk-forward model training and bootstrapped confidence bounds.
- [Qlib](https://stockmarketstack.com/tools/qlib.md) — Microsoft's ML factor-research pipeline. The data its CLI downloads stops in late 2020.
- [QSTrader](https://stockmarketstack.com/tools/qstrader.md) — An institutional-shaped Python backtester whose last commit to master was June 2024.
- [QuantConnect](https://stockmarketstack.com/tools/quantconnect.md) — LEAN hosted for you — a browser IDE, mounted data and live trading through real brokers.
- [QuantRocket](https://stockmarketstack.com/tools/quantrocket.md) — Zipline and Moonshot in Docker on your own hardware, wired to Interactive Brokers.
- [StockSharp](https://stockmarketstack.com/tools/stocksharp.md) — C#/.NET algo stack with 384 connectors; source is published but no longer open source.
- [VectorBT](https://stockmarketstack.com/tools/vectorbt.md) — Vectorised backtesting — thousands of parameter combinations in one NumPy pass.
- [VectorBT PRO](https://stockmarketstack.com/tools/vectorbt-pro.md) — Paid vectorbt — native Rust simulators, streaming indicators and a built-in MCP server.
- [WealthLab](https://stockmarketstack.com/tools/wealthlab.md) — Windows portfolio backtesting in C# or drag-and-drop blocks, with a built-in MCP service.
- [Zipline-reloaded](https://stockmarketstack.com/tools/zipline-reloaded.md) — The maintained fork of Quantopian's Zipline. Bring your own data — it ships almost none.

### Retirement & Portfolio Planning Calculators (12)

- [Backtest by Curvo](https://stockmarketstack.com/tools/curvo.md) — Backtest a portfolio of European UCITS funds on index data reaching back to 1970.
- [cFIREsim](https://stockmarketstack.com/tools/cfiresim.md) — Run a withdrawal plan against every market cycle since 1871 and count how many survived.
- [FI Calc](https://stockmarketstack.com/tools/ficalc.md) — Twelve withdrawal strategies replayed against every US market cycle since 1871.
- [FIREproof](https://stockmarketstack.com/tools/fireproof.md) — The cFIREsim author's second simulator, with the taxes and accounts the first one lacks.
- [Portfolio Charts](https://stockmarketstack.com/tools/portfolio-charts.md) — Any asset allocation, charted since 1970 in twelve countries' currencies and inflation.
- [Portfolio Visualizer](https://stockmarketstack.com/tools/portfolio-visualizer.md) — Backtest an asset mix to 1972, run Monte Carlo, regress it on Fama-French factors.
- [PortfoliosLab](https://stockmarketstack.com/tools/portfolioslab.md) — Backtest an allocation on real fund prices and optimise it seven ways.
- [Pralana Gold](https://stockmarketstack.com/tools/pralana-gold.md) — A US retirement model in an Excel workbook — taxes, Roth conversions, Monte Carlo.
- [Pralana Online](https://stockmarketstack.com/tools/pralana-online.md) — The Pralana retirement model in a browser, with tax-form mock-ups and advisor seats.
- [ProjectionLab](https://stockmarketstack.com/tools/projectionlab.md) — Model a whole financial life as milestones and cash flows, then run it against history.
- [testfolio](https://stockmarketstack.com/tools/testfolio.md) — Backtest an allocation on daily data to 1885, using simulated pre-inception fund series.
- [WealthTrace](https://stockmarketstack.com/tools/wealthtrace.md) — A US retirement planner with linked accounts, Monte Carlo guardrails and Roth scenarios.

### Stock Charting Platforms & Screeners (8)

- [eSignal](https://stockmarketstack.com/tools/esignal.md) — Windows charting on ICE's consolidated feed, with EFS scripting and global exchanges.
- [Optuma Desktop](https://stockmarketstack.com/tools/optuma.md) — Windows technical-analysis desktop for analysts, with Optuma's own EOD data bundled in.
- [Optuma Web App](https://stockmarketstack.com/tools/optuma-web.md) — Browser rebuild of Optuma, per seat, with scans and backtests run on Optuma's servers.
- [ProRealTime](https://stockmarketstack.com/tools/prorealtime.md) — European charting and trading platform, free or paid for in euros or in trades.
- [Trade Ideas](https://stockmarketstack.com/tools/trade-ideas.md) — Real-time US equity scanning on a Windows desktop, built from 500-plus alert conditions.
- [TradingView](https://stockmarketstack.com/tools/tradingview.md) — Charting across 50-plus markets, with Pine Script, server-side alerts and broker trading.
- [TrendSpider](https://stockmarketstack.com/tools/trendspider.md) — Automated technical analysis, real-time scanning and no-code backtesting in one web app.
- [Uncle Stock](https://stockmarketstack.com/tools/uncle-stock.md) — Global fundamental screener with valuation models, screen backtests and an MCP server.

### No-Code Strategy Builders & Auto-Trading (7)

- [Adaptrade Builder](https://stockmarketstack.com/tools/adaptrade-builder.md) — Windows strategy generator — genetic programming writes the rules, you export the code.
- [Build Alpha](https://stockmarketstack.com/tools/build-alpha.md) — Point-and-click strategy generation on Windows, exported as code to eight platforms.
- [Composer](https://stockmarketstack.com/tools/composer.md) — No-code rule-based stock and ETF strategies, backtested and then traded for real.
- [Option Alpha](https://stockmarketstack.com/tools/option-alpha.md) — No-code bots for defined-risk options spreads, run in the cloud through your own broker.
- [Portfolio123](https://stockmarketstack.com/tools/portfolio123.md) — Multi-factor ranking, screening and point-in-time backtests without writing code.
- [StrategyQuant X](https://stockmarketstack.com/tools/strategyquant-x.md) — Machine-searches for trading strategies, then tries to break them with robustness tests.
- [Tradetron](https://stockmarketstack.com/tools/tradetron.md) — Block-built strategies for Indian and US markets, backtested per run, priced by live bot.

### Desktop Trading Platforms & Order Flow (5)

- [MotiveWave](https://stockmarketstack.com/tools/motivewave.md) — Java desktop charting whose Elliott Wave tooling is the reason anyone buys it.
- [MultiCharts](https://stockmarketstack.com/tools/multicharts.md) — Windows charting, backtesting and order routing on EasyLanguage, sold outright or monthly.
- [NinjaTrader](https://stockmarketstack.com/tools/ninjatrader.md) — Windows futures platform with C# strategy scripting and order-flow charting.
- [Quantower](https://stockmarketstack.com/tools/quantower.md) — Windows order-flow terminal for 60+ connections, with an open C# API and a real free tier.
- [Sierra Chart](https://stockmarketstack.com/tools/sierra-chart.md) — Windows-native charts, order flow and DOM trading, priced as packages plus exchange fees.

### Options Data & Flow Analytics (4)

- [IVolatility API](https://stockmarketstack.com/tools/ivolatility-api.md) — Options chains with raw IV, greeks and IVX surfaces over REST, US history to 2005.
- [Market Chameleon](https://stockmarketstack.com/tools/market-chameleon.md) — Earnings-move statistics and option strategy screeners in a browser. No API.
- [OptionNET Explorer](https://stockmarketstack.com/tools/optionnet-explorer.md) — Windows options backtester that replays positions on 5-minute US option history.
- [ORATS](https://stockmarketstack.com/tools/orats.md) — Smoothed options greeks and IV surfaces over REST, end-of-day back to 2007.

### Trading Journal Software (3)

- [TraderSync](https://stockmarketstack.com/tools/tradersync.md) — Trade journal with options spread detection on Elite and market replay down to 250ms.
- [TradesViz](https://stockmarketstack.com/tools/tradesviz.md) — The analytics-heavy journal: 150+ base charts across seven instrument types.
- [TradeZella](https://stockmarketstack.com/tools/tradezella.md) — Auto-synced trade journal with bar-by-bar replay, backtesting and AI session review.

### Fundamental Data & Stock Research Platforms (3)

- [Equibles](https://stockmarketstack.com/tools/equibles.md) — Financial research by browser, REST API and hosted MCP, with an AGPL self-hosted core
- [GuruFocus](https://stockmarketstack.com/tools/gurufocus.md) — Thirty years of financials, a deep screener and 13F guru portfolios, sold by region.
- [YCharts](https://stockmarketstack.com/tools/ycharts.md) — Advisor research and client reporting, priced by quote rather than published.

### Insider, 13F & Congressional Trade Trackers (3)

- [ORTEX](https://stockmarketstack.com/tools/ortex.md) — Short interest estimated daily from the lending pool, with cost to borrow beside it.
- [Quiver Quantitative](https://stockmarketstack.com/tools/quiver-quantitative.md) — US political and SEC disclosure data — congress, insiders, lobbying — over one REST API.
- [WhaleWisdom](https://stockmarketstack.com/tools/whalewisdom.md) — Institutional 13F holdings back to 2001, queryable from a signed REST API.

### AI Research Agents & Copilots (3)

- [AI Hedge Fund](https://stockmarketstack.com/tools/ai-hedge-fund.md) — LLM investor personas score a ticker, deterministic code sizes the book, nothing trades.
- [FinRobot](https://stockmarketstack.com/tools/finrobot.md) — Open-source agents that turn a ticker and your own API keys into an analyst report.
- [Vibe-Trading](https://stockmarketstack.com/tools/vibe-trading.md) — A local finance research agent with 74 MCP tools, nine backtest engines and 14 brokers.

### ETF Research & Screeners (2)

- [ETFreplay](https://stockmarketstack.com/tools/etfreplay.md) — Ranks US ETFs by relative strength and backtests rotation and moving-average rules.
- [justETF](https://stockmarketstack.com/tools/justetf.md) — A screener and portfolio planner for European UCITS ETFs — no US listings, no API.

### Dividend Trackers & Research (2)

- [Snowball Analytics](https://stockmarketstack.com/tools/snowball-analytics.md) — A dividend calendar and forward-income projection wrapped around a portfolio tracker.
- [The Dividend Tracker](https://stockmarketstack.com/tools/the-dividend-tracker.md) — A US, Canadian and UK dividend tracker with broker auto-import, an MCP server and an API.

### Stock Market Data APIs (2)

- [CSI Data](https://stockmarketstack.com/tools/csi-data.md) — End-of-day futures history back to 1922 and eight ways to build a continuous contract.
- [SimFin](https://stockmarketstack.com/tools/simfin.md) — US fundamentals extracted from filings, shipped as bulk CSV datasets, not REST calls.

### Financial MCP Servers (2)

- [MaverickMCP](https://stockmarketstack.com/tools/maverick-mcp.md) — Thirty-seven stock-analysis tools for any MCP client, on Yahoo data and no key.
- [tradingview-mcp](https://stockmarketstack.com/tools/tradingview-mcp.md) — Screeners, technical analysis and backtests for any MCP client. No TradingView account.

### Macro & Economic Data APIs (1)

- [FXMacroData](https://stockmarketstack.com/tools/fxmacrodata.md) — Release-timestamped macro data for 22 currencies, with a calendar and COT, from $50.

### Market Analysis & Portfolio Optimization Libraries (1)

- [skfolio](https://stockmarketstack.com/tools/skfolio.md) — Portfolio optimisation as scikit-learn estimators — fit, predict, cross-validate.

## FAQ

### Can I backtest for free?

Yes, though every free plan cuts something different. Composer backtests stock and ETF rules for nothing and charges only for automated execution, testfolio keeps full available history on its free tier, and vectorbt and LEAN cost nothing but ship no usable market data. Portfolio Visualizer needs no login and caps ticker backtests at ten years, while TrendSpider and Trade Ideas offer no free backtest at all.

### What is the difference between a backtest and a strategy tester?

Mostly where it lives. A strategy tester is the backtester built into a charting or trading platform, such as TradingView's for Pine Script or NinjaTrader's Strategy Analyzer for NinjaScript, and it tests on whatever history the plan lets the chart load. An engine such as LEAN or NautilusTrader is a library you call from code, with no chart, and the data, fill model and universe are yours to supply. Sierra Chart and eSignal test one chart at a time, which is the usual ceiling of a tester; AmiBroker and WealthLab test a whole portfolio.

### Do I need intraday data to backtest?

Only if the strategy acts inside the day. A rule that rebalances daily or monthly runs correctly on daily bars, which is all Composer, Portfolio123 and the Optuma Web App use. A stop, a limit order or an opening-range entry needs finer bars, and that is where retail tiers draw their line — TrendSpider tests nothing finer than two-hour bars on its $82 plan and reaches one-minute at $183. Even then a bar is not the tape: vectorbt checks stops against OHLC, and Backtesting.py warns that it cannot know the path inside a candle.

### Why do two backtests of the same strategy disagree?

Because each makes assumptions the other does not print. Composer fills at the daily close with one basis point of slippage, Backtesting.py at the next bar's open, and LEAN charges Interactive Brokers commissions with zero slippage; one runs on adjusted prices and another on unadjusted ones, where a split reads as a crash. The universe matters as much — a test that cannot see delisted stocks runs over the survivors, which is why Portfolio123 and WealthLab keep them. Adaptrade Builder's own FAQ lists mismatched date ranges and the MaxBarsBack setting among the reasons its numbers will not match your platform's.
