Skip to the guide

Bitcoin indicator backtests

Every signal the famous Bitcoin indicators have given, graded by what the price did next and how close each came to the cycle top or bottom.

Signals graded

27

from 15 indicators

Held up

5

price did what the signal suggests, by a wide margin

No edge or worse

8

no better than a typical day, or worse

Mixed or too few

14

some edge, or too few signals to judge

Updated daily from our own Bitcoin node and price data. Last update 2 November 2026, 15:44 UTC

Every indicator, graded

Every graded signal, sorted by how far its change a year later differed from a typical day of the same cycle, in the direction the signal suggests
Indicator and signalSignalsNear a cycle turnMedian 90 days laterMedian 365 days laterVerdict
NUPL NUPL at 0.75 or above (euphoria)43 of 4−27.6% all days +13.9%−20.2% all days +94.9%Held up Held up: 3 of 4 signals were on within 90 days of a cycle top, catching 3 of the 5 tops in its record, and a year later the price had changed by a median −20.2%, against +120% for a typical day of the same cycles. With 3 independent signals, chance cannot be ruled out.
MVRV Z-Score MVRV Z-Score at 7 or above53 of 5−21.9% all days +13.9%−28.3% all days +94.9%Held up Held up: 3 of 5 signals were on within 90 days of a cycle top, catching 3 of the 5 tops in its record, and a year later the price had changed by a median −28.3%, against +120% for a typical day of the same cycles. With 4 independent signals, chance cannot be ruled out.
Pi Cycle Top the 111-day average crossing to or above twice the 350-day average42 of 4−47.4% all days +10.3%−50.2% all days +87.1%Held up Held up: 2 of 4 signals were on within 90 days of a cycle top, catching 2 of the 4 tops in its record, and a year later the price had changed by a median −50.2%, against +99.8% for a typical day of the same cycles. With 3 independent signals, chance cannot be ruled out.
Rainbow chart the price 2σ or more above trend (the Blow-off band and above)32 of 3−41.1% all days +10.4%−1.4% all days +85.4%Held up Held up: 2 of 3 signals were on within 90 days of a cycle top, catching 2 of the 4 tops in its record, and a year later the price had changed by a median −1.4%, against +120% for a typical day of the same cycles. With 2 independent signals, chance cannot be ruled out.
Mayer Multiple the Mayer Multiple at 2.4 or above73 of 7+72.6% all days +11.1%+40.5% all days +87.9%Mixed Mixed: 3 of 7 signals were on within 90 days of a cycle top, catching 3 of the 5 tops in its record; a year later the price had changed by a median +40.5%, against +79.4% for a typical day of the same cycles.
Power law the power-law position at 95 or above43 of 4+29.0% all days +10.4%−24.5% all days +85.4%Mixed Mixed: 3 of 4 signals were on within 90 days of a cycle top, catching 3 of the 4 tops in its record; a year later the price had changed by a median −24.5%, against +72.6% for a typical day of the same cycles. With 3 independent signals, chance cannot be ruled out.
Hash Ribbons the 30-day hash rate back above the 60-day after at least 30 days below (recovery)188 of 18+10.2% all days +13.9%+159% all days +94.9%Mixed 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.
Power law the power-law position below 5105 of 10+30.9% all days +10.4%+274% all days +85.4%Held up Held up: 5 of 10 signals were on within 90 days of a cycle bottom, catching 3 of the 4 bottoms in its record, and a year later the price had changed by a median +274%, against +79.4% for a typical day of the same cycles.
Rainbow chart the price more than 1σ below trend (the Discount bands)83 of 7+15.0% all days +10.4%+143% all days +85.4%Mixed Mixed: 3 of 7 signals were on within 90 days of a cycle bottom, catching 3 of the 4 bottoms in its record; a year later the price had changed by a median +143%, against +72.6% for a typical day of the same cycles. With 4 independent signals, chance cannot be ruled out.
200-week moving average the price below its 200-week average73 of 7+33.2% all days +6.9%+157% all days +66.1%Mixed Mixed: 3 of 7 signals were on within 90 days of a cycle bottom, catching 3 of the 4 bottoms in its record; a year later the price had changed by a median +157%, against +72.6% for a typical day of the same cycles. With 4 independent signals, chance cannot be ruled out.
200-week moving average the price at 3× its 200-week average or more52 of 5+43.4% all days +6.9%+16.4% all days +66.1%Mixed Mixed: 2 of 5 signals were on within 90 days of a cycle top, catching 2 of the 3 tops in its record; a year later the price had changed by a median +16.4%, against +79.4% for a typical day of the same cycles. With 3 independent signals, chance cannot be ruled out.
Reserve Risk Reserve Risk in the bottom fifth of its last four years93 of 9+20.0% all days +10.8%+137% all days +88.7%Mixed Mixed: 3 of 9 signals were on within 90 days of a cycle bottom, catching 3 of the 5 bottoms in its record; a year later the price had changed by a median +137%, against +79.4% for a typical day of the same cycles.
SOPR SOPR below 1 (coins spent at a loss on balance)305 of 30+31.9% all days +13.9%+110% all days +94.9%Mixed Mixed: 5 of 30 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 +110%, against +79.4% for a typical day of the same cycles.
Hash Ribbons the 30-day hash rate falling below the 60-day after at least 30 days above (capitulation)255 of 25+18.9% all days +13.9%+91.9% all days +94.9%Mixed 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.
Altcoin Season Index altcoin season (75 or above)102 of 10−4.2% all days +3.6%+6.6% all days +42.6%Mixed Mixed: 2 of 10 signals were on within 90 days of a cycle top, catching 2 of the 2 tops in its record; a year later the price had changed by a median +6.6%, against +57.0% for a typical day of the same cycles.
Altcoin Season Index Bitcoin season (25 or below)154 of 15+14.7% all days +3.6%+48.7% all days +42.6%Mixed Mixed: 4 of 15 signals were on within 90 days of a cycle bottom, catching 3 of the 3 bottoms in its record; a year later the price had changed by a median +48.7%, against +48.1% for a typical day of the same cycles.
Reserve Risk Reserve Risk in the top fifth of its last four years74 of 7+3.5% all days +10.8%+5.2% all days +88.7%Mixed Mixed: 4 of 7 signals were on within 90 days of a cycle top, catching 3 of the 4 tops in its record; a year later the price had changed by a median +5.2%, against +79.4% for a typical day of the same cycles. With 4 independent signals, chance cannot be ruled out.
Bitcoin Fear & Greed Index extreme fear (24 or below)244 of 24+22.1% all days +11.5%+79.8% all days +89.4%No reliable edge No reliable edge: a year later the price had changed by a median +79.8%, against +79.4% for a typical day of the same cycles; 4 of 24 signals were on within 90 days of a cycle bottom, catching 3 of the 4 bottoms in its record.
Bitcoin funding rate negative funding (shorts paying longs)193 of 18+6.4% all days +6.5%+69.7% all days +49.1%No reliable edge No reliable edge: a year later the price had changed by a median +69.7%, against +65.9% for a typical day of the same cycles; 3 of 18 signals were on within 90 days of a cycle bottom, catching 2 of the 2 bottoms in its record.
Pi Cycle Bottom the 150-day exponential average below 0.745 × the 471-day average33 of 3−5.8% all days +11.0%+65.2% all days +87.8%Mixed Mixed: 3 of 3 signals were on within 90 days of a cycle bottom, catching 3 of the 4 bottoms in its record; a year later the price had changed by a median +65.2%, against +79.4% for a typical day of the same cycles. With 3 independent signals, chance cannot be ruled out.
Bitcoin Fear & Greed Index extreme greed (76 or above)223 of 22+31.3% all days +11.5%+124% all days +89.4%Worse than a typical day Selling on it would have missed gains: a year later the price had changed by a median +124%, against +79.4% for a typical day of the same cycles; 3 of 22 signals were on within 90 days of a cycle top, catching 2 of the 4 tops in its record.
Bitcoin funding rate funding at 0.05% per eight hours or more (five times the usual 0.01%)81 of 8+14.3% all days +6.5%+166% all days +49.1%Worse than a typical day Selling on it would have missed gains: a year later the price had changed by a median +166%, against +65.9% for a typical day of the same cycles; 1 of 8 signals was on within 90 days of a cycle top, catching 1 of the 2 tops in its record. With 3 independent signals, chance cannot be ruled out.
Puell Multiple the Puell Multiple below 0.5115 of 11+23.1% all days +10.5%+118% all days +87.5%Mixed Mixed: 5 of 11 signals were on within 90 days of a cycle bottom, catching 4 of the 5 bottoms in its record; a year later the price had changed by a median +118%, against +120% for a typical day of the same cycles.
NUPL NUPL below 0 (capitulation)74 of 7−2.8% all days +13.9%+15.4% all days +94.9%Worse than a typical day Buying on it did worse than buying on a typical day: a year later the price had changed by a median +15.4%, against +79.4% for a typical day of the same cycles; 4 of 7 signals were on within 90 days of a cycle bottom, catching 4 of the 5 bottoms in its record.
Puell Multiple the Puell Multiple at 4 or above42 of 4+36.6% all days +10.5%+202% all days +87.5%Worse than a typical day Selling on it would have missed gains: a year later the price had changed by a median +202%, against +120% for a typical day of the same cycles; 2 of 4 signals were on within 90 days of a cycle top, catching 2 of the 4 tops in its record. With 2 independent signals, chance cannot be ruled out.
Mayer Multiple the Mayer Multiple below 0.8156 of 15−0.5% all days +11.1%−17.5% all days +87.9%Worse than a typical day Buying on it did worse than buying on a typical day: a year later the price had changed by a median −17.5%, against +79.4% for a typical day of the same cycles; 6 of 15 signals were on within 90 days of a cycle bottom, catching 5 of the 5 bottoms in its record.
MVRV Z-Score MVRV Z-Score below 096 of 9−6.0% all days +13.9%+66.0% all days +94.9%Worse than a typical day Buying on it did worse than buying on a typical day: a year later the price had changed by a median +66.0%, against +120% for a typical day of the same cycles; 6 of 9 signals were on within 90 days of a cycle bottom, catching 4 of the 5 bottoms in its record.

