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.
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.
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.
| Pick | Created | Type | Symbol | Strategy | Setup | Return % | Sharpe | Verdict | Load |
|---|
Compare
Overlay normalized equity and compare the saved runs you selected on the left.
| 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 |
|---|