Files
bitcoin-model/NOTES.md
T
sam e484331196 Tuning session; removed market maturity.
The market maturity score only complicated the model with no clear
benefit. Still working on getting the various backtests tuned.
2024-11-15 18:07:33 -08:00

157 lines
5.7 KiB
Markdown

# Bitcoin Price Model Description
## Overview
This Bitcoin price prediction model uses a combination of log returns, cycle awareness, and Monte Carlo simulation to generate price projections with confidence intervals. The model was developed through several iterations, with each refinement aimed at improving accuracy and reliability.
## Core Components
### 1. Trend Analysis
- Uses log returns of Bitcoin prices to better handle exponential growth patterns
- Groups returns by position within the halving cycle (0-1460 days)
- Applies simple moving average smoothing to reduce noise while preserving underlying patterns
- Position within cycle is calculated linearly between known halving dates
### 2. Market Era Adjustments
Uses distinct eras with specific characteristics:
- Early (2013-2017): Higher volatility, conservative trends, moderate trend following
- Transition (2017-2020): Slightly elevated uncertainty during futures market introduction
- Mature (2020+): Reduced volatility, balanced trends, lighter trend following
Each era has specific scaling factors for volatility, trend expectations, and trend following behavior
### 3. Volatility Estimation
Uses a multi-timeframe approach:
- Short window (30 days)
- Medium window (90 days)
- Long window (180 days)
- Combines these using weighted exponential moving averages
- Applies era-specific scaling factors
### 4. Price Projection
- Uses Monte Carlo simulation with 1000 paths
- Incorporates era-aware adjustments to volatility and trends
- Generates both point estimates and confidence intervals
- Projects forward using cycle-aware return expectations
## Key Features
### Log Returns
Instead of working directly with prices or simple returns, the model uses log returns which:
- Better handle Bitcoin's exponential price growth
- Provide more stable statistical properties
- Allow for simpler cumulative return calculations
### Cycle Awareness
- Recognizes Bitcoin's ~4 year (1460 day) halving cycle
- Maps historical returns to cycle positions
- Allows the model to capture recurring patterns around halving events
### Enhanced Monte Carlo
- Base simulation using normal distribution
- Includes era-specific adjustments for volatility and trends
- Generates both median projections and confidence intervals
- Well-calibrated uncertainty estimates for post-2013 data
## Performance Metrics
When trained on 2016-2024 (two full cycles):
- MAPE: 16.8%
- RMSE: ~$13,940
- Max Error: $32,536
- 95% CI Coverage: 100%
- 68% CI Coverage: 79.5%
## Model Limitations
- Not suitable for pre-2013 market data
- Assumes future cycles will resemble post-2013 patterns
- Uses simple linear interpolation between halving dates
- May not capture extreme market events well
## Development History
1. Started with direct cycle analysis of returns
2. Added log-based analysis for better handling of exponential growth
3. Refined volatility calculation using multiple timeframes
4. Calibrated confidence intervals through era-aware scaling
## Current Implementation
The model uses four main functions:
1. `analyze_trends()`: Calculates cycle-position-specific log returns
2. `calculate_volatility()`: Computes era-adjusted volatility estimates
3. `project_prices()`: Generates price projections using Monte Carlo simulation
## Strengths
- Well-calibrated uncertainty estimates for post-2013 data
- Handles exponential price growth naturally
- Balances complexity with interpretability
- Adapts to different market eras
## Possible Future Improvements
- Non-linear cycle progression
- Regime detection for market phases
- External factor incorporation
- Dynamic adjustment of parameters based on market conditions
- Improved handling of market transitions
## Usage Notes
The model works best when:
- Using post-2013 data
- Trained on at least one full cycle of data
- Used for medium-term projections (months to years)
- Interpreted probabilistically rather than as point forecasts
The confidence intervals should be understood as ranges of likely outcomes based on historical patterns, not hard bounds on future prices.
# Bitcoin Price Model Development Log
## Focus: Market Maturity Removal & CI Calibration
### Initial State
- Started with market maturity integrated model
- CI coverage was inconsistent across periods
- Complex behavior from maturity interactions
### Key Changes Made
1. Removed Market Maturity Component
- Eliminated volume-based calculations
- Removed efficiency metrics
- Simplified volatility calculations
2. Replaced with Direct Period Scaling
- Introduced period-specific base adjustments
- More granular era transitions
- Progressive scaling for early period
3. Simplified Volatility Calculation
- Standard weights (20/50/30 split)
- Direct period-based scaling factors
- Removed complex regime detection
4. Refined Uncertainty Growth
- Reduced maximum growth caps
- Simplified cycle position handling
- More conservative projection adjustments
### Final Performance
Recent (2016-2024):
- 68% CI: 69.0% (target achieved)
- MAPE: 11.7% (excellent)
Mid-Period (2015-2022):
- 68% CI: 56.1% (below target)
- Improved 95% CI performance
Early Period (2013-2020):
- Reduced excessive interval width
- Maintained good MAPE (23.4%)
### Key Learnings
1. Market maturity added complexity without clear benefits
2. Direct period scaling provides more controllable results
3. Simpler adjustments lead to more consistent performance
4. Period-specific calibration more effective than dynamic maturity
### Next Steps
1. Consider further tuning of mid-period coverage
2. Potential refinement of transition period handling
3. Explore alternative cycle position adjustments
4. Review projection adjustment caps
The model now provides more consistent and interpretable results while maintaining or improving key performance metrics.