BACKTEST LAB

Strategy research without fake data depth

Run backtests across multiple data sources, keep saved runs, and compare ideas without pretending weak feeds have more history than they do.

What this app is good at
Market-agnostic engine Saved runs Compare mode Dataset history

Yahoo is fine for daily bars. Local files or real exchange feeds are the right path for deep intraday research.

Backtest for execution and charts. Research for sweep and walk-forward. History for saved runs, compare, and data provenance.

Run backtest

Pick a provider, symbol, interval, and strategy. Advanced controls stay available, but the app now shows what history actually came back.

Idle
Results, saved runs, and dataset history refresh automatically.

Results

Headline metrics first. Provenance and raw details stay available below when needed.

Show raw source and request details

            

Price + equity

Close and equity curves share the same time axis so you can see whether the strategy actually tracked the market move cleanly.

Drawdown

Drawdown stays separate so the pain profile is obvious instead of hiding behind the equity line.

Recent trades

Most recent completed trades first. Missing values are cleaned up instead of dumping raw nulls.

Entry Exit Side Entry Px Exit Px PnL % Equity After
Parameter sweep Rank parameter combinations without assuming the best curve is automatically real. Idle

Grid every combo, rank best-first, and show significance stats beside the curve so the leader is not just the luckiest overfit.

Params Return % Sharpe Max DD % Trades Win % t (HAC) p-value Verdict
Walk-forward Check whether the idea survives on unseen data instead of dying right after optimization. Idle

Run the same setup on an in-sample slice and an unseen out-of-sample tail. If the edge only lived in-sample, the OOS leg exposes it fast.

Saved runs

Saved research runs with quick reload and side-by-side comparison.

Idle
Pick Created Type Symbol Strategy Setup Return % Sharpe Verdict Load

Compare

Overlay normalized equity and compare the saved runs you selected on the left.

Idle
Created Type Symbol Strategy Interval Return % Sharpe Max DD % Trades Verdict
Pick saved runs and compare them here.
Dataset history Shows what data was requested versus what coverage actually came back. Idle
Fetched Provider Symbol Request Rows Coverage returned Note