A quantitative approach to identify Bitcoin buying opportunities using two independent valuation metrics.
Bitcoin enters a Double Undervaluation Buy Zone when BOTH conditions are met:
- Price < 200-Day DCA Cost - Current price is cheaper than the average cost of consistent buyers over the past 6-7 months
- Price < Power Law Trend - Current price is below Bitcoin's long-term fundamental value based on network growth effects
Using two independent metrics reduces false signals and identifies stronger buying opportunities.
- Historical Charts - Visualize when Bitcoin has been in the buy zone
- Real-Time Check - Get current valuation status
- Future Price Forecast - Calculate predicted Bitcoin price on any future date
- Strategy Backtesting - Test different investment strategies with historical data
- Distance to Buy Zone - See how much Bitcoin needs to drop to enter the zone
- Historical data update workflow is currently manual trigger only (
workflow_dispatch); cron schedule is intentionally commented out - Real-time check fetches live price from Yahoo Finance
- Note: Yahoo Finance BTC-USD data may have 1-2 day delay and typically excludes weekends (even though Bitcoin trades 24/7). This is a limitation of the data source, not the tool.
- Start/restart backend on port 8000:
lsof -i :8000 | awk 'NR!=1 {print $2}' | xargs kill -9; poetry run uvicorn dca_service.main:app --reload- Run DCA service tests with Poetry:
poetry run pytest dca_service/tests -vThe chart Macro Risk Score is a weighted blend of macro stress signals:
- Net Liquidity 90D change
- SOFR
- MOVE
- HY OAS
Default weights are defined in:
src/whenshouldubuybitcoin/visualization.py->MACRO_RISK_SCORE_WEIGHTS
Current defaults:
net_liquidity_90d_change:0.35sofr:0.20move:0.20hy_oas:0.25
To quickly tune weights:
- Edit
MACRO_RISK_SCORE_WEIGHTSinvisualization.py - Regenerate charts:
poetry run python main.pyTest different Bitcoin investment strategies without risking real money. All calculations run entirely in your browser.
Invest the same amount every day. Simple and consistent.
Invest your full monthly budget on a specific day each month (1-28). More realistic for most investors.
Dynamically adjust investment based on where current AHR999 ranks historically. Buy more when Bitcoin is cheaper.
Default Multipliers:
- Bottom 10% (EXTREME CHEAP): 5x daily investment
- 10-25% (Very Cheap): 2x daily investment
- 25-50% (Cheap): 1x daily investment
- 50-75% (Fair): 0x (no investment)
- 75-90% (Expensive): 0x (no investment)
- Top 10% (VERY EXPENSIVE): 0x (no investment)
Features:
- Fully customizable multipliers for each percentile tier
- Real-time display of daily investment amounts
- Unlimited budget mode option (ignore total budget constraints)
- Only available for historical backtests (requires AHR999 data)
- Total invested, final BTC balance, portfolio value
- Total return (%) and annualized return (%)
- Interactive chart showing portfolio growth over time
- Detailed transaction history with AHR999 values
DCA Cost = 200 / Σ(1/price_i)
Harmonic mean of the last 200 daily closing prices.
Trend = a × days^n
Fitted via linear regression on log-log transformed data. Models network effects (Metcalfe's Law) with decreasing growth rate over time.
This tool is for educational purposes only. Do your own research before making investment decisions.