Does the Pi Cycle Top indicator work?
When the 111-day moving average crosses above twice the 350-day moving average, bitcoin is at a cycle top.
Where we are now. Today the 111-day average is $72,043 and twice the 350-day average is $154,377 — the 111-day sits 53% below the line it has to cross. Shaded bands are the 5 occasions the rule fired, the same ones counted in the table below: 2011-08, 2013-04, 2013-12, 2017-12, 2021-04.
This rule has fired 5 times. A 40% fall followed within a year on all 5. On comparable days when it did not fire, a 40% fall followed 26.6% of the time.
| Times it fired | 5 | separate occasions, not days |
|---|---|---|
| What followed | 100.0% | a 40% fall within 365 days of that close |
| Could plausibly be | 65% to 100% | the range the true rate could take, on this many occasions, before you invoke anything but chance; a binomial interval that treats the episodes as independent trials |
| Happened anyway | 26.6% | comparable days when the rule did not fire |
| Difference | +73.4 pts | near zero means the signal added nothing |
Where the claim comes from
Popularised by Philip Swift in 2019. It is probably the single most-cited top signal in Bitcoin, and its appeal is that it has never produced a false positive.
How we tested it
Trigger: 111DMA > 2 x 350DMA. Scored as a top rule: did a 40% fall from that day's close follow within 365 days?
Only days the rule could have fired are counted. Consecutive triggers within 90 days are one occasion. The baseline excludes each trigger and the 90 days after it, because the aftermath of a signal is not a fair comparison. No verdict is given below 20 occasions.
What the numbers say
Five occasions. 100.0% followed by a 40% fall within a year, against 26.6% on comparable days when the rule did not fire: a 73.4-point gap, positive, on 5 observations. This is the row people will quote at us, so it is worth being exact. A striking record, on five observations, with thresholds chosen after those five were known. The interval says what five can and cannot establish.
What this does not mean
This is not evidence that Pi Cycle fails. It is evidence that the question is currently unanswerable. Anyone quoting the 100% is quoting a sample of five. The interval above deserves care, because on its face it looks like support. Five hits from five gives a range of roughly 65% to 100%, which does not overlap the baseline rate in the table above. That range measures ONE thing: how much a rate estimated from five independent coin flips could vary. Five cycle tops in one asset's history are not five independent coin flips. They share a monetary regime, an adoption curve and an investor base, and the rule's thresholds were chosen by people who had already seen those five tops. None of that is in the interval, and all of it widens the real uncertainty.
And it does not mean the threshold itself was chosen fairly. Every rule in this registry was specified by someone who had already seen bitcoin’s history, so the cut-off is fitted to the record it is being judged against. The interval above measures sampling variation between independent trials and nothing else: not the choice of threshold, not that cycle turns are few and related, and not that thirty-six rules were tested in total. Only the forward record, which fixes a rule before its answer is known, avoids this.
What would change the answer
Roughly fifteen more firings, which at one per cycle means several more decades. Or a specification that fires far more often while making the same claim.
If you cannot time it, the question changes
Most of the claims in this registry cannot be shown to beat a coin flip, and several are worse than one. That is not an argument against holding bitcoin. It is an argument that the decision worth spending effort on is how much to hold, not when to buy.
That is what How much bitcoin? is for: what fixed weights actually did in a conventional portfolio, and how much the answer depended on the year you started. For the valuation state today, and what has historically followed readings like it, see Where Things Stand.
Recomputed from the daily public snapshot by fetch/scorecard.py and published as scorecard.json. Method on the methods page; every claim in the scorecard.