Rearview Join the waitlist

Portfolio backtesting you can trust.

Rearview tests your trading rules on a whole portfolio: stocks and ETFs, coins, futures and forex, on daily bars or down to the minute. It can’t see future prices, it gives the same answer every run, and it tells you when a result is probably luck.

A native Mac app for Apple silicon, macOS 26 or later.

Rearview’s window: a strategy script with each line’s figures beside it, the run settings, and the run’s results below
Each line of a script shows what it did on the last run. Every screenshot shows the synthetic sample data that comes with the app.

Results you can trust.

A backtest is only as good as the engine behind it. Rearview’s is checked three ways before every release, and the results are published.

It can’t see tomorrow.

On each day a strategy sees only what was known at that day’s close. Before every release the whole pipeline is replayed on data cut off at thousands of dates, and every decision has to come out the same. A strategy given a planted look at the future has to be caught.

The same answer every run.

Cash and shares are counted exactly, and parallel work adds up in a fixed order, so a result is identical on one core or eighteen. Every saved run reruns from its own folder, and Check It Reproduces shows you that it does.

Checked against a second engine.

A separate engine, written from the engine’s rules and hand-worked cases without seeing its code, has to match every trade and every cent. Three open-source backtesters, vectorbt, bt and QuantConnect’s LEAN, agree on the cases they can model.

Read How Rearview is checked ›

Is this result luck?

Search a strategy’s settings and Rearview counts every variation you tried, earlier runs and previews in the project included. It reports the Deflated Sharpe Ratio and the Probability of Backtest Overfitting with every input shown, then says it plainly: probably not luck, can’t tell, or probably luck. When a grid would be too big, genetic and CMA-ES searches look for you and count every try too.

  • Any run can be set against 500 runs that enter at random at its own rate, and stress-tested: costs doubled, every signal a day late, entries missed, other start days.
  • A lockbox holds back the latest years of data until you choose to look, and every result afterwards says it used them.
  • A stability map shows whether the best setting sits on a plateau or a lone spike, and walk-forward tests pick settings on the past and trade them on what came next.
A search’s verdict: Probably luck, with the Deflated Sharpe, PBO and what each one means
A search of 50 settings judged probably luck: the setting that looked best in one half of the history ranked below the median in the other half 82% of the time.

Your data, done right.

Bring the data you already pay for, or start with free exports. Rearview reads one documented format: securities with permanent ids and ticker history, prices as they traded, splits, dividends, delistings, and index membership by date. It works out adjusted prices itself, so a vendor’s re-adjustment never changes your past results.

  • Converters for per-symbol files, futures contracts and Sharadar, and an export script for Norgate Data.
  • Delisted stocks close at their last price or with a haircut you set, and a quality report finds gaps, price jumps, likely missing splits and reused tickers.
  • Updating the data keeps earlier runs reproducing, from a whole new copy or a file of only the newest day, and any change to past prices is named and dated first.
The data view: what the sample data holds, its lockbox sealed, and the quality report’s findings
The sample data, with its lockbox sealed over the last two years and what the quality report found.

Bring your own data. Pay for the software once.

Rearview doesn’t resell market data, so there’s no data bill hidden in its price and no subscription to keep it running. See pricing ›

Stocks, coins, futures and forex.

Each market trades on its own days under the engine’s written rules, and the second engine checks them all.

Exchanges around the world.

Hold US stocks beside London’s or Sydney’s in one run. Each trades on its own exchange’s days, and an order waits over the other’s holidays. Several exchanges ›

Your account’s currency.

Keep the account in dollars, pounds, euros or any currency your data has a forex pair for. Each price stays in its own currency and converts at the day’s rate. Currencies ›

Coins.

Coins trade every day of the week, in fractions down to a hundred-millionth, and long only. Stocks can be bought in fractions of a share too. Coins ›

Futures.

A chain rolls from one contract to the next and settles at every close, on margin or backed in full with cash. Futures ›

Forex.

Currency pairs settle every day as futures do, and earn or pay carry from the two currencies’ interest rates. Forex ›

Bars down to a minute.

Test stocks and ETFs on intraday bars, read the time of day, and be flat at the close, half days included. Intraday bars ›

Real portfolio testing.

