Appearance
Quick Start
This guide walks you through running your first backtest and reading the results. No account required.
Load data
Open backtest.marketheist.io 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.