A machine learning-powered market signal dashboard that classifies short-term price direction using live technical indicators. Built with a FastAPI backend and a Next.js frontend. Originally a Streamlit app, rebuilt into a full separate backend/frontend architecture.
- AI-powered signals β an XGBoost Classifier trained on 2 years of hourly BTC-USD data classifies market trend as BUY or SELL.
- Live market data β every request fetches fresh data directly from Yahoo Finance (
yfinance) and computes all 24 indicators in real time. - Real price & RSI charts β interactive line charts (price with SMA/Bollinger Bands, and RSI with overbought/oversold reference lines) built from actual live indicator history.
- Multi-asset support β BTC-USD, ETH-USD, AAPL, GOOGL, TSLA. Since the model is trained only on BTC-USD, predictions for other assets are clearly flagged as less reliable.
- Dark mode β toggle between a soft light "market brief" theme and a dark variant, persisted across visits.
- Backend: FastAPI, XGBoost, scikit-learn, pandas, yfinance, deployed on Render
- Frontend: Next.js (App Router, JavaScript, Tailwind CSS), Recharts, deployed on Vercel
- Model: XGBoost Classifier, ~66.81% accuracy, trained on 730 days of hourly BTC-USD data, 24 engineered features
cd backend
python -m venv venv
venv\Scripts\Activate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reload
Runs at http://127.0.0.1:8000.
cd frontend
npm install
npm run dev
Runs at http://localhost:3000. Requires a .env.local file containing:
NEXT_PUBLIC_API_URL=http://127.0.0.1:8000
AetherQuant/
βββ backend/
β βββ app/
β β βββ main.py # FastAPI app: loads model, fetches live data, exposes /predict
β β βββ engine.py # Feature engineering: computes all 24 indicators
β β βββ aether_model.pkl # Pre-trained XGBoost pipeline
β βββ requirements.txt
βββ frontend/
β βββ app/
β β βββ layout.js # Fonts, metadata
β β βββ page.js # Main UI: ticker selector, signal card, price/RSI charts
β β βββ globals.css # Design tokens (light + dark theme variables)
β βββ package.json
βββ NoteBook/
β βββ explore.ipynb # Data exploration
βββ assets/
β βββ AetherQuant.gif
βββ engine.py # Root copy, used by train_model.py for reproducibility
βββ train_model.py # Model training script
The model is trained on 730 days of hourly BTC-USD data and achieves ~66.81% accuracy on unseen test data.
It analyzes 24 features spanning trend, volatility, momentum, and volume-weighted indicators (SMA, EMA, RSI, MACD, Bollinger Bands, ATR, OBV, VWAP, plus time-of-day/day-of-week) to classify whether price is likely to rise over the next hour.
Important caveat: the model is trained exclusively on BTC-USD. Predictions for other assets (ETH-USD, AAPL, GOOGL, TSLA) use the same model but on data it was never trained on β the app flags these as less reliable rather than presenting them with equal confidence.
Syed Ali Faraz β GitHub Profile
If you found this tool insightful, please give the repository a β!