Do the Hash Ribbons work?
The 30-day hash rate back above the 60-day after at least 30 days below (recovery). Mixed: 8 of 18 signals were on within 90 days of a cycle bottom, catching 5 of the 5 bottoms in its record; a year later the price had changed by a median +159%, against +65.9% for a typical day of the same cycles.
The 30-day hash rate falling below the 60-day after at least 30 days above (capitulation). Mixed: 5 of 25 signals were on within 90 days of a cycle bottom, catching 5 of the 5 bottoms in its record; a year later the price had changed by a median +91.9%, against +65.9% for a typical day of the same cycles.
- The 30-day hash rate back above the 60-day after at least 30 days below (recovery): 18 signals; 8 of 18 decided were on within 90 days of a cycle bottom (10 false alarms); it caught 5 of the 5 cycle bottoms in its record.
- The 30-day hash rate falling below the 60-day after at least 30 days above (capitulation): 25 signals; 5 of 25 decided were on within 90 days of a cycle bottom (20 false alarms); it caught 5 of the 5 cycle bottoms in its record.
What followed the signals
The 30-day hash rate back above the 60-day after at least 30 days below (recovery)
| After | Signals | Median change | Mean change | Share up | All days: median | All days: share up | Same cycles: median |
|---|---|---|---|---|---|---|---|
| 7 days | 16 16 independent | +0.4% | +3.8% | 56% | +0.8% | 55% | +0.6% |
| 30 days | 16 16 independent | +1.9% | +12.4% | 50% | +3.3% | 57% | +2.0% |
| 90 days | 15 12 independent | +10.2% | +47.8% | 67% | +13.9% | 62% | +12.3% |
| 365 days | 12 7 independent | +159% | +520% | 92% | +94.9% | 72% | +65.9% |
The 30-day hash rate falling below the 60-day after at least 30 days above (capitulation)
| After | Signals | Median change | Mean change | Share up | All days: median | All days: share up | Same cycles: median |
|---|---|---|---|---|---|---|---|
| 7 days | 23 23 independent | +4.2% | +0.3% | 70% | +0.8% | 55% | +0.6% |
| 30 days | 23 23 independent | +0.4% | −2.6% | 57% | +3.3% | 57% | +2.0% |
| 90 days | 23 19 independent | +18.9% | +25.8% | 61% | +13.9% | 62% | +12.3% |
| 365 days | 22 10 independent | +91.9% | +585% | 73% | +94.9% | 72% | +65.9% |
Every signal
The 30-day hash rate back above the 60-day after at least 30 days below (recovery)
| First day | Reading | BTC close | 7 days | 30 days | 90 days | 365 days | Nearest cycle bottom | Near a turn |
|---|---|---|---|---|---|---|---|---|
| 16 Apr 2009 35 days in signal | +0.06% | – | – | – | – | – | – | False alarm |
| 17 Sep 2009 687 days in signal | +3.93% | – | – | – | – | – | – | Hit |
| 26 Dec 2011 330 days in signal | +0.05% | $4.02 | +29.8% | +43.3% | +13.2% | +232% | 38 days after the 2011 bottom (18 Nov 2011); price +96.0% from it | Hit |
| 4 Feb 2013 2,029 days in signal | +0.01% | $20.43 | +20.7% | +101% | +468% | +4436% | 444 days after the 2011 bottom (18 Nov 2011); price +897% from it | Hit |
| 10 Jan 2019 314 days in signal | +0.80% | $3,668 | +0.5% | −0.4% | +45.0% | +123% | 26 days after the 2018 bottom (15 Dec 2018); price +13.5% from it | Hit |
| 21 Dec 2019 89 days in signal | +0.51% | $7,159 | +2.2% | +20.6% | −13.3% | +228% | 371 days after the 2018 bottom (15 Dec 2018); price +121% from it | False alarm |
| 24 Apr 2020 30 days in signal | +0.87% | $7,509 | +17.6% | +16.1% | +28.0% | +567% | 496 days after the 2018 bottom (15 Dec 2018); price +132% from it | False alarm |
| 23 Jun 2020 128 days in signal | +0.40% | $9,624 | −5.1% | −0.1% | +8.2% | +250% | 556 days after the 2018 bottom (15 Dec 2018); price +198% from it | False alarm |
| 2 Dec 2020 161 days in signal | +0.07% | $19,226 | −3.5% | +52.9% | +152% | +194% | 718 days after the 2018 bottom (15 Dec 2018); price +495% from it | False alarm |
| 7 Aug 2021 307 days in signal | +0.01% | $44,618 | +5.6% | +18.1% | +36.8% | −48.0% | 471 days before the 2022 bottom (21 Nov 2022); price +183% from it | False alarm |
| 19 Aug 2022 100 days in signal | +0.10% | $20,833 | −2.8% | −6.8% | −19.9% | +25.3% | 94 days before the 2022 bottom (21 Nov 2022); price +32.2% from it | Hit |
| 7 later signals | Included in Plus |
| Cycle bottom | BTC close | Signal on within 90 days |
|---|---|---|
| 18 Nov 2011 | $2.05 | Yes: the signal from 26 Dec 2011, which began 38 days after it |
| 14 Jan 2015 | $164.92 | Yes: the signal from 4 Feb 2013, which began 709 days before it |
| 15 Dec 2018 | $3,233 | Yes: the signal from 10 Jan 2019, which began 26 days after it |
| 21 Nov 2022 | $15,760 | Included in Plus |
| 30 Jun 2026 | $58,532 | Included in Plus |
The 30-day hash rate falling below the 60-day after at least 30 days above (capitulation)
| First day | Reading | BTC close | 7 days | 30 days | 90 days | 365 days | Nearest cycle bottom | Near a turn |
|---|---|---|---|---|---|---|---|---|
| 21 May 2009 119 days in signal | −0.13% | – | – | – | – | – | – | False alarm |
| 28 Oct 2009 28 days in signal | −0.51% | – | – | – | – | – | – | False alarm |
| 2 Sep 2011 115 days in signal | −0.24% | $8.64 | −41.8% | −41.8% | −64.6% | +15.3% | 77 days before the 2011 bottom (18 Nov 2011); price +321% from it | Hit |
| 24 Apr 2012 12 days in signal | −0.03% | $5.10 | −1.9% | +0.4% | +65.7% | +2925% | 158 days after the 2011 bottom (18 Nov 2011); price +149% from it | False alarm |
| 7 Jun 2012 14 days in signal | −0.31% | $5.59 | +6.5% | +20.9% | +96.7% | +1885% | 202 days after the 2011 bottom (18 Nov 2011); price +173% from it | False alarm |
| 16 Dec 2012 50 days in signal | −0.37% | $13.30 | +0.1% | +7.1% | +253% | +5614% | 394 days after the 2011 bottom (18 Nov 2011); price +549% from it | False alarm |
| 18 Dec 2014 13 days in signal | −0.02% | $310.34 | +2.8% | −35.7% | −17.5% | +49.2% | 27 days before the 2015 bottom (14 Jan 2015); price +88.2% from it | Hit |
| 27 Apr 2015 29 days in signal | −0.04% | $228.96 | +4.4% | +3.6% | +27.4% | +104% | 103 days after the 2015 bottom (14 Jan 2015); price +38.8% from it | False alarm |
| 30 Jul 2016 23 days in signal | −0.07% | $654.74 | −10.4% | −12.3% | +4.8% | +323% | 563 days after the 2015 bottom (14 Jan 2015); price +297% from it | False alarm |
| 30 Oct 2018 72 days in signal | −0.24% | $6,309 | +2.7% | −32.1% | −45.3% | +45.3% | 46 days before the 2018 bottom (15 Dec 2018); price +95.2% from it | Hit |
| 20 Nov 2019 31 days in signal | −0.30% | $8,094 | −6.9% | −11.0% | +25.8% | +120% | 340 days after the 2018 bottom (15 Dec 2018); price +150% from it | False alarm |
| 19 Mar 2020 36 days in signal | −0.12% | $6,185 | +9.3% | +17.5% | +52.9% | +839% | 460 days after the 2018 bottom (15 Dec 2018); price +91.3% from it | False alarm |
| 24 May 2020 30 days in signal | −0.97% | $8,718 | +8.4% | +10.4% | +33.9% | +345% | 526 days after the 2018 bottom (15 Dec 2018); price +170% from it | False alarm |
| 29 Oct 2020 34 days in signal | −0.42% | $13,462 | +15.9% | +31.8% | +126% | +363% | 684 days after the 2018 bottom (15 Dec 2018); price +316% from it | False alarm |
| 24 Apr 2021 87 days in signal | −0.03% | $50,116 | +15.4% | −22.5% | −32.9% | −21.3% | 576 days before the 2022 bottom (21 Nov 2022); price +218% from it | False alarm |
| 9 Jun 2022 70 days in signal | −0.07% | $30,083 | −32.3% | −28.3% | −35.9% | −12.0% | 165 days before the 2022 bottom (21 Nov 2022); price +90.9% from it | False alarm |
| 27 Nov 2022 48 days in signal | −0.40% | $16,421 | +4.2% | +1.7% | +41.1% | +127% | 6 days after the 2022 bottom (21 Nov 2022); price +4.2% from it | Hit |
| 8 later signals | Included in Plus |
| Cycle bottom | BTC close | Signal on within 90 days |
|---|---|---|
| 18 Nov 2011 | $2.05 | Yes: the signal from 2 Sep 2011, which began 77 days before it |
| 14 Jan 2015 | $164.92 | Yes: the signal from 18 Dec 2014, which began 27 days before it |
| 15 Dec 2018 | $3,233 | Yes: the signal from 30 Oct 2018, which began 46 days before it |
| 21 Nov 2022 | $15,760 | Included in Plus |
| 30 Jun 2026 | $58,532 | Included in Plus |
Method and sources
Signals. Bottom signal: the 30-day hash rate back above the 60-day after at least 30 days below (recovery); Bottom signal: the 30-day hash rate falling below the 60-day after at least 30 days above (capitulation). The levels are the ones commonly quoted for this indicator, fixed before any result was looked at. A signal starts on the first day the condition holds after it has been off for at least 30 days, so a run of days counts once (the same rule as the signal lab).
Point in time. The spread is 100 × (30-day average ÷ 60-day average − 1) of our daily hash-rate estimate; both averages are trailing. Recovery and capitulation are its turns above and below zero after at least 30 days on the other side, the usual reading of the Hash Ribbons. Daily readings are closed UTC days from 3 March 2009 to 26 October 2026; the open day is never used.
Outcomes. The change of the BTC daily close from the close of the signal's first day to the close 7, 30, 90 and 365 days later, against the same change from every day the indicator has a reading (the base rate). Signals whose windows overlap share the same price moves, so the tables also count independent signals: windows that do not overlap, counted from the first. Recent signals wait for their outcomes.
Cycle tops and bottoms. A cycle top is an all-time-high close followed by a fall of at least 75% before any higher close; the latest all-time high starts the current cycle. A cycle bottom is the lowest close between two tops; the current cycle's bottom is its lowest close so far, so it can still move. A signal is a hit when a turn of its kind came while it was on or within 90 days either side (from 90 days before its first day to 90 days after its last), and a false alarm otherwise; a signal still on, or ended less than 90 days ago, waits. The verdict compares each signal with the median change of every day in the same four-year halving cycle, so the outsized early years neither flatter nor penalise later signals.
Plans. The chart needs Plus: the statistics cover its whole history for everyone, the signals listed and drawn stop at 31 December 2022 without Plus, and today's reading comes with Plus.
Sources. Our own Bitcoin node and BTC/USD price record, through the published chart linked below. Past signals describe what happened; they are not a forecast and nothing here is investment advice.
Questions
Do the Hash Ribbons work?
How accurate are the Hash Ribbons?
Have the Hash Ribbons given false signals?
Are the Hash Ribbons signalling now?
How is this backtest calculated?
Each signal is the first day the hash ribbon spread meets its level after at least 30 days without it, using only data that existed that day. We measure the BTC price change 7, 30, 90 and 365 days later against the same change from every day and from the days of the same four-year cycle, and the distance to the nearest cycle top or bottom.
Open the Hash Ribbons chartAll free tools
Signals and outcomes are calculated by CryptoKeyhole from our own Bitcoin node and price data, using only data that existed on each day. Past signals describe what happened; they are not a forecast, and nothing here is investment advice.