Observation Deck / Chronoticker

Quick-Start Guide

← Back to Chronoticker

A 1-minute walkthrough: what the inputs do, what the stats mean, and how to read the chart.

What this tool does

You pick a basket of stocks and weights — the tool simulates investing in that exact mix at a starting date and tracks what your money would be worth today, day by day. It compares your portfolio against the S&P 500 (via the SPY ETF) so you can see whether your picks beat or lagged a passive index.

How to run a backtest

1
Set your initial investment. The lump sum you'd invest at the start of the lookback window. Default $10,000.
2
Pick a lookback window. How far back to start. 1y is a quick sanity check; 5y or 10y shows how a strategy held up across multiple market regimes (e.g., COVID crash, 2022 bear market, 2023 AI rally).
3
Choose a rebalance cadence.
  • None (buy & hold) — buy once, never touch. Winners drift up, the portfolio gets concentrated.
  • Monthly / Quarterly / Annually — periodically sell winners and buy losers to return to your target weights. Reduces concentration risk and forces "buy low, sell high" mechanics.
4
(Optional) Add a monthly DCA contribution. Simulates dollar-cost averaging — adding the same dollar amount every 30 days, split across your weights. Useful for "what if I'd invested $500/month into the Mag 7?" questions.
5
Build your allocation. Pick stocks from the dropdown, set weights, and make sure they sum to 100%. The total turns green when you're balanced. Try the Mag 7 (equal weight) preset for a one-click starting point.
6
Click Run Backtest. The tool loads historical adjusted-close prices, aligns the trading days, simulates the strategy, and renders the chart + stats.

Reading the results

The chart

The orange line is your portfolio's value over time. The dashed magenta line is what the same money would have done in the S&P 500 (SPY). Above SPY = you outperformed; below = you underperformed.

The stats

Final Value What your portfolio is worth on the last day of the window — including any DCA contributions you added along the way.
Total Return Profit divided by total dollars contributed. 50% means you made $0.50 for every $1 you put in.
CAGR Compound Annual Growth Rate — the steady annual return that would have produced the same end value. The fairest single number to compare strategies of different lengths.
Max Drawdown The worst peak-to-trough drop the portfolio ever experienced. This is the number that gets ignored and shouldn't be. A 30% CAGR with a 70% drawdown is brutal to live through.
Volatility (ann.) Standard deviation of daily returns, scaled to a year. Higher = more day-to-day swings. The Mag 7 typically sits around 25–35%; SPY runs 15–20%.
Sharpe Ratio Return per unit of risk (return ÷ volatility, no risk-free rate adjustment in this simplified version). Above 1 is good, above 2 is rare. Negative means you'd have been better off in cash.
Best / Worst Day The single biggest up-day and down-day in the window. Useful gut-check on tail risk.

Try these scenarios

"Did the Magnificent 7 actually beat the index?"

Click the Mag 7 (equal weight) preset, set lookback to 5 years, rebalance quarterly. Compare the orange line to the dashed SPY line. Note both the CAGR delta and the max drawdown delta — outperformance often comes with bigger swings.

"Concentrated bet vs. diversified?"

Run 100% NVDA over 5 years. Note the CAGR and the max drawdown. Then run 7-stock equal-weight Mag 7 over the same window. The single-stock bet usually has higher CAGR but a much uglier drawdown.

"Does rebalancing actually help?"

Run the same allocation twice — once with rebalancing off, once with quarterly rebalancing. Compare CAGR, max drawdown, and Sharpe. Rebalancing usually trims a bit of return but improves Sharpe (smoother ride).

"What if I'd DCA'd $500/month for 5 years?"

Set initial to $0 (or $500 for the first contribution), DCA to 500, lookback to 5 years. The chart will show steady upward steps from contributions in addition to market moves.

Caveats & data notes

How the data gets here: Chronoticker serves daily adjusted-close prices from the Tiingo API, pre-baked into the site as static JSON and refreshed nightly by a GitHub Action. Because backtests read static files from the CDN, there are no runtime API calls, no CORS issues, and no rate limits. If the nightly refresh ever breaks, results simply end at the last refreshed day — the app shows a warning when that happens.

Educational use only. Backtests are a thinking tool, not a prediction. Past performance does not guarantee future results. Nothing here is financial advice.