Rank and trade across hundreds of stocks each day, with position limits, rebalancing schedules and a buffer that keeps holdings while they still rank. Scale in and out in steps. Run two to eight strategies in one portfolio, in fixed sleeves or sharing one pool of cash. Long and short, with borrow fees and margin.

  • Sleeves that drift from their weights can sell to get back to them, and the weights can change by date.
  • A walk-forward can choose the sleeves’ weights window by window, as it chooses a script’s params.
The Timeline tab: equity, drawdown, the share invested, the benchmark’s trend and every trade on one clock
The Timeline puts equity, drawdown, exposure, the benchmark’s trend and every trade on one clock.

Every trade, up close.

Step through a run’s trades with the arrow keys, each on its own chart with the entry and exit marked. See them by exit reason, as a distribution, or by how far each one went against you first.

  • The Chart draws any security with your script’s own lines and conditions, day by day, and the day’s choices say why the run did or didn’t buy each candidate.
  • See where the money came from: by security and by sector, the five worst falls, and against the benchmark.
  • Export a run as a self-contained HTML report, or its trades and equity as CSV.
The Trades tab: the trade list, and the selected trade on its chart with the buy and the sell marked

Scan the market every evening.

A scan is a short script that lists the securities meeting your conditions on a day, with every value it worked out, best ranked first. A strategy scans too, listing its own entry candidates. Sort by any column, step a day back, scan a range of days, and export the rows as CSV.

How scans work ›

A scan of the sample data’s last day: stocks above their 200-day average after a sharp two-day drop, most oversold first
A scan for stocks in an uptrend that have just dropped sharply, on the sample data’s last day.

Trade it, and see it track.

When you trade a strategy, start a live account from its run. Import your broker’s file and Rearview replays your own fills with your data and its accounting, beside the backtest of the same days: how far ahead or behind you are, and each order matched, missed, late or extra.

  • Rearview reads Interactive Brokers Flex files, and the statement check sets your broker’s interest, borrow fees and dividends against the model’s, month by month.
  • After each close, get the next session’s orders, sized from your real account, as a list or an Interactive Brokers basket.
  • The evening routine does it on a schedule: it updates the data, reads your broker’s file, writes the orders and runs your scans. Rearview never places an order.
A live account’s Tracking tab: your equity beside the backtest’s, the gap between them, and how your fills matched the model’s orders
A live account on the sample data, from a broker file made up for this picture with a deposit at the end of October.

Every run kept. Every run reproduces.

Each run is saved with its script, settings, engine version and a fingerprint of its data. The Runs library sorts, flags, tags and searches them, and compares any two side by side, with a warning when they aren’t like for like.

The Runs library comparing two runs: their growth of one dollar and their figures side by side

A language you and your AI tools can read.

A strategy is one short plain-text file, so your scripts live in a folder and work with git. The editor completes what you type, from more than 70 functions to the tickers in your data, shows Quick Help for any word, and jumps to where a name is defined. The language reference is a single page an AI coding agent can read, and rvw check --json lets it check and fix its own scripts. Rearview itself makes no AI calls.

Read the language reference ›
Browse 42 example scripts ›

language 1
strategy "RSI(2) pullback with market filter" {
  universe   members("SP500")
  regime     close("SPY") > sma(close("SPY"), 200)
  rsi2       rsi(close, 2)
  enter long when regime and close > sma(close, 200) and rsi2 < rsi_entry
  rank by    -rsi2
  size       10% of equity, max 10 positions
  exit when  rsi2 > 70 or bars_held >= 10
  fill       next_open
  param      rsi_entry = 10 in 5..20 step 5
}

Native on your Mac.

A Rust engine uses every core of Apple silicon, so a ten-year test of 5,000 stocks feels instant. No Windows licence, no virtual machine.

Private.

Your strategies and your data stay on your Mac. There’s no account and no telemetry.

Yours to keep.

The version you buy keeps working, offline, without a renewal. If Rearview is ever discontinued, a final version ships with the licence check removed.

Join the waitlist.

Rearview isn’t on sale yet. Email us and we’ll tell you when it is.

We use your address only to tell you when Rearview goes on sale, and delete it when you ask. The site sets no cookies and runs no analytics. Privacy