LPPLS Window Sensitivity Analysis Report


Date: November 15, 2025

Issue: #81 - Testing LPPLS predictions across different time windows

Author: btcgraphs automated analysis




Executive Summary


This report investigates whether the LPPLS (Log-Periodic Power Law Singularity) model's predictions for Bitcoin price are significantly affected by the choice of training time window. The default implementation uses 730 days (2 years), but given Bitcoin's ~4-year halving cycle, this may be too short.


Key Findings


🔴 VERY HIGH SENSITIVITY DETECTED


Conclusion


The LPPLS model is EXTREMELY sensitive to the choice of training window. Predictions for January 1, 2026 vary by more than 2.7× depending on whether you use 3 months (lowest: $82K) or 3 years (highest: $219K) of training data. This suggests:


  1. 730 days is NOT sufficient for reliable predictions
  2. Bitcoin's 4-year cycle MATTERS - using 4-year windows changes results dramatically
  3. The model is unstable - small changes in data selection lead to wildly different forecasts
  4. Longer windows don't help - 8+ year windows predict critical times too soon (already past)


Methodology


Time Windows Tested


Window Name Days Data Coverage Training Period
1 Month 30 Recent short-term 2025-10-16 to 2025-11-15
3 Months 90 Recent quarter 2025-08-17 to 2025-11-15
6 Months 180 Recent half-year 2025-05-19 to 2025-11-15
1 Year 365 Recent annual 2024-11-16 to 2025-11-15
2 Years 730 Current default 2023-11-16 to 2025-11-15
3 Years 1095 One halving cycle 2022-11-16 to 2025-11-15
4 Years 1460 Full halving cycle 2021-11-16 to 2025-11-15
8 Years 2920 Two halving cycles 2017-11-16 to 2025-11-15
Full Dataset 5572 Entire BTC history 2010-07-18 to 2025-11-15

Target Predictions


Model Parameters




Detailed Results


1. Predictions for 2026-01-01


Training Window Predicted Price Critical Time (tc) RMSE (log) Training Days Price Range
1 Month $142,919 2026-03-15 0.0231 30 $95K - $116K
3 Months $82,330 2026-10-23 0.0341 90 $95K - $125K
6 Months $96,328 2026-11-17 0.0379 180 $95K - $125K
1 Year $130,455 2026-04-29 0.0586 365 $76K - $125K
2 Years $109,206 2027-09-21 0.1250 730 $36K - $125K
3 Years $219,411 2026-02-15 0.1741 1095 $16K - $125K
4 Years $174,815 2026-03-01 0.2727 1460 $11K - $125K
8 Years N/A 2025-12-15 0.4540 2920 $3K - $125K
Full Dataset N/A 2025-12-15 2.8136 5572 $0.10 - $125K

Statistical Summary


Interpretation: The 3-year window predicts 2.66× higher than the 3-month window!


2. Predictions for 2027-01-01


Only ONE window (2 Years) was able to make predictions this far ahead:


Training Window Predicted Price Notes
2 Years $202,987 tc = 2027-09-21 allows this prediction
All others N/A tc too soon, model predicts singularity before target date

Interpretation: Most models predict a "critical time" (bubble peak/crash) before 2027, making longer-term predictions impossible.


3. Predictions for 2028-01-01


NO windows could make predictions this far ahead. All critical times (tc) occur before 2028.


4. Critical Time (tc) Predictions


The "critical time" is when the LPPLS model predicts a regime change (bubble peak, crash, or market transition):


Training Window Critical Time Days Until tc Status
Full Dataset 2025-12-15 30 days Imminent
8 Years 2025-12-15 30 days Imminent
3 Years 2026-02-15 92 days Soon
4 Years 2026-03-01 106 days Soon
1 Month 2026-03-15 120 days Soon
1 Year 2026-04-29 165 days Medium-term
3 Months 2026-10-23 342 days Long-term
6 Months 2026-11-17 367 days Long-term
2 Years 2027-09-21 675 days Very long-term

