Go to file
Sam Fredrickson ea8c2092a6 Mega-squash
Implement some basic backtesting.

Switch to simpler log-based projection.

Add improved vol calculation.

Implement trend smoothing.

Add Claude's notes on current model.

Run projections and backtests in parallel.

Add market maturity projection adjustments.

Improve volume handling in market maturity calculations.

New backtest suite proposed by Claude.

Fix create_plots() output.

Merge branch 'new-backtests' into market-maturity-backtests

Add era-aware market maturity adjustments.

Add updated notes from Claude.

Add justfile to simplify organizing results for comparison.

Run more projections from various start dates.

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.

Add Claude's notes from recent session.

More helpful additions to workflow.

New systematic backtest framework.

Add notes on new backtesting framework.

Use ruff linter.

Tweak the backtests.

* Start from 2011 instead of 2013.
* Validate over two years instead of one.

Improve uncertainty estimation.

Add Claude's notes from the last revision.

Add adaptive volatility window.

New, streamlined NOTES.

Fix projection plot bugs.

Update prices.csv.

Actually use long-term vol in adaptive calculation.

Use more conservative 1e-6 to prevent division by zero.

it's an error not to provide halving dates

warn when val period shorter than projection period

Update prices.csv

Manage output files in less-janky fashion.

Use market fundamentals intsead of empirical era adjustments.

Improve CI coverage.

Use S2F metrics for trend analysis.

update prices

Merge branch 'next' into mkt-fndm

Update prices.

Merge branch 'next' into mkt-fndm

Add CDPR plot.

Merge branch 'next' into mkt-fndm

Update prices.

Slight optimization to cdpr plot gen.

Update prices.

Merge branch 'next' into mkt-fndm

Add price to CDPR plot.

Update prices.

Add .private to .gitignore.

Update prices.
2024-12-19 23:58:42 -08:00
.gitignore Mega-squash 2024-12-19 23:58:42 -08:00
justfile Mega-squash 2024-12-19 23:58:42 -08:00
model.py Mega-squash 2024-12-19 23:58:42 -08:00
moneyshot.png Fix date of fifth halving. 2024-11-14 17:06:09 -08:00
NOTES.md Mega-squash 2024-12-19 23:58:42 -08:00
poetry.lock Initial commit. 2024-11-14 16:53:12 -08:00
prices.csv Mega-squash 2024-12-19 23:58:42 -08:00
pyproject.toml Give credit where it's due. 2024-11-14 16:54:42 -08:00
README.md Initial commit. 2024-11-14 16:53:12 -08:00

Bitcoin Price Model

I have no idea what I'm doing

Don't take this seriously. It's all in good fun.

I decided to have fun and ask Anthropic's Claude AI (3.6 Sonnet) to help build a Bitcoin price model, using data from Investing.com.

The model is still a mess: lots of redundant code as we went through various methods for projecting future prices; the plots' colors don't render correctly.

I feel like I'm dangerous enough to know what to ask for out of a model, but not knowledgeable enough evaluate whether what Claude produced actually makes any sense. (Stats class in college was a long time ago...)

tl;dr show me the projection!

As of writing (2024-11-14), here is what the model generates:

moooooon