Back to Documentation

Price Analysis

Returns, volatility, drawdown, and correlation metrics

Return Calculations

ELEKTRON calculates returns using logarithmic returns, the standard approach in financial analysis for their desirable mathematical properties.

Logarithmic Returns

Log Return $$r_t = \ln\left(\frac{P_t}{P_{t-1}}\right)$$
Where
$r_t$
Return at time $t$
$P_t$
Price at time $t$
$P_{t-1}$
Price at time $t-1$

Why Logarithmic Returns?

  • Time additivity: Multi-period returns sum: $r_{1 \to n} = \sum_{t=1}^{n} r_t$
  • Symmetry: +10% and -10% moves are symmetric in log space
  • Normality: Better approximation to normal distribution
  • Continuity: No discontinuity at zero

Cumulative Returns

For total return over a period:

Cumulative Return $$R_{cum} = \frac{P_T - P_0}{P_0} = e^{\sum_{t=1}^{T} r_t} - 1$$
Display Convention

While calculations use log returns internally, displayed percentages are converted to simple returns for intuitive interpretation.

Volatility Metrics

Volatility measures the dispersion of returns, indicating price uncertainty and risk.

Historical Volatility (Standard Deviation)

Daily Volatility $$\sigma_{daily} = \sqrt{\frac{1}{n-1}\sum_{t=1}^{n}(r_t - \bar{r})^2}$$
Where
$n$
Number of observations
$\bar{r}$
Mean return over the period

Annualization

Daily volatility is annualized using the square root of time rule:

Annualized Volatility $$\sigma_{annual} = \sigma_{daily} \times \sqrt{365}$$
Important Assumption

The square root of time assumes returns are independent and identically distributed (i.i.d.). Bitcoin exhibits autocorrelation and fat tails, so annualized volatility is an approximation.

Rolling Volatility

We calculate volatility using a rolling window (default: 30 days) to track changes over time:

30-Day Rolling Volatility $$\sigma_{30,t} = \sqrt{\frac{1}{29}\sum_{i=0}^{29}(r_{t-i} - \bar{r}_{30,t})^2}$$

Volatility Classification

Range (Annualized) Classification Context
< 40% Low (for BTC) Consolidation periods
40% - 80% Moderate Typical range
80% - 120% High Bull/bear transitions
> 120% Extreme Major market events

Drawdown Analysis

Drawdown measures the decline from a historical peak, providing insight into downside risk and recovery patterns.

Current Drawdown

Drawdown at Time t $$D_t = \frac{P_t - P_{max,t}}{P_{max,t}} \times 100\%$$
Where
$P_{max,t}$
Maximum price observed up to time $t$ (running peak)

Note: Drawdown is always ≤ 0, with 0% indicating an all-time high.

Maximum Drawdown

Maximum Drawdown $$MDD = \min_{t}(D_t) = \min_{t}\left(\frac{P_t - P_{max,t}}{P_{max,t}}\right)$$

Drawdown Duration

We track how long the price remains below its peak:

Drawdown Duration $$\text{Duration}_t = t - t_{peak}$$

Where $t_{peak}$ is the time of the most recent all-time high.

Historical Bitcoin Drawdowns

Cycle Peak Max Drawdown Recovery Days
2011 ~$32 -94% ~700
2013-2015 ~$1,150 -86% ~1,180
2017-2018 ~$19,800 -84% ~1,090
2021-2022 ~$69,000 -77% ~780

Correlation Analysis

ELEKTRON calculates correlations between Bitcoin and various network/mining metrics using Pearson correlation coefficient.

Pearson Correlation

Correlation Coefficient $$\rho_{X,Y} = \frac{\sum_{i=1}^{n}(X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum_{i=1}^{n}(X_i - \bar{X})^2}\sqrt{\sum_{i=1}^{n}(Y_i - \bar{Y})^2}}$$
Interpretation
$\rho = +1$
Perfect positive correlation
$\rho = 0$
No linear relationship
$\rho = -1$
Perfect negative correlation

Rolling Correlation

We use rolling windows (default: 90 days) to track how relationships evolve:

Rolling Correlation $$\rho_{90,t} = \text{corr}(X_{t-89:t}, Y_{t-89:t})$$

Key Correlations Tracked

Metric Pair Expected Relationship Notes
Price ↔ Hashrate Positive (lagged) Price leads by ~3-6 months
Price ↔ Hashprice Strong positive Direct relationship
Hashrate ↔ Difficulty Near perfect Mechanical relationship
Price ↔ Volatility Regime-dependent Higher in downturns
Correlation ≠ Causation

High correlation does not imply causation. Many Bitcoin metrics are co-integrated through common driving factors (adoption, speculation, macro conditions).

Halving Cycle Analysis

ELEKTRON analyzes price behavior relative to Bitcoin halving events — programmatic 50% reductions in block rewards occurring every 210,000 blocks (~4 years).

Halving Dates

Halving Block Date Reward After
Genesis 0 Jan 3, 2009 50 BTC
1st 210,000 Nov 28, 2012 25 BTC
2nd 420,000 Jul 9, 2016 12.5 BTC
3rd 630,000 May 11, 2020 6.25 BTC
4th 840,000 Apr 19, 2024 3.125 BTC

Cycle-Indexed Returns

We index price performance from each halving to enable cycle comparisons:

Halving-Indexed Return $$R_{halving,d} = \frac{P_d - P_0}{P_0} \times 100\%$$
Where
$d$
Days since halving
$P_0$
Price on halving day
$P_d$
Price $d$ days after halving

Cycle Metrics

  • Days to cycle high: Time from halving to cycle peak
  • Cycle ROI: Return from halving to peak
  • Pre-halving drawdown: Typical correction before halving
  • Post-halving rally: Duration and magnitude of post-halving appreciation
Stock-to-Flow Context

Halving analysis relates to the stock-to-flow model, which posits that scarcity (SF ratio = Stock / Annual Flow) drives price. Each halving doubles the SF ratio by cutting new supply in half.

Stock-to-Flow Ratio $$SF = \frac{\text{Existing Supply}}{\text{Annual Production}} = \frac{S}{F}$$

After the 4th halving, Bitcoin's SF ratio exceeds gold's (~62), making it the "hardest" monetary asset by this measure.