BEHIND THE NUMBERS
History, with context.
The source
Yahoo Finance monthly closing prices in USD, fetched daily when the refresh succeeds. The latest month may be incomplete and uses the latest available price. Each asset page states its own last price date; histories can have different dates. Results are estimates based on monthly observations, not executable trades.
Bitcoin before October 2014
Source: The Bitcoin Time Machine (thebitcointm.com), stated license CC BY 4.0. Coverage starts January 2011; 2010 is excluded because of the thin early Mt.Gox market. We aggregate daily closes to the last daily close of each month through September 2014. Yahoo Finance wins from October 2014 onward. The 24 overlapping month-end closes (October 2014–September 2016) differ by 0.030300–0.931350% absolute relative to Yahoo.
Late 2013 to Feb 2014 prices in this source come from Mt.Gox, which traded about 10–20% above other exchanges before it collapsed in Feb 2014 (other exchanges were around $800–830 in late Jan 2014, vs $938.85 here). Any purchase priced in that window (a lump sum starting then, or monthly contributions made then) used the inflated price and bought fewer coins, so those results are understated.
Monthly investing (DCA)
For N years, anchor S is the latest month L minus 12N calendar months. Standard windows require every month S through L. With no initial investment, purchases occur at the monthly closes S+1 through L, exactly 12N contributions. Fractional units purchased = contribution / purchase price; final value = total units × final price. The final purchase earns no return. Adjusted closes model dividends reinvested; crypto uses price only.
Annualized (money-weighted IRR) solves V = amount × (1+r)^(L−S) + Σ monthly × (1+r)^(L−purchase month), with actual calendar month offsets. Annualized IRR = expm1(12 × log1p(r)); bisection starts at [−0.9999, 10], expands the upper bound to at most 1e6, and requires width ≤ 1e−14 and relative residual ≤ 1e−12 within 200 iterations. Failure displays —. Lump sums retain CAGR.
SPY always uses adjusted closes, including when the selected asset uses price only. Comparisons intersect available calendar months within S…L and require S in both histories; both assets buy on that identical schedule through the latest common endpoint. Shortened schedules are labelled common-month comparison, with contribution counts, invested amount, endpoint and both price dates. Missing S means unavailable. Different price dates are not simultaneous trades.
Free historical returns dataset: lump-sum CAGR, distinct from monthly investing IRR.
Start-year eligibility
A start year is indexed only from 2006 onward, with a real January close (no shifted start), at least 24 monthly closes including that close, and a $1,000 reinvested result that differs at displayed cents from both neighbouring January years. Other years remain accessible as noindex share pages.
Two ways to look back
Dividends reinvested uses adjusted close, which accounts for splits and dividends. Price only uses split-adjusted close. Crypto uses closing prices for both modes. Fractional shares are allowed. Total-return value = initial amount × final adjusted close ÷ starting adjusted close. Yahoo adjustments may be revised.
Monthly contributions
The initial investment buys at the selected monthly close. Monthly contributions buy at every subsequent available monthly close, including the final month. There is no extra contribution in the starting month. Missing months have no purchase. Each purchase grows by final price divided by its purchase price.
Returns and comparison
Gain = final value minus contributions. Total return = gain ÷ amount invested. Multiple = value ÷ amount invested. CAGR = (final value ÷ initial amount)^(12 ÷ elapsed calendar months) − 1. CAGR is shown only for lump sums with a positive holding period; it is not a money-weighted DCA return. SPY represents the S&P 500 through an investable ETF. Interactive comparisons align both assets to their common available monthly observations, with any shortened period disclosed.
Limits that matter
If a requested start month is unavailable, we use the next available month and state the actual date. This includes assets launched more recently. Rankings require full history, use a common endpoint and cover only our curated list. Survivorship bias, missing data and corporate actions can affect results. Fees, taxes, inflation and FX are excluded. Past performance doesn’t predict future returns. Not financial advice.
Privacy
No cookies, signup or third-party scripts. Anonymous view, first calculation and share events contain only the event type, page slug and optional referral tag. No investment amounts or calculator inputs are sent in these events. The web server may record standard request information in its logs.