Predicting price direction
6.68 million hypotheses, six independent methodologies and no defensible edge. The project's best-established null result.
The question: Can you know whether Bitcoin's price will be higher within 7, 30 or 90 days?
What was found
It's the result that gives everything else in this section its meaning, which is why it's told in the same detail as a positive. Tested: threshold grids over 51 on-chain metrics (431,256 hypotheses), classic technical indicators, TradingView community scripts, geometric patterns and wave theory, directional machine-learning models across three families and three horizons, new data sources (futures positioning, funding, options, ETF flows, macro), multi-indicator conjunctions via depth-6 decision trees (an implicit space of some 10^19 combinations), and a sweep of 2.6 million indicator x window x lag x horizon cells. Walk-forward accuracy across every directional model stays glued to chance: AUC between 0.507 and 0.533, with no minimum fold above 0.5. The project publishes those predictions as ordinary series anyway, chart and all, precisely so they can be seen.
Try it yourself
Why being right more than half the time isn't enough. Drag the hit rate and what is won and lost in each case.
Hit rate needed just to break even:
With the default values you're right 53% of the time and still lose: the misses are slightly bigger than the hits. A model's accuracy is not its profitability, and confusing the two is the commonest mistake when reading an AUC.
Illustrative example numbers for practice — not real data.
How it was tested, step by step
- Each family is tested with walk-forward validation anchored to the halving cycles: the model trains only on complete cycles before the one it's evaluated on.
- The null it's compared against isn't "zero": it's a block permutation of the target itself, which preserves the series' temporal structure. Comparing against a null that ignores that structure hands out false significance by the bucketload.
- For the massive sweep, the correct null is the random-phase surrogate: multiplying each signal's Fourier transform by random phases produces a series with the SAME power spectrum — and therefore the same autocorrelation — but no relationship to the target. The maximum |IC| across the whole surface under that null is the honest threshold.
- Sweep result: 2,613,448 cells and ZERO above the threshold. In the long-history sweep, the best real cell is even WORSE than the average of chance.
| Sweep | Cells | Real max |IC| | Chance threshold (max) | Above it |
|---|---|---|---|---|
| Long history 2014-2022 | 1,161,888 | 0.413 | 0.609 | 0 |
| Derivatives era 2019-2022 | 1,408,680 | 0.687 | 0.784 | 0 |
| Conditioned on market state | 42,880 | 0.676 | 0.893 | 0 |
The chance threshold is that high because there are millions of attempts. That is precisely the argument against continuing to scan.
Tracking
This finding does have a real number that gets published and kept updated.
Data last updated on 2026-09-09.