Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crypto Price Tracker

Tracks BTC daily prices and CPI, computes CPI-adjusted BTC series, and visualizes nominal vs real in a simple Streamlit app.

Setup

  1. Create a virtual environment (recommended) and install deps:
python -m venv .venv
. .venv/Scripts/Activate.ps1  # PowerShell
pip install -r requirements.txt
  1. Optional: set a custom DB path (by default uses data/tracker.db):
$env:TRACKER_DB_PATH = "c:\\path\\to\\tracker.db"

Ingest Data

Run ingestion scripts (first CPI, then BTC):

python -m src.ingest_cpi
python -m src.ingest_crypto
python -m src.ingest_news

Or via helper script on Windows PowerShell:

scripts\run_all.ps1

Compute (CLI)

Compute CPI-adjusted series (defaults to BTC and earliest base date):

python -m src.compute --asset BTC --base-date 2015-01-01

Streamlit App

Launch the dashboard:

streamlit run app/streamlit_app.py

Use the sidebar to ingest top cryptos and choose a timeframe. Export chart data as CSV.

Track Top Cryptos and Insights

  • Click "Ingest/Refresh Top Cryptos" to fetch top N by market cap (CryptoCompare) and store daily prices.
  • Choose timeframe (7D/30D/90D use hourly data when available; 1Y/2Y/MAX use daily).
  • Select a single asset for a detail view with indicators (SMA20/50/200, RSI, MACD) and pattern insights (golden/death cross, 52w breakout, trend).
  • Use the chat box to ask about trend, RSI, MACD, and levels — the local assistant replies based on on-chart indicators (no external LLM required).
  • Select multiple assets to compare nominal prices on one chart.

Theme: The app uses a darker tech-themed palette with neon accents (config in .streamlit/config.toml). Optional dynamic globe background.

Intraday (Hourly) Data

  • Fetch hourly OHLCV for a symbol (last 60 days):
python -m src.ingest_intraday --symbol BTC --days 60
  • In the app’s sidebar, use “Ingest Hourly (SYMBOL) — 60D” under the detail view to pull hourly for the selected asset.

Sentiment & Backgrounds

  • News: python -m src.ingest_news aggregates headlines from CoinDesk, CoinTelegraph, Decrypt, The Block, Bloomberg Crypto, Reuters, CNBC, Fortune, Yahoo Finance, Bankless, Messari (and more) into the local database.
  • Fear & Greed: The Market Overview shows a Fear & Greed gauge and 90D history (Alternative.me API).
  • Social (X/Twitter): Set an env var to enable fetching recent tweets from your favorite creators.
$env:TWITTER_BEARER_TOKEN="<your_x_bearer_token>"
  • Backgrounds (Sidebar → Background): Neon Grid (animated), Starfield, Matrix Rain.

Notes

  • CPI series uses FRED CPIAUCSL (seasonally adjusted, monthly). It is forward-filled to daily to match price dates.
  • CoinGecko daily prices are used; latest observation may be T-1 depending on their feed.
  • All dates are treated as UTC and stored as YYYY-MM-DD.

Portfolio Experience

Bring up the terrestrial x cyberpunk portfolio showcase:

streamlit run app/portfolio_app.py

Update the links inside PROFILE["links"] in app/portfolio_app.py with your own handles to personalise the call-to-action buttons and sidebar shortcuts.

About

Crypto Price Tracker is a Streamlit-powered command center for watching markets in real time. Follow curated watchlists or add any token on the fly, then see live quotes, intraday charts, and 24-hour change snapshots update as the market moves. Behind the scenes the app caches API calls so refreshes stay snappy, while historical price panels and co

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages