Methodology
Plain-English documentation of every computation on the Bitcoin Signals dashboard — the power-law fit, σ-band zones, halving-cycle phases, and the assumptions baked into the DCA and exit backtests. Honest enough that you can read it, disagree, and roll your own.
1. The Santostasi Power Law
Giovanni Santostasi (PhD physics, retired professor at LSU) noticed that if you plot Bitcoin's full price history on a log–log scale — log of price against log of days since the genesis block — the result fits a remarkably straight line. The relationship can be written as a simple power law:
# equivalently: price = 10^b · days^n
The fit on the dashboard runs an ordinary least-squares regression on every daily close from blockchain.info, anchored at the genesis block (2009-01-03). At time of writing the fit produces:
n ≈ 5.6355— the slope; how steeply price grows with the log of timeb ≈ -16.32— the interceptσ ≈ 0.3015— residual standard deviation in log-spacen_points ≈ 5,743— daily price observations used in the fit
The residual σ ≈ 0.30 is the key number. It says: most days,
actual price is within a factor of 10^0.30 ≈ 2.0× of the
fitted trend. Two-sigma days are within 10^0.60 ≈ 4×.
Bitcoin has rarely closed beyond ±2σ in modern data — those are the
cycle extremes.
n=5.6. As Bitcoin's market cap grows, the slope should
eventually flatten (a $100T asset can't keep doubling on the same
cadence as a $1B asset did). The site uses the model as a sizing
discipline — a way to ground decisions in the historical residual
distribution — not as a forward projection.
2. Sigma-Distance & Zones
Once you have the fit, you can ask: where is price right now relative to the trend? The metric is σ-distance, computed as:
This is just a z-score on the residuals. 0σ means exactly on
trend; +1σ means roughly 2× the trend price; −1σ
means roughly half. The dashboard groups σ-distance into five zones,
each tied to a posture rather than a "buy" or "sell" recommendation:
| σ range | Zone key | Posture |
|---|---|---|
| ≤ −2σ | capitulation | Historically rare deep discount; max accumulation territory |
| −2σ to −1σ | accumulate | Meaningfully below trend; stepped-up DCA discipline |
| −1σ to +1σ | fair | Trend-fair; standard DCA cadence |
| +1σ to +2σ | caution | Extended above trend; smaller buys, larger reserves |
| ≥ +2σ | euphoria | High-risk window; pause new buys, evaluate exits per pre-defined plan |
The thresholds are deliberately wide. With σ ≈ 0.30, even
+2σ corresponds to ~4× the trend price — a level Bitcoin reaches only
near cycle peaks. Anything narrower would generate too much signal noise.
3. Halving Cycles & Phase Model
Bitcoin's block subsidy halves every 210,000 blocks, anchoring an ~four-year cycle. Four halvings have happened so far:
- Halving 1: 2012-11-28 (block 210,000)
- Halving 2: 2016-07-09 (block 420,000)
- Halving 3: 2020-05-11 (block 630,000)
- Halving 4: 2024-04-19 (block 840,000)
The Cycle Dashboard normalizes each cycle by treating the halving day
as week 0 and the halving-day price as the baseline (1.0×).
This lets you overlay all four cycles on the same axes — weeks since
halving on x, price as multiple of halving-day price on log-y.
Past cycles have produced peaks at:
- Cycle 1: ~84× halving-day price, peaking around week 53
- Cycle 2: ~26× halving-day price, peaking around week 75
- Cycle 3: ~8× halving-day price, peaking late in the cycle
- Cycle 4: in progress
The diminishing-multiples pattern is real but tells you nothing about where this cycle peaks. The phase indicator on the dashboard is a coarse four-segment model based on weeks-since-halving:
- Post-halving (0–52 weeks) — accumulation/early rally
- Bull (52–104 weeks) — historical peak window
- Bear (104–156 weeks) — typical cooling phase
- Pre-halving accumulation (156+ weeks) — final stretch into next halving
4. DCA Time Machine — the three strategies
The DCA Time Machine compares three strategies head-to-head over the same window with the same total dollars deployed:
Strategy A — Blind weekly DCA
Spend a fixed dollar amount every week, regardless of price or σ. Buy
whatever weekly / price BTC that week. No reserve, no
skipping.
Strategy B — σ-band Smart DCA
Each week, the rule looks at σ-distance for that week's price:
- If
σ > +1: skip the buy, add the week's dollars to a reserve - If
σ < −1: spend this week's dollars + draw up to one week's worth from the reserve (2× target) - Otherwise: spend normally (1×)
Total dollars budgeted equals Strategy A. Reserve cash is included in the final portfolio value at end-of-period — apples-to-apples.
Strategy C — Lump sum
Deploy the equivalent total budget on day one of the window. No DCA, no reserve, no rules. Holds straight through.
5. Sell-Ladder Backtest
The Exit Strategy section runs a different backtest: given a starting BTC stack, define a set of sell rules and run them forward through the full price history. Each rule fires at most once, when its trigger condition first becomes true.
Two trigger types:
- σ-distance trigger: rule fires when σ-distance ≥ a threshold (e.g.,
σ ≥ +2) - Price trigger: rule fires when spot price ≥ a dollar threshold (e.g.,
price ≥ $250,000)
On fire, the rule sells a configured percentage of the remaining stack at that day's price and adds the proceeds to a cash bucket. The final position is the cash bucket plus the still-held BTC valued at the most recent price.
6. Data Sources & Refresh Cadence
- Daily price history — blockchain.info (full series since first market price 2010-07-18). 24-hour cache.
- Live spot price + 24h/1y change — CoinGecko keyless endpoint. 5-min cache.
- On-chain (hash rate, mempool, fees, halving countdown, block height) — mempool.space. 5-min cache.
- Fear & Greed index — Alternative.me. 5-min cache.
- Market cap (for MVRV proxy) — blockchain.info charts API. 5-min cache.
- Custody Map / Holdings — curated
holdings.jsonin the repo, source-linked per row. Manual refresh.
All endpoints are public and keyless. No API keys required to clone this site. The cost of that simplicity: when an upstream feed is down, the relevant cell on the dashboard renders as "unavailable" rather than showing stale data.
7. What the Model Doesn't Capture
Honest disclosure of the things excluded by design:
- Taxes. Selling BTC triggers capital gains in most jurisdictions. The exit backtest reports gross proceeds; net-of-tax outcomes are typically materially worse.
- Exchange fees and slippage. 0.1–0.5% per trade matters when compounded over many DCA buys.
- Custody risk. Holdings on exchanges, ETFs, and self-custody have different risk profiles.
- Behavioral cost of execution. Selling into euphoria or doubling up into capitulation requires discipline most investors don't have. The backtest assumes perfect execution.
- Sample size. Four halving cycles is a small sample. Most "rules" derived from this history are over-fit by definition.
- Regime changes. Spot ETF approval, sovereign adoption, monetary regime shifts — all change the structure of who holds Bitcoin and how. The power law assumes a stable underlying generation process; that assumption may already be breaking.
- Survivorship. Bitcoin survived several near-death events to become what we see today. The model is fit on the success path. Other monetary networks didn't make it; their charts aren't here.