Financial Insight
An AI-powered financial tracking platform that fetches real-time asset prices, aggregates news, and generates LLM insights via a Streamlit dashboard.
Overview
Financial Insight tracks gold futures and stock/ETF prices in real time, aggregates financial news from multiple RSS sources, and feeds the combined data to an LLM (OpenAI, Anthropic, or offline Ollama) to generate structured investment insights. An interactive Streamlit dashboard displays candlestick charts, a live news feed, and the AI insight panel. Built on top of a custom MCP tool architecture, it’s designed as the foundation for a future AI trading platform.
Key Features
- Real-time gold futures and stock/ETF prices via yfinance (no API key required)
- Multi-source financial news aggregation with optional Finnhub and NewsAPI enrichment
- Dual-mode LLM insights: online (OpenAI / Anthropic) or offline (Ollama) with auto-fallback
- APScheduler background refresh with market-hours awareness and price-change detection
- Async SQLite persistence (aiosqlite, WAL mode) with pub/sub event bus for reactivity
- Abstract
TradingStrategy/PortfolioManagerinterfaces ready for signal implementation
Technical Decisions
The MCP tool architecture was chosen to keep each capability (price fetch, news fetch, LLM call, data aggregation) as a self-contained BaseTool subclass — easy to test in isolation and extend without touching the core. Streamlit was preferred over a custom frontend to stay focused on data and analysis logic rather than UI plumbing. An event bus (price_updated, news_updated, insight_generated) decouples the scheduler from the dashboard so both can evolve independently. Ollama offline fallback ensures the platform remains functional without API keys or internet access.