Skip to content
haiderali.dev
activev0.3.0

Sentinel

Financial Intelligence Platform

Real-time data ingestion, anomaly detection, time-series forecasting, and news-sentiment analytics — served through a Bloomberg-style React dashboard with a FastAPI backend.

capabilities

What it does

7 Dashboard Pages

Market Overview, Anomalies, Forecasts, Technical Analysis, Fundamental Analysis, Portfolio, and Sentiment — all in a Bloomberg-style React SPA.

Anomaly Detection

Isolation Forest + LOF ensemble from PyOD, with severity labels and on-demand detection via API.

Forecasting

Prophet + XGBoost blended 50/50 with walk-forward cross-validation at 30/90-day horizons.

Portfolio Optimization

MPT, Black-Litterman, Kelly Criterion, and Blended allocation methods with efficient frontier visualization.

Drift Detection

PSI + KS tests on 11 features against a 180-day baseline, with email and Slack alerts.

CLI

stl ingest, stl ml-train, stl api-start — or stl all to run everything in sequence.

dashboard

7 React pages

Bloomberg-style dark theme with Plotly.js charts, lazy-loaded via React.lazy().

Overview
OHLCV candlesticks, KPI cards, top movers, auto-refresh
Anomalies
Severity-coded markers, score timeline, CSV export
Forecasts
Confidence bands, feature importance, model registry
Technical
86-field crypto snapshots — order book, funding, composites
Fundamental
71-field stock snapshots — income, balance, valuation
Portfolio
Efficient frontier, allocation treemap, method comparison
Sentiment
FinBERT scores, gauge, news timeline

architecture

How it's built

┌──────────────────────────────┐
│   FastAPI :7860              │
│   /api/v1/*  →  routers      │
│   /api/docs  →  Swagger UI   │
└──────────────┬───────────────┘
               │
┌──────────────▼───────────────┐
│   PostgreSQL (SQLAlchemy)    │
│   Supabase / local / managed │
└──────────────────────────────┘

Frontend: React 19 + Vite + Plotly.js (Render)
ML: PyOD · Prophet · XGBoost · FinBERT · MLflow

stack

Built with

Python 3.12FastAPISQLAlchemyReact 19VitePlotly.jsPyODProphetXGBoostFinBERTMLflowhermes-plt