Show assets

Choose a date and assets, then update the chart to load historical prices.

Historical price data loads on demand. Successful CoinGecko history is saved in this tab for up to six hours.

Indexed return

Performance since halving

Each line starts at 0% on that cycle’s halving. Solid lines show BTC; dashed lines show ETH. Returns are compared at the same number of days after halving.

Historical backdrop

Bitcoin and macro conditions

BTC monthly close above; U.S. CPI inflation and the effective federal funds rate below. The two panels use separate scales. Macro observations are monthly and can be published weeks after their observation month.

Loading the versioned FRED macro snapshot…

Sources: Federal funds effective rate · FRED and CPI index · FRED.

BTC prices follow the selected source above and use the last daily BTC price available in each month up to the selected date. CPI inflation is calculated year over year from the seasonally adjusted CPI index. Fed funds is the monthly average effective rate. CPI and rate observations may have different latest months. Historical data can be revised. Side-by-side timing is descriptive and does not establish causation or predict returns.

Matched time point

Returns at the selected cycle day

Asset returns at the selected number of days since each Bitcoin halving
CycleHalvingDay in cycleBTC returnETH return

How this comparison works

Cycles begin on Bitcoin halving dates: Nov 28, 2012; Jul 9, 2016; May 11, 2020; and Apr 20, 2024. The selected date determines the elapsed days in the current cycle; earlier cycles are compared at that same day, capped at their next halving. A cycle is included for an asset only when daily prices exist within seven days after its halving. CoinGecko USD history is tried first. If it is unavailable or rate limited, the chart falls back to Binance BTC/USDT and ETH/USDT daily spot candles; that fallback covers the 2020 and 2024 cycles, not the older halvings. The latest in-progress UTC daily candle is excluded.