Bitcoin Cycle Twin Finder
Which day in Bitcoin's history looks most like today? We compare the last 30 days of market state — returns, volatility, drawdown from 365d high, price vs 200-day MA, and volume — against every 30-day window since 2010. The closest matches get ranked. Then we show what actually happened in the 90 days after each one.
Updated at most every 30 minutes · Last computed reference date: 2026-04-20
BTC price
$74,467
Fear & Greed
29
Fear
Drawdown
-40.3%
from 365d high
Days since halving
730
Cycle phase
Late-cycle / distribution
Today's chart looks like 2018-07-29 (65.9% similarity)
Today — last 90 days
2026-01-19 → 2026-04-20
Now
$74,467
-19.6% (90d)
Twin — 2018-07-29
2018-04-29 → 2018-07-29 → 2018-08-29
Price then
$8,217
-12.7% (90d)
After 7 days
-14.3%
After 30 days
-13.7%
After 90 days
-21.3%
This is the #1 closest twin of the top-10. Browse the others with ◀ ▶.
Across all 10 analogs, the median 30-day forward return was -17.1% and the median 90-day return was -20.6%. Past analogs are not predictions.
Where the top-10 historical twins sit on BTC's full timeline
All 10 analogs overlaid — forward 90 days
Each colored line is one historical analog's BTC trajectory in the 90 days after its match date, indexed to 100. The shaded green band is the p10–p90 envelope across all 10. The dashed emerald line is the median path.
Forward returns across analogs
What actually happened after dates that looked like today. n=10 analogs.
| Horizon | Median | P10 | P90 | σ | % up |
|---|---|---|---|---|---|
| +7d | -2.5% | -9.7% | +4.0% | +5.8% | 30% |
| +30d | -17.1% | -21.5% | -3.0% | +10.2% | 10% |
| +90d | -20.6% | -39.9% | -4.4% | +18.6% | 10% |
Walk-forward backtest · 58 anchors
How well has this system actually predicted the past?
For every one of 58 anchor dates on a 30-day grid from 2021-04-20 to 2025-12-25, we re-ran the Twin Finder using only data available on that date — then compared its median prediction to what BTC actually did. No lookahead, no cherry-picking.
+7 day horizon
46.6%
directional accuracy
(coin flip = 50%)
- Mean abs error
- 7.4%
- MAE vs naive (0%)
- +22%
- Correlation
- -0.15
- Median actual
- -0.8%
- Median predicted
- +1.9%
Outcomes
+30 day horizon
55.2%
directional accuracy
(coin flip = 50%)
- Mean abs error
- 15.6%
- MAE vs naive (0%)
- +24%
- Correlation
- 0.06
- Median actual
- -1.3%
- Median predicted
- +4.1%
Outcomes
+90 day horizon
70.7%
directional accuracy
(coin flip = 50%)
- Mean abs error
- 30.3%
- MAE vs naive (0%)
- +19%
- Correlation
- 0.24
- Median actual
- +1.2%
- Median predicted
- +9.4%
Outcomes
The metric to trust: MAE vs naive. Positive means the system is closer to reality than a naive "predict 0%" baseline. The Twin Finder is not a trading signal — it's a contextual reference. Similarity does not guarantee outcome.
All 10 historical twins
| # | End date | Similarity | BTC at date | F&G | Drawdown | +7d | +30d | +90d |
|---|---|---|---|---|---|---|---|---|
| 1 | 2018-07-29 | 65.9% | $8,217 | 54 | -57.5% | -14.3% | -13.7% | -21.3% |
| 2 | 2026-01-15 | 64.9% | $95,584 | 61 | -23.4% | -6.5% | -28.0% | -22.4% |
| 3 | 2015-03-13 | 60.5% | $287.21 | — | -57.1% | -8.9% | -17.9% | -20.0% |
| 4 | 2022-04-03 | 57.5% | $46,414 | 48 | -31.3% | -9.2% | -18.7% | -58.6% |
| 5 | 2018-04-26 | 56.7% | $9,282 | 47 | -52.0% | +5.0% | -20.8% | -12.0% |
| 6 | 2014-06-03 | 53.0% | $669.43 | — | -45.9% | -2.1% | -4.7% | -28.7% |
| 7 | 2022-07-30 | 50.6% | $23,646 | 42 | -65.0% | -2.9% | -14.2% | -12.9% |
| 8 | 2014-11-18 | 48.0% | $379.16 | — | -69.4% | -0.7% | -18.2% | -37.8% |
| 9 | 2022-10-31 | 47.0% | $20,493 | 31 | -69.7% | +0.5% | -16.3% | +15.9% |
| 10 | 2015-06-22 | 44.1% | $247.46 | — | -61.7% | +3.8% | +11.7% | -6.6% |
Methodology — how the match is computed
For every day in BTC's history we precompute a feature vector with 10 signals: 1-day, 7-day, 30-day and 90-day returns; 30-day realized volatility (log returns, annualized); drawdown from 365-day high; price vs 200-day moving average; 30-day volume z-score; Fear & Greed (where available); and days since the last halving. That gives 5,757 daily vectors stored in BtcFeatureVector.
A "window" is the concatenation of the last 30 days of six trajectory features. Each feature column is z-score-normalized inside its own window, so the comparison measures shape, not absolute price level (BTC at $200 vs $100,000 still compares).
The reference window (last 30 days ending on 2026-04-20) is compared to every prior window via cosine similarity. The top-10 results are then deduplicated so no two picks are closer than 90 days apart — otherwise clustered periods would dominate. For each pick we look up BTC's actual price at +7d, +30d and +90d after the analog end-date.
Similarity is a distance metric, not a prediction. A 75% cosine score means the last 30 days of features are 75% aligned with some historical 30-day window — it does not mean BTC has a 75% chance of doing what it did next. Use this as context, not as a signal.
Want custom analog searches on demand?
Logged-in users can run the Twin Finder for any historical date, adjust window length, and get weekly alerts when today's analogs shift significantly.
Create a free account