Appearance
Quick Start
This guide walks you through running your first backtest and reading the results. No account required.
Load data
Open marketheist.io/backtest/ and locate the Data panel at the top of the page.
- Enter a ticker in the Ticker field. Any Yahoo Finance symbol works:
^NDX,AAPL,BTC-USD,GLD. - Choose a Frequency:
Daily,Weekly, orMonthly. Daily is a good starting point. - Click Load. The equity chart on the left will populate with the full price history available.
TIP
- Enter a ticker in the Ticker field. Any Yahoo Finance symbol works:
Use ^NDX (Nasdaq-100) or ^GSPC (S&P 500) for your first test — these have long, clean histories going back to the early 2000s. :::
Configure a backtest
In the Strategy panel:
- Indicator: Select an indicator from the dropdown.
SMA CrossoverorRSIare good starting points. - Parameters: Each indicator exposes 1–3 numeric parameters. For SMA Crossover you'll set a short window and a long window (e.g., 20 and 50 days).
- Position Rule: Choose how the indicator signal translates into a long position.
Threshold— go long when the indicator value exceeds a number you set.Crossover— go long when the indicator crosses above its own moving average.Percentile— go long when the indicator is in the top N% of its recent history.
- Date Range: Optionally restrict the backtest to a sub-period using the date pickers.
- Indicator: Select an indicator from the dropdown.
Run and read the results
Click Run Backtest. Results appear within a second or two.
The Equity Curve panel shows your strategy (blue) vs. buy-and-hold (grey). Key metrics are shown in the summary row above the chart:
Metric What it means Sharpe Risk-adjusted return. Above 1.0 is competitive; above 1.5 is strong. CAGR Compound annual growth rate — your annualized return. Max DD Maximum drawdown — worst peak-to-trough loss during the period. % Invested Fraction of calendar days your strategy held a position. See Metrics for a deeper explanation of each number, and the Metrics Glossary for formal definitions of all reported statistics.
Save a preset
Once you have parameters you like, click Save Preset and give it a name. Presets persist across sessions.
To load a preset later, click the preset name in the Saved Presets list. This restores the full configuration including ticker, frequency, indicator, and parameters.
Add a second backtest for comparison
Click + Add Backtest to open a second strategy panel. Configure different parameters (or a different indicator entirely) and click Run again.
Both equity curves appear on the same chart in different colors, and the metrics summary shows both side-by-side. This makes it easy to compare, for example, a 20/50-day SMA crossover against a 50/200-day crossover on the same data.
WARNING
Comparing many parameter combinations on the same data can lead to overfitting — inadvertently tuning parameters to past noise rather than true signal. Use Parameter Sweep and Walk-Forward Optimization to validate that your results are robust. :::
Next steps
- Understand the numbers: Metrics and Metrics Glossary
- Avoid overfitting: Parameter Sweep and Walk-Forward Optimization
- Stress-test your strategy: Monte Carlo
- Write your own indicator: Custom Indicators
FAQ
What data sources are supported?
Any ticker available on Yahoo Finance — stocks, ETFs, indices (e.g. ^GSPC, ^NDX), crypto (e.g. BTC-USD), commodities (e.g. GLD), and foreign equities. Data is fetched on demand each time you click Load.
Do I need an account to use the tool?
No. The backtesting tool, all indicators, charts, and metrics are fully available without signing in. An account unlocks additional features like cloud-synced presets and strategy sharing.
How far back does the data go?
As far as Yahoo Finance has records for that ticker. For major US indices like ^GSPC and ^NDX, daily data typically extends back to the early 2000s or earlier.
What indicators are available?
RSI, Bollinger Bands, MA Crossover (SMA/EMA), ADX, ATR, CCI, OBV, Stochastic, and VWAP Deviation. You can also write custom indicators in Python — see Custom Indicators.
Why is my Sharpe ratio negative?
A negative Sharpe ratio means the strategy returned less than the risk-free rate (approximately 0%). It usually indicates the signal is inverting — try reversing your position rule (e.g. switch "above threshold" to "below threshold") or adjusting parameters.