Results and metrics
A finished backtest produces a single continuous report. This page documents every metric, number, and table it reports, grouped by report section, with how to read each one. The Backtester is available to Free, Pro Lite, and Pro accounts.
Before you begin
- Sign in and run a backtest first. For the steps, see Run your first backtest.
- Some panels appear only when the run produced the underlying data, noted on each one below.
Quickstart
Run a backtest
Go to the Backtester, build a portfolio, and select Run backtest.
Read the headline strip
Read the five headline metrics at the top: total return, compound annual growth rate, volatility, Sharpe, and maximum drawdown.
Drill into the sections
Move down through Performance, Stability, Risk, Dividends, Benchmark, Transactions, and Process for the detail behind the headline.
What it shows
The report stacks the sections described below, from a headline strip down to the transaction and process logs. The charts in these sections are documented separately in Charts and graphs.
Outputs and how to read them
Headline metrics strip
At the top of the report.
- Total return: the cumulative gain over the whole run, as a percentage. Green if positive, red if negative.
- CAGR: the compound annual growth rate, the geometric annualized return.
- Volatility: the annualized standard deviation of daily returns, a measure of how bumpy the ride was.
- Sharpe: the return earned per unit of total risk. Above 1 is solid, above 2 is excellent and rare, and a negative value means cash would have done better.
- Max drawdown: the largest peak-to-trough decline experienced, as a percentage.
Run header summary
The starting dollar amount, the ending value, the number of trading days simulated, total dividends paid, and the benchmark it was compared against. A data-gaps banner appears if some holdings were missing price history for part of the range.
Performance section
- Annual returns table: per calendar year, the starting and ending portfolio value, that year's return, and dividends paid that year.
- The equity curve and the monthly heatmap, described in Charts and graphs.
Stability section
The rolling chart plus three same-end-date Sharpe cards (last 3 months, last year, and lifetime), described in Charts and graphs.
Risk section tiles
Grouped into columns.
- Risk-adjusted: Sortino (like Sharpe but penalizing only downside moves), Calmar (return relative to worst drawdown), and when available the Pain Ratio and the Ulcer Index, which weigh both the depth and the duration of losses.
- Drawdown: Recovery (trading days from the worst trough back to the prior peak, or a dash if the run ended underwater), Max losing streak (the longest run of consecutive down days), Avg DD duration (the average length of a drawdown episode), and Days in DD (the share of all days spent below a prior peak).
- Time underwater (when available): total days underwater and the share that is, the longest single underwater stretch, and the number of days the drawdown was at least 10 percent and at least 20 percent deep.
- Versus benchmark (when a benchmark is set): Beta (sensitivity to the benchmark), Alpha (annualized excess return after adjusting for market exposure), and Correlation. These are covered in full in Benchmark comparison.
Worst drawdown episodes table
The five deepest drawdowns, each with its peak date, trough date, recovery date (or "underwater" if not yet recovered), depth, duration in days, and recovery time.
Daily return distribution (tail risk)
- VaR 95 and VaR 99: the loss level not exceeded on 95 percent and 99 percent of days.
- CVaR 95 and CVaR 99: the average loss on the days that did breach those thresholds.
- Best and worst single days: the largest up and down days, with their dates.
- Up days versus down days: a count of each.
Crisis windows
When recognized stress periods fall inside the date range, one card per event (for example 2008, COVID, late 2018, 2022). Each card shows the portfolio's return through that window, the benchmark's return over the same window, the worst drawdown inside it, and a "Beat" tag when the portfolio outran the benchmark.
Concentration panel
When available.
- HHI: a diversification index. A higher value means a more concentrated portfolio.
- Effective number of holdings: how many equally weighted names would match the current diversification.
- Largest holding weight: the weight of the single largest holding.
- Top-five and top-three weight: the combined weight of the largest holdings.
Costs and turnover panel
When available.
- Annual turnover: how often the portfolio rotates.
- Total commissions, total slippage, and total friction: the dollars lost to trading, including what share of profit went to costs.
Holding attribution
Two columns: the top five contributors and the top five detractors. Each shows the holding's symbol, its average weight, its net dollar contribution, and that contribution as a percentage of starting capital.
Trade quality
When there were rebalances, a post-mortem on each rebalance decision. Headline stats show the cumulative dollar impact of rebalancing, the average impact per rebalance, and how many rebalances helped versus hurt. Two tables list the best and worst rebalance decisions, comparing what actually happened to what would have happened had the portfolio not rebalanced.
Dividends section
When dividends were paid.
- KPI panel: total dividends, price appreciation (the gain from price moves alone), yield on cost, the three-year dividend growth rate, average annual dividends, projected annual income, and the share of total return that came from dividends.
- Dividends table: per year, dividends paid, year-over-year growth, and yield on cost.
Benchmark section
When a benchmark is set. This is documented in full in Benchmark comparison.
Transactions section
A count of buys, sells, dividends, and rebalances plus total fees, then a filterable, scrollable table of every trade. Each row shows the date, the type (buy, sell, dividend, split, or reinvestment), the symbol, the reason the trade fired, the shares, the price, and the dollar amount. Filters narrow the table by type, by year, and by reason.
Process section
A per-rebalance event log. A status banner reports whether every holding had complete data (no normalization needed) or whether some weights were normalized because a holding lacked early history. Each rebalance is a clickable date chip. Selecting one reveals the target versus the actually used weights, which symbols had data on that date, and how many trades fired. Chips for periods where no trade was needed are shown muted.
How it is calculated
The report computes standard, transparent statistics from the day-by-day simulated record. Three of the headline figures show the method.
Compound annual growth rate
The compound annual growth rate is the steady yearly rate that compounds to the total return over the run.
CAGR = (ending value / starting value) ^ (1 / years) − 1
In this formula, ending value and starting value are the portfolio's final and initial dollar values, and years is the length of the run in years. The result is shown as a percent. For example, a portfolio that grew from 100,000 to 180,000 over 5 years gives (180,000 over 100,000) to the power of (1 over 5) minus 1, which is about 12.5% per year.
Sharpe ratio
The Sharpe ratio measures how much return the strategy earned for each unit of total risk it took.
Sharpe = (annualized return − risk-free rate) / annualized volatility
Here annualized return and annualized volatility are the strategy's yearly return and the annualized standard deviation of its daily returns, and risk-free rate is the return of a safe cash alternative. For example, an annualized return of 12%, a risk-free rate of 3%, and a volatility of 15% give (12 minus 3) divided by 15, which is 0.6. A higher Sharpe means more return per unit of risk.
Maximum drawdown
The maximum drawdown is the deepest single peak-to-trough decline the portfolio experienced.
max drawdown = min over all days of (value − prior peak) / prior peak × 100
In this formula, prior peak is the highest value reached before that day, in US dollars. The result is the most negative drawdown across the run. For example, a trough of 70,000 reached after a peak of 100,000 gives (70,000 minus 100,000) divided by 100,000, times 100, a drawdown of negative 30%, and the maximum drawdown is the worst such reading over the whole run.
Data and timing
Every figure is computed from the simulated day-by-day record, which is driven by AlphaVantage end-of-day price and dividend history, with quotes delivered through AlphaVantage from Nasdaq. The report is built once, when the run finishes, and does not change unless you re-run it.
Use cases
- Read the headline strip for a one-look verdict on return and risk together.
- Use the risk tiles and tail-risk numbers to size the worst case, not only the average.
- Use holding attribution and trade quality to see what drove the result and whether rebalancing helped.
Limitations and disclosures
Results are hypothetical and reconstruct the past for a portfolio you describe. They are not a prediction, and past performance does not guarantee future results. Some panels appear only when the run produced the underlying data, so short runs or runs with no rebalances show fewer panels. A holding contributes only from the point its historical data begins.
GNG Research provides equity research and educational tools, not investment advice. Nothing on the platform is a recommendation to buy or sell any security. Do your own research and consider your circumstances before making any investment decision.