Range: 645 days (from Dec 2025 to Sep 2027)


Interpretation:



Analysis by Training Window


Short-Term Windows (1-6 Months)


Characteristics:

Results:

Verdict:Too short - Miss important cyclical patterns


Medium-Term Windows (1-2 Years)


Characteristics:

Results:

Verdict: ⚠️ Better but still limited - Captures only part of Bitcoin's 4-year cycle


Long-Term Windows (3-4 Years)


Characteristics:

Results:

Verdict: ⚠️ More realistic for cycles - But high variance suggests overfitting to specific cycle phases


Very Long-Term Windows (8+ Years)


Characteristics:

Results:

Verdict:Too long - Include outdated price dynamics, poor fit to current market




Key Insights


1. The 730-Day Default is Inadequate


The current default of 730 days (2 years) falls short of Bitcoin's 4-year halving cycle. However, our analysis shows that even 4-year windows don't provide stable predictions.


Why 730 days was chosen:

Why it's problematic:

2. Prediction Variance is Extreme


For 2026-01-01:

Comparison to other models:

3. Longer Windows Don't Guarantee Better Predictions


One might expect that more data = better predictions, but:


Problems with long windows:

Problems with short windows:

4. Critical Time Predictions are Unstable


The predicted "critical time" (tc) varies by 645 days depending on window choice:

This undermines the model's utility for predicting market transitions.


5. Bitcoin's 4-Year Cycle Dominates


Windows aligned with halving cycles (4 years, 8 years) show different patterns:

But 3 years (0.75 cycles) gives highest prediction ($219K), suggesting the model is sensitive to where in the cycle training starts, not just duration.




Recommendations


For Practitioners


  1. DO NOT rely on a single LPPLS prediction - Always test multiple windows
  2. Use ensemble methods - Average predictions across 3-5 different windows
  3. Focus on 2-4 year windows - Balance cycle coverage with recency
  4. Monitor critical time predictions - If tc is <6 months away, be cautious
  5. Combine with other models - LPPLS alone is too volatile

For the Repository


  1. Update documentation - Warn users about extreme sensitivity
  2. Implement multi-window analysis - Show prediction ranges, not single values
  3. Add confidence intervals - Based on cross-window variance
  4. Consider alternative parameters - Test different tc bounds, omega ranges
  5. Recommend 3-4 year windows - Better alignment with Bitcoin cycles

For Future Research


  1. Regime-specific models - Different LPPLS parameters for bull/bear markets
  2. Adaptive window selection - Automatically choose optimal window based on current cycle phase
  3. Ensemble forecasting - Weight multiple windows by fit quality and recency
  4. Halving-aware models - Explicitly incorporate 4-year cycle into LPPLS formula
  5. Confidence calibration - Develop statistical methods to quantify prediction uncertainty


Conclusions


Summary of Findings


  1. Hypothesis confirmed: 730 days is too short for Bitcoin's 4-year cycle
  2. High sensitivity detected: Predictions vary by >100% across windows
  3. ⚠️ Longer ≠ better: 8+ year windows perform worse than 2-4 year windows
  4. LPPLS is unstable: Small changes in window → massive changes in prediction
  5. ⚠️ Critical times unreliable: 645-day range in tc predictions

Answer to Original Question


"Do you get different results if you choose a different time period (365 or 4 years or the entire data set)?"


YES - DRAMATICALLY DIFFERENT!


Difference: Up to 166% variation (3 years: $219K vs 3 months: $82K)


Is LPPLS Suitable for Bitcoin Price Prediction?


SHORT ANSWER: NO - at least not as currently implemented.


Reasons:

  1. Extreme sensitivity to arbitrary parameter choices (training window)
  2. Unable to make consistent long-term predictions (>1 year)
  3. Critical time predictions are unstable and often contradict reality
  4. Better suited for bubble detection DURING bubbles, not long-term forecasting