How to read the table

Each row is one signal at the level people quote: a cycle-top or cycle-bottom call. "Near a cycle turn" counts the signals that were on within 90 days of an actual cycle top (for top signals) or bottom (for bottom signals). The two median columns show what the Bitcoin price did 90 and 365 days after the signals, beside the same change from every day the indicator has a reading. The rows are sorted by how far each signal's 365-day change differed from that of a typical day of the same four-year cycle, in the direction the signal suggests; rows with fewer than three signals a year old sort last.

Most of these indicators fire rarely: three or four cycles stand behind every cycle-level result, so a perfect record can still be luck. The rules that held up run live, with a dated paper record, on Strategies.

Method

Every past reading uses only data that existed on its day: expanding or trailing windows, and the rainbow and power-law fits each year had, never ones fitted on later prices. A signal starts on the first day its condition holds after at least 30 days without it. Outcomes are the change of the BTC daily close from the signal day to 7, 30, 90 and 365 days later. Cycle tops are all-time-high closes followed by a fall of at least 75%; each cycle's bottom is its lowest close. Each indicator's page lists every signal, the method and the sources.

Questions

Which Bitcoin indicator is the most accurate?

By this test, NUPL (NUPL at 0.75 or above (euphoria)) held up best: Held up: 3 of 4 signals were on within 90 days of a cycle top, catching 3 of the 5 tops in its record, and a year later the price had changed by a median −20.2%, against +120% for a typical day of the same cycles. With 3 independent signals, chance cannot be ruled out.

Do on-chain indicators predict the Bitcoin price?

Some of the cycle extremes lined up with past tops and bottoms, but each rests on three or four cycles, so a clean record can be chance. Most single-chart readings, tested over every day, showed no reliable edge over the next weeks or months.

How is "held up" decided?

A signal held up when its price change a year later beat a typical day of the same four-year cycle by a median of at least 20 percentage points in the direction it suggests, the 90-day change agreed, and at least half of its decided signals were on within 90 days of a cycle turn. The same rule is applied to every indicator.

How often are these pages updated?

Every day after the daily close: the statistics are recalculated from our own node and price data, and each page shows its indicator's reading where the chart's plan allows.

StrategiesAll 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. Nothing here is a forecast or investment advice.