In the last article we made three claims:
First, classical cycle indicators become less reliable with every cycle because Bitcoin's extremes are structurally shrinking. Second, adaptive normalization (rolling Z-score) beats fixed thresholds. Third, institutional market share should factor in as a dampening factor.
Those were claims. This article delivers the practice test.
We built an indicator exactly along this logic: nine components, rolling 365-day Z-score, institutional dampening from ETF, treasury, and government holdings. Then we ran it against 2,697 days of historical BTC data and asked three concrete questions: does it have predictive power? Would you have made money with it? Would it at least have protected against drawdowns?
The answers completely changed our positioning of the indicator.
The construction — briefly recapped
Nine components, weighted into a 0-100 score:
Pi Cycle Top (10%) — the classic top indicator
Pi Cycle Bottom (10%) — mirror for bottoms
Mayer Multiple (16%) — price relative to 200-day MA
Weekly RSI (13%)
200-Week MA distance (14%)
Halving position (8%)
Fear & Greed (19%)
BTC dominance trend (5%)
Mining difficulty trend (5%)
Each component gets normalized to 0-100, then weighted and summed. That gives the raw score. On top we place a rolling 365-day Z-score — exactly the adaptive normalization we argued for in the last post. Finally, we dampen the score proportional to the share of institutionally-held BTC.
The result: five phases (Accumulation, Recovery, Expansion, Distribution, Overheated), calibrated to current market structure instead of historical 2017 extremes. Methodologically exactly what the last post's argument demanded.
The calibration statistics looked good: across the entire backfill window, ~17% of days landed in the extremes (Accumulation + Overheated) — exactly the ±1-standard-deviation distribution expected from a correctly normalized indicator. The historical cycle bottoms (Dec 2018, March 2020, Nov 2022) and tops (April 2021, November 2021) were classified correctly.
Technically, the indicator did what we wanted. The question was: does it actually enable better decisions?
Test 1 — Does it see the future?
We measured how the score correlates with BTC price at various time offsets:
Same day: -0.17
+30 days: -0.14
+60 days: -0.12
+90 days: -0.12
The good news: all correlations are negative. That's the expected mean-reversion pattern — high score today, lower price tendency in the future. The effect exists measurably.
The bad news: correlation is strongest on the same day and weakens with time offset. That's classic coincident behavior, not leading. Our indicator follows the market marginally, it doesn't lead it.
And |0.17| is statistically significant at this data volume but practically modest. A strong predictive signal would have a correlation of at least 0.4. We're clearly below.
Test 2 — The trading backtest
The test most cycle-indicator providers don't publish. We simulated a simple strategy following the phase signals:
Accumulation, Recovery, Expansion → 100% long
Distribution → 50% long
Overheated → 0% long (cash)
Result over 7.4 years:
| Strategy | Total Return | CAGR |
| --- | --- | --- |
| Cycle-Aware | +69% | +7.4% |
| Buy-and-Hold | +1724% | +48.2% |
Not a borderline case. Ten thousand dollars would have become $16,900 with our strategy. With buy-and-hold: $182,400.
The phase breakdown shows where the damage comes from:
| Phase | Days | BnH p.a. | Strategy p.a. | Missed |
| --- | --- | --- | --- | --- |
| Overheated | 262 | +355% | +35% | +320% |
| Distribution | 430 | +118% | +76% | +42% |
| Expansion | 712 | +52% | +55% | −3% |
| Recovery | 1100 | +0.2% | −0.3% | +0.5% |
| Accumulation | 191 | −110% | −110% | 0% |
The entire loss comes from a single phase: Overheated. The 262 days our indicator commanded "cash" were, in retrospect, 262 days when the BTC market kept running. The Z-score approach we defended in the last post triggers too early in bull runs — precisely because unusual strength by definition creates an extreme Z-score, even when months of movement are still ahead.
Test 3 — At least drawdown protection?
The classic rescue line for a cycle indicator: "Okay, less return, but less drawdown." The result:
Cycle strategy max DD: -75.3%
Buy-and-hold max DD: -76.6%
1.3 percentage points of difference. Practically identical. The strategy that sacrificed 94% of possible return delivered no measurable risk protection.
The reason is structural, not technical: the major bear-market drawdowns happen after the indicator already signals "accumulation". The market keeps falling even though the cycle logic says "we're at the bottom now". The indicator is fully exposed when the pain hits.
Reinterpreting the thesis
In the last post we argued that adaptive normalization and institutional dampening are the solution to the cycle indicator problem. This test shows: they solve a sub-problem, not the overall problem.
What they solve: The distributional calibration. The indicator classifies historical extremes correctly. It no longer reports "Overheated" only on days that meet 2017 standards. It reports "Accumulation" at the actual cycle bottoms of recent years. As a descriptive tool, it works.
What they don't solve: The timing problem. The mean-reversion tendency that a high Z-score would imply often only manifests months later — long after "the trade" would have needed to happen. And drawdowns from the market aren't buffered because they come from the wrong phase-perspective.
That has consequences for the honesty with which such indicators should be communicated.
What we're making of it
We had two options: market the indicator as a trading signal, hope no one runs the backtest, and be confronted by disappointed users in three years. Or: position the indicator as what it actually is.
It now lives in a new dashboard called Market Pulse, freely accessible to all users. It's explicitly labeled as a context tool, not a trading signal. Above the chart, a prominent note summarizes the backtest results presented here. Below the chart, there's a second module with our Fear & Greed Cadence strategy — a much simpler, transparently backtested contrarian strategy.
Less glamorous than "the ultimate Bitcoin top signal indicator". Closer to what we can honestly deliver.
The bigger lesson
The last post ended with: "The question isn't whether the market will reach a top or bottom. The question is whether the market is running hot or cold — relative to itself." That remains true.
What we need to add: even this weakened question doesn't deliver a tradable signal. It delivers context. Context is valuable. But context is not the same as a trade setup.
Anyone using a cycle indicator as an oracle will be disappointed. Anyone understanding it as a thermometer — with all the limitations of a thermometer — draws value from it. The thermometer tells you whether you're warm or cold. It doesn't tell you whether to turn up the heating.
What came out of this — methodologically
Three concrete lessons from this project:
Calibration quality and trading quality are not the same thing. An indicator can be statistically perfectly normalized and still deliver no usable trading signals. That's not paradoxical — it's simply the nature of weak correlations.
Z-scores trigger early. That's mathematically inevitable: as soon as a series leaves its typical range, the Z-score becomes extreme. That means in bull runs: "Overheated" comes weeks to months before the real top. In bear markets: "Accumulation" comes weeks to months before the real bottom. It's not a bug — it's a property of the method. One you need to know and communicate.
Honest backtests are rare for a reason. We're not the first to build a cycle indicator. But we might be among the few who publicly tested their own indicator against buy-and-hold — and published the result before the feature went live. It would have been easier to just not show the numbers.
Where to find the indicator
At Market Pulse — with full chart, all eight components, and the transparent context. Plus the Fear & Greed Cadence module and a summary of the results presented here.
Honest numbers over big numbers, that´s our guiding line.
Take a look at the Chart