Better Use Cases:

Recommended Actions


IMMEDIATE:

  1. ⚠️ Add warning to LPPLS documentation about sensitivity
  2. 📊 Create sensitivity report (this document) in repository
  3. 🔧 Update default scripts to test multiple windows
  4. 📉 Show prediction ranges instead of single values

SHORT-TERM:

  1. Implement multi-window ensemble predictions
  2. Add statistical confidence intervals based on window variance
  3. Create automated sensitivity testing in CI/CD

LONG-TERM:

  1. Research regime-aware LPPLS models
  2. Develop adaptive window selection algorithms
  3. Integrate with other models (power law, on-chain metrics)
  4. Publish research paper on LPPLS limitations for cryptocurrencies


Visualizations


See attached file: lppls_window_sensitivity_analysis.png


The bar chart shows:

Key visual insights:



Technical Details


Model Implementation



LPPLS Formula:
log(P(t)) = A + B*(tc-t)^m + C*(tc-t)^m*cos(ω*log(tc-t) + φ)

Where:
- A: Base log-price level
- B: Power law amplitude (negative for approaching tc)
- tc: Critical time (singularity point)
- m: Criticality exponent (0.1-0.9)
- ω: Angular frequency (5-15 for ~4-year cycles)
- φ: Phase shift (0-2π)
- C: Oscillation amplitude (10% of B)

Optimization Bounds



bounds = [
    (A_mean - 2, A_mean + 2),  # A: log-price level
    (-2, -0.1),                 # B: negative power law
    (30, 730),                  # tc offset: 1-24 months ahead
    (0.1, 0.9),                 # m: criticality
    (5, 15),                    # ω: frequency
    (0, 2π)                     # φ: phase
]

Data Quality


Window Training Days Price Range Price Ratio RMSE (log)
1 Month 30 $95K - $116K 1.22× 0.023
3 Months 90 $95K - $125K 1.31× 0.034
6 Months 180 $95K - $125K 1.31× 0.038
1 Year 365 $76K - $125K 1.64× 0.059
2 Years 730 $36K - $125K 3.50× 0.125
3 Years 1095 $16K - $125K 7.98× 0.174
4 Years 1460 $11K - $125K 11.6× 0.273
8 Years 2920 $3K - $125K 41.6× 0.454
Full 5572 $0.10 - $125K 1,247× 2.814

Observation: RMSE increases dramatically with longer windows due to regime changes and early Bitcoin dynamics (price went from $0.10 to $125K).




Appendix: Raw Results


Full results saved in: lppls_window_sensitivity_results.json


Sample Output (1 Month Window)



{
  "1 Month": {
    "params": {
      "A": 13.162,
      "B": -0.141,
      "tc": 149.69,
      "tc_date": "2026-03-15",
      "m": 0.502,
      "omega": 12.397,
      "phi": 4.223,
      "rmse": 0.023,
      "training_days": 30,
      "price_range": "$95,059 - $115,639"
    },
    "predictions": {
      "2026-01-01": 142919.38,
      "2027-01-01": null,
      "2028-01-01": null
    }
  }
}



References


  1. Sornette, D. (2003). "Why Stock Markets Crash: Critical Events in Complex Financial Systems"
  2. Johansen, A. & Sornette, D. (2001). "Finite-time singularity in the dynamics of the world population and economic indices"
  3. Giovanni Santostasi (2018). "Bitcoin Power Law" - discovered scale invariance in Bitcoin
  4. Repository: LPPLS-model.md - Original implementation documentation
  5. Repository: lppls_backtest.py - Core LPPLS implementation
  6. Repository: lppls_predictions_with_confidence.py - Prediction framework


Report Generated: 2025-11-15

Script: lppls_window_sensitivity_analysis.py

Data Source: btcpricehistory.csv (5,572 days)

Visualization: lppls_window_sensitivity_analysis.png

Raw Results: lppls_window_sensitivity_results.json