Bitcoin DCA Calculator
See how regular Bitcoin purchases could grow your investment over time.
How it works
Choose how much to invest per purchase, how often to buy (daily, weekly, or monthly), and the historical date range to test.
Clicking 'Run Backtest' fetches daily Bitcoin price data from CoinGecko, then simulates every purchase in your date range using the actual price on each date.
Results show total invested, BTC accumulated, portfolio value at the end date, ROI, trades executed, and your average cost per BTC.
Backtest
Price data covers up to the last 365 days. For longer ranges, trades outside the covered window are skipped.
Formula
Amount ÷ BTC price on that dateΣ (Amount ÷ Price) for each periodTotal BTC × price at end date(Portfolio − Invested) ÷ Invested × 100%Average cost basis: Total invested ÷ Total BTC accumulated. When the current price is above your cost basis you are in profit; below it you are at a loss. This is also the figure used for capital gains calculations.
DCA frequency reference
| Frequency | Purchases/year | Annual cost at $100 | Annual cost at $500 |
|---|---|---|---|
| Daily | 365 | $36,500 | $182,500 |
| Weekly | 52 | $5,200 | $26,000 |
| Monthly | 12 | $1,200 | $6,000 |
Frequently asked questions
The calculator fetches daily Bitcoin prices from the CoinGecko API for your selected date range, then simulates a purchase of your chosen amount at each interval (daily, weekly, or monthly). It divides the purchase amount by the BTC price on each date to get the BTC acquired, sums all purchases, and values the total BTC at the price on your end date.
Trades executed counts how many purchases were filled, meaning there was a valid historical price on or before that date in the dataset. Weekends and public holidays are not gaps since the Bitcoin market never closes, but if the price history API is missing a particular date, that trade is skipped. The count will almost always match for daily/weekly, and may vary by 1-2 for monthly due to month-end alignment.
For a true backtest you want to know what the strategy was worth at the end of the specified period, not today. If you set the end date to today you will get a present-day valuation. Setting an end date in the past gives you a historical performance snapshot - useful for testing how a strategy would have performed in a specific market cycle.
Academic studies on US equities show the difference between weekly and monthly DCA is statistically negligible over long periods. For Bitcoin, the higher volatility means more frequent purchases can capture slightly more dips, but the effect averages out over years. Monthly DCA is easier to automate, has lower fee exposure, and performs almost identically to weekly over a 3-5 year horizon.
Your average cost basis is the average price you paid per BTC across all purchases. It is total invested divided by total BTC accumulated. When the current BTC price is above your cost basis you are in profit; below it you are at a loss. Cost basis is also the figure used for capital gains tax calculations in most jurisdictions.
No. DCA reduces timing risk and smooths out volatility but cannot eliminate market risk. If Bitcoin is lower at your end date than at your start date, a DCA strategy will still show a loss - though typically less than a lump-sum purchase at the peak. DCA works best over multi-year periods where Bitcoin's long-term trend has historically prevailed.
Related calculators
Model whether your Bitcoin holdings will fund retirement at a target future price.
Convert between Satoshis, BTC, and USD using the live Bitcoin price.
Estimate daily mining revenue and profit from hashrate and electricity cost.
Calculate compound annual growth rate and project portfolio growth over time.
Stack smarter — buy dips with algorithm-identified entries
DCA builds the base. GainzAlgo finds the high-probability entries so your regular purchases land at better prices, improving your average cost basis over time.