Data workflow

The backend seeds an asset universe, ingests yfinance OHLCV history, collects public RSS news, deduplicates articles, links them to assets and persists all artifacts in PostgreSQL.

AI orchestration

FinBERT handles financial sentiment, sentence-transformers handles embeddings and semantic search, a lightweight LLM creates evidence-only explanations, and the time-series layer computes anomalies, volatility regimes and scenarios.

Signal scoring

The Blum Intelligence Score combines momentum, trend quality, technical indicators, volatility/risk, sentiment trend, semantic intensity, ETF confirmation and anomaly pressure.

Explainability

Each surfaced asset must expose why it appeared, which technical and narrative data support it, what contradicts it, what to monitor, and which risks limit confidence.

Backtesting

Historical validation reports hit rate, forward returns, max adverse excursion, max favorable excursion, false positives and methodology limits. It does not promise future performance.

Provider architecture

The first provider is yfinance. The backend isolates providers so future integrations can add licensed market data, estimates, filings, transcripts, ownership and portfolio systems.

Financial disclaimer

This project is for educational, research and technical case-study purposes only. It is not financial advice, an investment recommendation, a trading signal, or a substitute for regulated research, due diligence, valuation work, risk management or professional advice.