Back to Documentation

Monte Carlo Simulations

Probabilistic projections using historical return distributions

What is Monte Carlo Simulation?

Monte Carlo simulation is a computational technique that uses random sampling to model the probability of different outcomes in a process that cannot easily be predicted due to the intervention of random variables. Named after the famous casino in Monaco, it's widely used in finance, physics, engineering, and other fields.

For Bitcoin price projections, Monte Carlo simulation generates thousands of possible future price paths by randomly sampling from a fitted distribution of historical returns. This allows us to estimate:

  • The range of possible outcomes at a future date
  • Probability of reaching specific price targets
  • Confidence intervals around expected values
  • Risk metrics like Value-at-Risk (VaR)

Methodology

Step 1: Collect Historical Data

We use daily closing prices from July 17, 2010 (first exchange data) to present, giving us over 5,600 observations. This long history captures multiple market cycles, halvings, and regime changes.

Step 2: Calculate Log Returns

Daily log returns are computed as the natural logarithm of the price ratio:

Daily Log Return

rt = ln(Pt / Pt-1)

Variables
rt
Log return on day t
Pt
Price on day t
Pt-1
Price on day t-1

Step 3: Fit Distribution

We fit multiple statistical distributions to the historical returns and select the best one using the Akaike Information Criterion (AIC). See Distribution Fitting below.

Step 4: Simulate Paths

For each simulation path, we:

  1. Generate random daily returns from the fitted distribution
  2. Compound these returns over the projection horizon
  3. Apply to the current price to get projected values
Price Path Projection

PT = P0 × exp(∑Tt=1 rt)

Log Returns

We use log returns (also called continuously compounded returns) rather than simple percentage returns for several important reasons:

  • Additivity: Log returns compound additively across time, making simulation easier
  • Symmetry: A 50% gain followed by a 33% loss nets to zero in log space
  • No negative prices: The exponential transformation ensures prices stay positive
  • Better statistical properties: Log returns are closer to normally distributed
Annualization

To annualize daily statistics:
Mean: μannual = μdaily × 365
Volatility: σannual = σdaily × √365

Distribution Fitting

Bitcoin returns exhibit fat tails (more extreme events than a normal distribution would predict), so we test multiple distributions and select the best fit:

Distribution Characteristics Use Case
Generalized Hyperbolic Flexible shape, asymmetric tails Best for capturing BTC's unique return profile
Student's t Symmetric heavy tails Good general-purpose fat-tailed distribution
Normal (Gaussian) Symmetric, thin tails Baseline comparison, underestimates extremes
Laplace Sharp peak, moderate tails Captures mean-reverting behavior
Cauchy Extremely heavy tails Very conservative risk estimates

Model Selection: AIC

The Akaike Information Criterion (AIC) balances model fit against complexity:

AIC Formula

AIC = 2k - 2 ln(L)

Variables
k
Number of parameters in the model
L
Likelihood of the data given the model

Lower AIC indicates a better model. We also use the Kolmogorov-Smirnov test to validate goodness-of-fit (p-value > 0.05 indicates acceptable fit).

Key Statistics

Statistic Definition Interpretation
Mean (Expected Value) Average of all simulated final values Often higher than median due to positive skew. Represents mathematical expectation.
Median 50th percentile of outcomes The "typical" outcome—50% chance of ending above or below. Often more practical than mean.
95% Confidence Interval 2.5th to 97.5th percentile range 95% of simulated paths end within this range. Wider interval = more uncertainty.
Annualized Volatility σdaily × √365 Standard deviation of returns scaled to one year. BTC historically ~80-120%.
Sharpe Ratio (Mean return) / (Volatility) Risk-adjusted return. Higher is better. Does not account for risk-free rate.

Interpretation Guide

Why is the Mean So High?

The mean (expected value) can appear surprisingly high (e.g., +200% over 1 year). This is mathematically correct due to Jensen's inequality: for a log-normal distribution, E[exp(X)] > exp(E[X]).

In plain terms: extreme upside paths contribute more to the average than extreme downside paths subtract from it (since you can't lose more than 100%, but can gain unlimited amounts).

Practical Advice

Use the median for "what's likely to happen" and the confidence intervals for planning worst/best case scenarios. The mean is the expected value for large, repeated investments.

Reading the Probability Table

The probability table shows the percentage of simulated paths that achieve specific outcomes:

  • Prob. Higher: Chance of being above current price at horizon
  • Prob. 2x: Chance of doubling from current price
  • Prob. Down 50%: Chance of losing half the value

Limitations & Disclaimer

Important Disclaimer

Monte Carlo simulations are not predictions. They estimate the range of possible outcomes assuming the future behaves statistically like the past.

Key Limitations

  • Past ≠ Future: Historical volatility may not persist. Major events (halvings, regulations, adoption) can change the return distribution.
  • Stationary Assumption: We assume the return distribution is stable over time, which may not hold during regime changes.
  • No Serial Correlation: Returns are treated as independent, ignoring potential momentum or mean-reversion effects.
  • Parameter Uncertainty: Distribution parameters are estimated from finite data and carry estimation error.
  • Tail Risk: Even fat-tailed distributions may underestimate true black swan risks.

Best Practices

  • Use multiple time horizons to understand how uncertainty grows over time
  • Compare results using different historical periods (all time vs. recent)
  • Focus on probabilities and ranges, not point estimates
  • Consider this one input among many in your analysis